@crewlethq/ui 0.74.0 → 0.75.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 (72) hide show
  1. package/dist/ArtifactBar/index.js +1 -1
  2. package/dist/ArtifactCard/index.js +4 -4
  3. package/dist/Avatar/Avatar.d.ts +7 -2
  4. package/dist/Avatar/index.js +2 -2
  5. package/dist/{Avatar-FDQSCB7A.css → Avatar-VJSJGFRG.css} +48 -0
  6. package/dist/AvatarPicker/index.js +3 -3
  7. package/dist/CharacterPicker/index.js +2 -2
  8. package/dist/ChoiceButtons/index.js +1 -1
  9. package/dist/{ChoiceButtons-Q2ET3I2N.css → ChoiceButtons-G7XHZKDP.css} +7 -0
  10. package/dist/ColorChip/ColorChip.d.ts +6 -2
  11. package/dist/ColorChip/index.js +1 -1
  12. package/dist/{ColorChip-A5XHTH3J.css → ColorChip-EYQCUXBV.css} +23 -2
  13. package/dist/CommentThread/index.js +4 -4
  14. package/dist/{Editor-WZ5L4BI2.js → Editor-SSCCUK7P.js} +4 -3
  15. package/dist/EntityChip/index.js +3 -3
  16. package/dist/ImageUpload/index.js +3 -3
  17. package/dist/InlineRef/InlineRef.d.ts +73 -0
  18. package/dist/InlineRef/index.d.ts +3 -0
  19. package/dist/InlineRef/index.js +3 -0
  20. package/dist/InlineRef-SJWUKXGT.css +129 -0
  21. package/dist/Markdown/index.js +2 -1
  22. package/dist/OpenInAppCard/index.js +3 -2
  23. package/dist/OrgLabel/index.js +3 -3
  24. package/dist/OrgNode/index.js +4 -4
  25. package/dist/OrgTable/index.js +4 -4
  26. package/dist/PeopleRail/index.js +3 -3
  27. package/dist/PresenceStack/index.js +3 -3
  28. package/dist/Principal/index.js +3 -3
  29. package/dist/PrincipalPicker/index.js +4 -4
  30. package/dist/RichEditor/index.js +4 -3
  31. package/dist/RichEditorMarkdown/index.js +4 -3
  32. package/dist/ShareDialog/index.js +4 -4
  33. package/dist/SheetGrid/index.js +4 -4
  34. package/dist/TableCells/index.js +3 -3
  35. package/dist/ThemeGallery/index.js +2 -2
  36. package/dist/VersionTimeline/index.js +4 -4
  37. package/dist/chunk-266I4BJJ.js +70 -0
  38. package/dist/{chunk-CSQTDGTS.js → chunk-2DMTW2Y3.js} +1 -1
  39. package/dist/{chunk-O3HCFM3D.js → chunk-53J2YNQA.js} +1 -1
  40. package/dist/{chunk-OSKJZNBT.js → chunk-5XBNJNSO.js} +1 -1
  41. package/dist/{chunk-EVXXY75R.js → chunk-6LN64KGG.js} +1 -1
  42. package/dist/{chunk-3EETQFAM.js → chunk-6UBCZZWD.js} +2 -2
  43. package/dist/{chunk-QH6VYJ3X.js → chunk-7CSTEH5I.js} +1 -1
  44. package/dist/{chunk-YGWIWDXE.js → chunk-AB6F5YXX.js} +1 -1
  45. package/dist/{chunk-75S74BBK.js → chunk-B5K2YUD4.js} +2 -2
  46. package/dist/{chunk-BKP6XCAJ.js → chunk-BT3GB7HC.js} +2 -2
  47. package/dist/{chunk-7SYEOJLP.js → chunk-FXMYDXCI.js} +1 -1
  48. package/dist/{chunk-SWD4QBL6.js → chunk-GBASM5EV.js} +1 -1
  49. package/dist/{chunk-G4QZWVAB.js → chunk-GT2OG2XM.js} +1 -1
  50. package/dist/{chunk-SNQRGH4A.js → chunk-I22MUEG7.js} +1 -1
  51. package/dist/{chunk-PZKHBB7D.js → chunk-KTIQSSME.js} +12 -4
  52. package/dist/{chunk-EN4UJQ63.js → chunk-L3OL2WUH.js} +2 -2
  53. package/dist/{chunk-ONQKKHON.js → chunk-LM6VYJTV.js} +1 -1
  54. package/dist/{chunk-FWUX3F6Q.js → chunk-MUFBHVCT.js} +1 -1
  55. package/dist/{chunk-CI3VPIJN.js → chunk-N2BF272H.js} +1 -1
  56. package/dist/{chunk-MFQPGMJT.js → chunk-NU5RUT7Y.js} +1 -1
  57. package/dist/{chunk-DB7UVFOY.js → chunk-OXEOC64K.js} +2 -2
  58. package/dist/{chunk-RUBKDJAQ.js → chunk-OZAZHM55.js} +1 -1
  59. package/dist/{chunk-AGLONIVV.js → chunk-PKVWCKS2.js} +1 -1
  60. package/dist/{chunk-73SAOOR5.js → chunk-Q2T4L6ML.js} +1 -1
  61. package/dist/{chunk-6GTTRJWJ.js → chunk-QGWZN3KU.js} +1 -1
  62. package/dist/chunk-TWM6G2I2.js +1 -0
  63. package/dist/{chunk-56IFLQGF.js → chunk-ZQEJSEPS.js} +1 -1
  64. package/dist/{chunk-SMZPUHBL.js → chunk-ZWXHTXZO.js} +1 -1
  65. package/dist/generated/index.d.ts +1 -0
  66. package/dist/generated/index.js +63 -61
  67. package/dist/index.js +63 -61
  68. package/dist/styles.css +213 -5
  69. package/package.json +3 -3
  70. package/dist/{chunk-LWFOX3PB.js → chunk-BYNKGOBA.js} +1 -1
  71. /package/dist/{chunk-BAKPMH3S.js → chunk-KBZO4B33.js} +0 -0
  72. /package/dist/{chunk-ABGLGAFJ.js → chunk-KOJPDCGQ.js} +0 -0
@@ -4,8 +4,8 @@ import '../chunk-I33UIUZD.js';
4
4
  import '../chunk-TYIHFDMP.js';
5
5
  import '../chunk-IPUEVTRJ.js';
6
6
  import '../chunk-EGMQURBR.js';
7
- import '../chunk-AVL52EME.js';
8
7
  import '../chunk-WIATRXEJ.js';
8
+ import '../chunk-AVL52EME.js';
9
9
  import '../chunk-RSKW25Y5.js';
10
10
  import '../chunk-ANTAQAR4.js';
11
11
  import '../chunk-MLDTLZAO.js';
@@ -1,12 +1,12 @@
1
- export { ArtifactCard, ArtifactCardSkeleton, ArtifactPreviewGlyph } from '../chunk-3EETQFAM.js';
1
+ export { ArtifactCard, ArtifactCardSkeleton, ArtifactPreviewGlyph } from '../chunk-6UBCZZWD.js';
2
2
  import '../chunk-BRLZXYPA.js';
3
- import '../chunk-CI3VPIJN.js';
3
+ import '../chunk-N2BF272H.js';
4
4
  import '../chunk-EJNJMHQG.js';
5
5
  import '../chunk-RE3FBGQQ.js';
6
+ import '../chunk-BT3GB7HC.js';
7
+ import '../chunk-KTIQSSME.js';
6
8
  import '../chunk-4AUTALJA.js';
7
9
  import '../chunk-AV2DXAEL.js';
8
- import '../chunk-BKP6XCAJ.js';
9
- import '../chunk-PZKHBB7D.js';
10
10
  import '../chunk-NHLNHH4J.js';
11
11
  import '../chunk-PBCNINMB.js';
12
12
  import '../chunk-DOY3KC6I.js';
@@ -75,7 +75,12 @@ export declare const AVATAR_SIZES: {
75
75
  readonly lg: 40;
76
76
  };
77
77
  export type AvatarSizeStep = keyof typeof AVATAR_SIZES;
78
- export type AvatarSize = AvatarSizeStep | number;
78
+ /**
79
+ * A step, a number of px, or `text`: a face inside a sentence, sized by the
80
+ * words around it (1.15em square, a little taller than their capitals, so it
81
+ * reads as a face and costs the line no height where `InlineRef` sets it).
82
+ */
83
+ export type AvatarSize = AvatarSizeStep | number | 'text';
79
84
  /**
80
85
  * An agent's corner, as a share of its box.
81
86
  *
@@ -96,7 +101,7 @@ export interface AvatarProps extends HTMLAttributes<HTMLElement> {
96
101
  src?: string | undefined;
97
102
  /** The name behind the initials, and the image's alt text. */
98
103
  name?: string | undefined;
99
- /** A step, or a number of px. */
104
+ /** A step, a number of px, or `text` to be sized by the words around it. */
100
105
  size?: AvatarSize | undefined;
101
106
  /** An agent (the default) is a squircle; a human is a circle. */
102
107
  kind?: AvatarKind | undefined;
@@ -1,3 +1,3 @@
1
- export { AvatarStack, avatarStackLabel } from '../chunk-BKP6XCAJ.js';
2
- export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from '../chunk-PZKHBB7D.js';
1
+ export { AvatarStack, avatarStackLabel } from '../chunk-BT3GB7HC.js';
2
+ export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from '../chunk-KTIQSSME.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -80,6 +80,54 @@
80
80
  * 9px, in the component), so the step and its numeric twin draw one badge and
81
81
  * two initials clear the ring by a pixel or more.
82
82
  */
83
+ /*
84
+ * A FACE IN A SENTENCE (`size="text"`): its box is the words' own size, so
85
+ * it takes their font size and is measured in it, and its initials are set
86
+ * apart at half that (`.crewlet-avatar__initials`), since setting the box's
87
+ * own type would change what its em measures.
88
+ */
89
+ .crewlet-avatar--text {
90
+ --crewlet-avatar-size: 1.15em;
91
+ font-size: inherit;
92
+ /*
93
+ * AN INLINE BLOCK, not a flex box, because it sits inside words a reader
94
+ * copies: a browser copies a line break before an inline flex container,
95
+ * so "ask @miles" came out over two lines. Its face is centred by its line
96
+ * instead (`line-height` is its own height).
97
+ */
98
+ display: inline-block;
99
+ text-align: center;
100
+ line-height: var(--crewlet-avatar-size);
101
+ }
102
+
103
+ /* An image face is a block at every other size. */
104
+ .crewlet-avatar--text.crewlet-avatar--image {
105
+ display: inline-block;
106
+ }
107
+
108
+ /* A glyph face (a token's key) centred by the line too, never a flex box. */
109
+ .crewlet-avatar--text .crewlet-avatar__icon {
110
+ display: inline-block;
111
+ vertical-align: middle;
112
+ }
113
+
114
+ /* The character takes 74% of the box: the rest, shared above and below it. */
115
+ .crewlet-avatar--text .crewlet-avatar__character {
116
+ margin: 13% auto;
117
+ }
118
+
119
+ .crewlet-avatar__initials {
120
+ /*
121
+ * RELATIVE, like InlineCode's size and for its reason: the face sits in
122
+ * whatever register its sentence is set in, so its initials are half of
123
+ * that, never a step off the scale.
124
+ */
125
+ --crewlet-avatar-initials-size: 0.5em;
126
+ font-size: var(--crewlet-avatar-initials-size);
127
+ line-height: 1;
128
+ vertical-align: middle;
129
+ }
130
+
83
131
  .crewlet-avatar--xs {
84
132
  --crewlet-avatar-size: 20px;
85
133
  font-size: calc(var(--crewlet-avatar-size) * 0.45);
@@ -1,13 +1,13 @@
1
- export { AvatarPicker } from '../chunk-DB7UVFOY.js';
1
+ export { AvatarPicker } from '../chunk-OXEOC64K.js';
2
2
  import '../chunk-AQIFKLXY.js';
3
3
  import '../chunk-KHJIEPZV.js';
4
4
  import '../chunk-AYKXMIOR.js';
5
- import '../chunk-SNQRGH4A.js';
5
+ import '../chunk-I22MUEG7.js';
6
6
  import '../chunk-TYIHFDMP.js';
7
7
  import '../chunk-IPUEVTRJ.js';
8
8
  import '../chunk-EGMQURBR.js';
9
9
  import '../chunk-WIATRXEJ.js';
10
- import '../chunk-PZKHBB7D.js';
10
+ import '../chunk-KTIQSSME.js';
11
11
  import '../chunk-MLDTLZAO.js';
12
12
  import '../chunk-OQG4P5KU.js';
13
13
  import '../chunk-DGXZ635L.js';
@@ -1,5 +1,5 @@
1
1
  import '../chunk-3L5NHASN.js';
2
- export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-SNQRGH4A.js';
2
+ export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-I22MUEG7.js';
3
3
  import '../chunk-EGMQURBR.js';
4
- import '../chunk-PZKHBB7D.js';
4
+ import '../chunk-KTIQSSME.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -1,3 +1,3 @@
1
- export { ChoiceButtons } from '../chunk-7SYEOJLP.js';
1
+ export { ChoiceButtons } from '../chunk-FXMYDXCI.js';
2
2
  import '../chunk-UT6CW3C7.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -97,6 +97,13 @@
97
97
  background: var(--color-brand-accent);
98
98
  border-color: transparent;
99
99
  color: var(--color-text-on-accent);
100
+ /*
101
+ * A COLOUR OR A REFERENCE IN THE LABEL takes the label's own ink for its
102
+ * edge and its mark: the control border and the secondary grey are measured
103
+ * on the surfaces, and on the accent they all but vanish (1.09:1 light).
104
+ */
105
+ --crewlet-color-chip-ring: currentColor;
106
+ --crewlet-inline-ref-mark-ink: currentColor;
100
107
  }
101
108
 
102
109
  .crewlet-choice-buttons__option--recommended:hover:not([aria-disabled='true']) {
@@ -1,5 +1,9 @@
1
- /** `xs` is 12px, a mark inside a small button; `sm` is 16px, beside a word in a row. */
2
- export type ColorChipSize = 'xs' | 'sm';
1
+ /**
2
+ * `xs` is 12px, a mark inside a small button; `sm` is 16px, beside a word in a
3
+ * row; `text` is sized by the words around it, for a colour written inside a
4
+ * sentence, a code span or a button's label.
5
+ */
6
+ export type ColorChipSize = 'xs' | 'sm' | 'text';
3
7
  export type ColorChipShape = 'round' | 'square';
4
8
  export interface ColorChipProps {
5
9
  /**
@@ -1,3 +1,3 @@
1
- export { ColorChip } from '../chunk-6GTTRJWJ.js';
1
+ export { ColorChip } from '../chunk-QGWZN3KU.js';
2
2
  import '../chunk-7W3LYIOC.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -10,8 +10,15 @@
10
10
  width: var(--spacing-3);
11
11
  height: var(--spacing-3);
12
12
  background: var(--crewlet-color-chip-value, var(--color-surface-inset));
13
- /* An edge of its own, so a colour that matches its ground is still a chip. */
14
- box-shadow: inset 0 0 0 1px var(--color-border-hover);
13
+ /*
14
+ * AN EDGE OF ITS OWN, so a colour that matches its ground is still a chip,
15
+ * at the control border's step: it is the chip's boundary, a graphic a
16
+ * reader has to see (WCAG 1.4.11), and that step clears 3:1 on every ground
17
+ * in both themes. On a filled ground (an accent option) the ground sets
18
+ * `--crewlet-color-chip-ring` to its own label's ink, since a grey edge
19
+ * drawn on the accent nearly vanishes into it.
20
+ */
21
+ box-shadow: inset 0 0 0 1px var(--crewlet-color-chip-ring, var(--color-border-control));
15
22
  vertical-align: middle;
16
23
  }
17
24
 
@@ -20,6 +27,20 @@
20
27
  height: var(--spacing-4);
21
28
  }
22
29
 
30
+ /*
31
+ * AT THE TEXT'S SIZE, for a colour written in a sentence, a code span or a
32
+ * label: sized by the words around it, so it scales with any register, and
33
+ * nearly square, since a round chip at this size reads as a status dot.
34
+ */
35
+ .crewlet-color-chip--text {
36
+ width: 0.8em;
37
+ height: 0.8em;
38
+ }
39
+
40
+ .crewlet-color-chip--text.crewlet-color-chip--square {
41
+ border-radius: calc(var(--radius-xs) / 2);
42
+ }
43
+
23
44
  .crewlet-color-chip--round {
24
45
  border-radius: var(--radius-circle);
25
46
  }
@@ -1,9 +1,9 @@
1
- export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-YGWIWDXE.js';
2
- import '../chunk-CI3VPIJN.js';
1
+ export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-AB6F5YXX.js';
2
+ import '../chunk-N2BF272H.js';
3
3
  import '../chunk-EJNJMHQG.js';
4
4
  import '../chunk-RE3FBGQQ.js';
5
- import '../chunk-BKP6XCAJ.js';
6
- import '../chunk-PZKHBB7D.js';
5
+ import '../chunk-BT3GB7HC.js';
6
+ import '../chunk-KTIQSSME.js';
7
7
  import '../chunk-BXCL6P5Z.js';
8
8
  import '../chunk-5OFRDX66.js';
9
9
  import '../chunk-ANTAQAR4.js';
@@ -1,6 +1,7 @@
1
- import { schema, readMarkdown, writeMarkdown } from './chunk-QH6VYJ3X.js';
2
- import { richEditorLabels } from './chunk-CSQTDGTS.js';
3
- import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-BAKPMH3S.js';
1
+ import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
2
+ import { richEditorLabels } from './chunk-2DMTW2Y3.js';
3
+ import './chunk-KOJPDCGQ.js';
4
+ import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-KBZO4B33.js';
4
5
  import { Toolbar } from './chunk-NR4CPM4T.js';
5
6
  import { FormField, Input } from './chunk-ETSF7SU6.js';
6
7
  import './chunk-PGCLHYVP.js';
@@ -1,4 +1,4 @@
1
- export { EntityChip } from '../chunk-OSKJZNBT.js';
2
- import '../chunk-BKP6XCAJ.js';
3
- import '../chunk-PZKHBB7D.js';
1
+ export { EntityChip } from '../chunk-5XBNJNSO.js';
2
+ import '../chunk-BT3GB7HC.js';
3
+ import '../chunk-KTIQSSME.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { ImageUpload } from '../chunk-56IFLQGF.js';
2
- import '../chunk-BKP6XCAJ.js';
3
- import '../chunk-PZKHBB7D.js';
1
+ export { ImageUpload } from '../chunk-ZQEJSEPS.js';
2
+ import '../chunk-BT3GB7HC.js';
3
+ import '../chunk-KTIQSSME.js';
4
4
  import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,73 @@
1
+ import { type ReactNode } from 'react';
2
+ export type InlineRefMarkShape =
3
+ /** A vendor's mark, a kind's glyph or a colour chip: a square at the text's size. */
4
+ 'glyph'
5
+ /** A face (`Avatar size="text"`), which stands a little taller than the words. */
6
+ | 'face';
7
+ export interface InlineRefProps {
8
+ /**
9
+ * What the reference is, drawn before its words at the text's own size: a
10
+ * vendor's mark, a kind's glyph, a colour chip, a face. Decoration, hidden
11
+ * from assistive technology and left out of a copy: `kind` says it in words.
12
+ */
13
+ mark?: ReactNode;
14
+ /** `face` for an `Avatar size="text"`, which keeps its own box; `glyph` (the default) for the rest. */
15
+ markShape?: InlineRefMarkShape | undefined;
16
+ /**
17
+ * What the mark says, read before the words by a screen reader and never
18
+ * drawn: "GitHub" for `gophrase/backend#14`, "Slack" for `Message in
19
+ * gophrase`, "Colour" for `#ffe100`. The visible words stay in the name, so
20
+ * a voice user can say what they see.
21
+ */
22
+ kind?: string | undefined;
23
+ /** What the reference says: `gophrase/backend#14`, `~design-review`, `#ffe100`. */
24
+ children: ReactNode;
25
+ /**
26
+ * Where it goes. Only an `http:`, `https:` or `mailto:` address or an app
27
+ * route (`#/...`) is followed; anything else draws the reference as words,
28
+ * never as a link, so a caller cannot hand a sentence a `javascript:` one.
29
+ */
30
+ href?: string | undefined;
31
+ /** The whole of what it shortens, for a pointer reader: the full address. */
32
+ title?: string | undefined;
33
+ /** An identifier (a reference, a key, a commit) is set in mono, at `InlineCode`'s size. */
34
+ code?: boolean | undefined;
35
+ /**
36
+ * Words that wrap like the sentence around them: a link somebody labelled
37
+ * with a phrase. The mark and the first word still never part. Off, the
38
+ * reference is one token and moves to the next line whole.
39
+ */
40
+ wrap?: boolean | undefined;
41
+ /** Read after the words of a link that leaves the application. */
42
+ newTabLabel?: string | undefined;
43
+ className?: string | undefined;
44
+ }
45
+ /**
46
+ * A reference named inside a sentence: a link, a key, a commit, a seat or a
47
+ * colour, drawn with the mark that says what it is before its words.
48
+ *
49
+ * WHY IT EXISTS. Operator-facing text is full of things a reader has to stop
50
+ * and decode: `gophrase/backend#14` is a pull request on GitHub, `#ffe100` a
51
+ * yellow, `~design-review` a Mattermost channel. A mark at the text's own size
52
+ * says which before the words are read, and costs the line no height.
53
+ *
54
+ * NOT A CHIP. A `RecordChip` is a button that opens a peek of a record the
55
+ * host resolved; this is a link, or words, in the sentence's own ink, so the
56
+ * two never read as the same control.
57
+ *
58
+ * ITS NAME IS ITS WORDS. What the mark means (`kind`) is read before them and
59
+ * the new tab after them, both hidden from the eye; nothing REPLACES the
60
+ * visible words as the name, so a voice user says what they see. None of it,
61
+ * and none of the mark, is carried by a copy: what a reader copies is the
62
+ * words.
63
+ *
64
+ * A LINK THAT LEAVES THE APPLICATION opens a tab and withholds the referrer
65
+ * and the opener, as every link a sentence carries must: the words around it
66
+ * were often written by an agent from something it read elsewhere. An app
67
+ * route (`#/...`) is the application, and opens in place.
68
+ *
69
+ * NEVER A MARK ALONE AT A LINE'S END: the mark and the first word are one
70
+ * unbreakable run, and a reference that is not a phrase (`wrap`) moves to the
71
+ * next line whole.
72
+ */
73
+ export declare function InlineRef({ mark, markShape, kind, children, href, title, code, wrap, newTabLabel, className, }: InlineRefProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './InlineRef.css';
2
+ export { InlineRef } from './InlineRef.js';
3
+ export type { InlineRefProps } from './InlineRef.js';
@@ -0,0 +1,3 @@
1
+ export { InlineRef } from '../chunk-266I4BJJ.js';
2
+ import '../chunk-KBZO4B33.js';
3
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,129 @@
1
+ /*
2
+ * A reference inside a sentence (InlineRef.tsx): a mark at the text's size,
3
+ * then its words, in the sentence's own ink unless it is a link.
4
+ */
5
+
6
+ .crewlet-inline-ref {
7
+ /*
8
+ * InlineCode's size, restated because a consumer may import this component
9
+ * without that one's stylesheet; the suite holds the two equal.
10
+ */
11
+ --crewlet-inline-code-size: 0.92em;
12
+ /* THE SENTENCE'S OWN INK: a reference in a row or on a filled option reads in what is around it. */
13
+ color: inherit;
14
+ /* A token is one word to a reader, and moves to the next line whole. */
15
+ white-space: nowrap;
16
+ }
17
+
18
+ .crewlet-inline-ref--wrap {
19
+ white-space: normal;
20
+ }
21
+
22
+ /* The mark and the first word are one run, so no mark ever ends a line alone. */
23
+ .crewlet-inline-ref__head {
24
+ white-space: nowrap;
25
+ }
26
+
27
+ /*
28
+ * A LINK reads as one, in the accent's ink step as `Link` draws it. The
29
+ * underline is the words', never the mark's: an inline-block takes no
30
+ * decoration from the anchor around it.
31
+ */
32
+ .crewlet-inline-ref--link {
33
+ color: var(--color-brand-accent-ink);
34
+ text-decoration: none;
35
+ border-radius: var(--radius-xs);
36
+ }
37
+
38
+ .crewlet-inline-ref--link:hover {
39
+ text-decoration: underline;
40
+ }
41
+
42
+ .crewlet-inline-ref--link:focus-visible {
43
+ outline: 2px solid var(--color-focus);
44
+ outline-offset: 2px;
45
+ }
46
+
47
+ /*
48
+ * ONE SQUARE AT THE TEXT'S SIZE for every glyph, mark and chip, centred on
49
+ * the same line, so a GitHub mark beside one word and a task's glyph beside
50
+ * the next stand at the same height.
51
+ *
52
+ * AN INLINE BLOCK THAT CLIPS, because that is the one box whose baseline is
53
+ * its own bottom edge whatever it holds: an inline-flex box takes its first
54
+ * child's, so a vendor mark's `vertical-align: middle` put every mark a fifth
55
+ * of an em low, and a smaller colour chip moved its box a tenth of an em
56
+ * below the marks beside it. The drawing inside is centred in it.
57
+ */
58
+ .crewlet-inline-ref__mark {
59
+ display: inline-block;
60
+ overflow: hidden;
61
+ line-height: 0;
62
+ margin-inline-end: 0.3em;
63
+ /* A copy carries the words, never a picture's place. */
64
+ user-select: none;
65
+ }
66
+
67
+ .crewlet-inline-ref__mark--glyph {
68
+ width: 1em;
69
+ height: 1em;
70
+ vertical-align: -0.125em;
71
+ /*
72
+ * The words' quiet step, or the ink a filled ground asks for: on an accent
73
+ * fill a secondary grey is the one colour that does not read.
74
+ */
75
+ color: var(--crewlet-inline-ref-mark-ink, var(--color-text-secondary));
76
+ }
77
+
78
+ .crewlet-inline-ref__mark--glyph > * {
79
+ display: block;
80
+ position: relative;
81
+ top: 50%;
82
+ margin-inline: auto;
83
+ translate: 0 -50%;
84
+ }
85
+
86
+ .crewlet-inline-ref__mark--glyph > svg {
87
+ width: 100%;
88
+ height: 100%;
89
+ }
90
+
91
+ /*
92
+ * A FACE (`Avatar size="text"`) stands in a square a little larger than the
93
+ * words, and a little below their centre, so it reaches no higher than a
94
+ * capital and the line keeps its height. It fills its square from the top.
95
+ */
96
+ .crewlet-inline-ref__mark--face {
97
+ width: 1.15em;
98
+ height: 1.15em;
99
+ vertical-align: -0.22em;
100
+ }
101
+
102
+ .crewlet-inline-ref__mark--face > * {
103
+ vertical-align: top;
104
+ }
105
+
106
+ .crewlet-inline-ref--code .crewlet-inline-ref__text {
107
+ font-family: var(--font-family-mono);
108
+ font-size: var(--crewlet-inline-code-size);
109
+ /* An identifier is read character by character. */
110
+ font-variant-ligatures: none;
111
+ }
112
+
113
+ /*
114
+ * WHAT A SCREEN READER IS TOLD AND THE EYE IS NOT: what the mark means, and
115
+ * that a link opens a tab. Clipped as `VisuallyHidden` clips, and left out of
116
+ * a copy, which carries the words a reader selected.
117
+ */
118
+ .crewlet-inline-ref__said {
119
+ position: absolute;
120
+ width: 1px;
121
+ height: 1px;
122
+ margin: -1px;
123
+ padding: 0;
124
+ border: 0;
125
+ overflow: hidden;
126
+ clip-path: inset(50%);
127
+ white-space: pre;
128
+ user-select: none;
129
+ }
@@ -1 +1,2 @@
1
- export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-BAKPMH3S.js';
1
+ import '../chunk-KOJPDCGQ.js';
2
+ export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-KBZO4B33.js';
@@ -1,5 +1,6 @@
1
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4QZWVAB.js';
2
- import '../chunk-BAKPMH3S.js';
1
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-GT2OG2XM.js';
2
+ import '../chunk-KOJPDCGQ.js';
3
+ import '../chunk-KBZO4B33.js';
3
4
  import '../chunk-3LI4TRUR.js';
4
5
  import '../chunk-ZWCK4N4L.js';
5
6
  import '../chunk-NTQPJJAN.js';
@@ -1,4 +1,4 @@
1
- export { OrgLabel } from '../chunk-ONQKKHON.js';
2
- import '../chunk-BKP6XCAJ.js';
3
- import '../chunk-PZKHBB7D.js';
1
+ export { OrgLabel } from '../chunk-LM6VYJTV.js';
2
+ import '../chunk-BT3GB7HC.js';
3
+ import '../chunk-KTIQSSME.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-RUBKDJAQ.js';
2
- import '../chunk-ONQKKHON.js';
3
- import '../chunk-BKP6XCAJ.js';
4
- import '../chunk-PZKHBB7D.js';
1
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-OZAZHM55.js';
2
+ import '../chunk-LM6VYJTV.js';
3
+ import '../chunk-BT3GB7HC.js';
4
+ import '../chunk-KTIQSSME.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -1,10 +1,10 @@
1
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-FWUX3F6Q.js';
1
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-MUFBHVCT.js';
2
2
  import '../chunk-IL3XLDW7.js';
3
3
  import '../chunk-MY374UUD.js';
4
- import '../chunk-ONQKKHON.js';
4
+ import '../chunk-LM6VYJTV.js';
5
5
  import '../chunk-LM3ISVJA.js';
6
- import '../chunk-BKP6XCAJ.js';
7
- import '../chunk-PZKHBB7D.js';
6
+ import '../chunk-BT3GB7HC.js';
7
+ import '../chunk-KTIQSSME.js';
8
8
  import '../chunk-CVKANYHD.js';
9
9
  import '../chunk-OMV5W53A.js';
10
10
  import '../chunk-H5XTJ7GJ.js';
@@ -1,9 +1,9 @@
1
- export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-SMZPUHBL.js';
1
+ export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-ZWXHTXZO.js';
2
2
  import '../chunk-CENOOTAV.js';
3
3
  import '../chunk-Z7JYG5TF.js';
4
4
  import '../chunk-AYKXMIOR.js';
5
- import '../chunk-BKP6XCAJ.js';
6
- import '../chunk-PZKHBB7D.js';
5
+ import '../chunk-BT3GB7HC.js';
6
+ import '../chunk-KTIQSSME.js';
7
7
  import '../chunk-PQADV6P6.js';
8
8
  import '../chunk-DGXZ635L.js';
9
9
  import '../chunk-XSPCITPN.js';
@@ -1,9 +1,9 @@
1
- export { PresenceStack } from '../chunk-EVXXY75R.js';
1
+ export { PresenceStack } from '../chunk-6LN64KGG.js';
2
2
  import '../chunk-CENOOTAV.js';
3
3
  import '../chunk-EFX2YC5T.js';
4
4
  import '../chunk-Z7JYG5TF.js';
5
5
  import '../chunk-AYKXMIOR.js';
6
- import '../chunk-BKP6XCAJ.js';
7
- import '../chunk-PZKHBB7D.js';
6
+ import '../chunk-BT3GB7HC.js';
7
+ import '../chunk-KTIQSSME.js';
8
8
  import '../chunk-UT6CW3C7.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { PRINCIPAL_KINDS, PrincipalAvatar } from '../chunk-CI3VPIJN.js';
2
- import '../chunk-BKP6XCAJ.js';
3
- import '../chunk-PZKHBB7D.js';
1
+ export { PRINCIPAL_KINDS, PrincipalAvatar } from '../chunk-N2BF272H.js';
2
+ import '../chunk-BT3GB7HC.js';
3
+ import '../chunk-KTIQSSME.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { PrincipalPicker } from '../chunk-MFQPGMJT.js';
1
+ export { PrincipalPicker } from '../chunk-NU5RUT7Y.js';
2
2
  import '../chunk-ZUBFVK6B.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
- import '../chunk-CI3VPIJN.js';
5
- import '../chunk-BKP6XCAJ.js';
6
- import '../chunk-PZKHBB7D.js';
4
+ import '../chunk-N2BF272H.js';
5
+ import '../chunk-BT3GB7HC.js';
6
+ import '../chunk-KTIQSSME.js';
7
7
  import '../chunk-ETSF7SU6.js';
8
8
  import '../chunk-PGCLHYVP.js';
9
9
  import '../chunk-PQADV6P6.js';
@@ -1,6 +1,7 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-75S74BBK.js';
2
- export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
3
- import '../chunk-BAKPMH3S.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-B5K2YUD4.js';
2
+ export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
3
+ import '../chunk-KOJPDCGQ.js';
4
+ import '../chunk-KBZO4B33.js';
4
5
  import '../chunk-BPCY7ZID.js';
5
6
  import '../chunk-BRLZXYPA.js';
6
7
  import '../chunk-DGXZ635L.js';
@@ -1,3 +1,4 @@
1
- export { canonicalMarkdown, roundTripMarkdown } from '../chunk-SWD4QBL6.js';
2
- import '../chunk-QH6VYJ3X.js';
3
- import '../chunk-BAKPMH3S.js';
1
+ export { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
2
+ import '../chunk-7CSTEH5I.js';
3
+ import '../chunk-KOJPDCGQ.js';
4
+ import '../chunk-KBZO4B33.js';
@@ -1,4 +1,4 @@
1
- export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-73SAOOR5.js';
1
+ export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-Q2T4L6ML.js';
2
2
  import '../chunk-VK45YJLH.js';
3
3
  import '../chunk-C667GCU7.js';
4
4
  import '../chunk-T5GBTXNC.js';
@@ -6,9 +6,9 @@ import '../chunk-STJ7QBC3.js';
6
6
  import '../chunk-DTIW4CHZ.js';
7
7
  import '../chunk-7KHM2FZH.js';
8
8
  import '../chunk-BPCY7ZID.js';
9
- import '../chunk-CI3VPIJN.js';
10
- import '../chunk-BKP6XCAJ.js';
11
- import '../chunk-PZKHBB7D.js';
9
+ import '../chunk-N2BF272H.js';
10
+ import '../chunk-BT3GB7HC.js';
11
+ import '../chunk-KTIQSSME.js';
12
12
  import '../chunk-PQADV6P6.js';
13
13
  import '../chunk-RTPQDNW3.js';
14
14
  import '../chunk-DGXZ635L.js';
@@ -1,4 +1,4 @@
1
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-EN4UJQ63.js';
1
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-L3OL2WUH.js';
2
2
  import '../chunk-UEOEBOBR.js';
3
3
  import '../chunk-CENOOTAV.js';
4
4
  import '../chunk-MMCYH5LB.js';
@@ -8,11 +8,11 @@ import '../chunk-LFSIKGRQ.js';
8
8
  import '../chunk-Z7JYG5TF.js';
9
9
  import '../chunk-KHJIEPZV.js';
10
10
  import '../chunk-AYKXMIOR.js';
11
- import '../chunk-I5OIKDX2.js';
12
11
  import '../chunk-I33UIUZD.js';
12
+ import '../chunk-I5OIKDX2.js';
13
13
  import '../chunk-WIATRXEJ.js';
14
- import '../chunk-BKP6XCAJ.js';
15
- import '../chunk-PZKHBB7D.js';
14
+ import '../chunk-BT3GB7HC.js';
15
+ import '../chunk-KTIQSSME.js';
16
16
  import '../chunk-2G355KDJ.js';
17
17
  import '../chunk-OQG4P5KU.js';
18
18
  import '../chunk-DGXZ635L.js';