@crewlethq/ui 0.75.1 → 0.75.3

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.
@@ -1,3 +1,3 @@
1
- export { ChoiceButtons } from '../chunk-FXMYDXCI.js';
1
+ export { ChoiceButtons } from '../chunk-C3SCONKY.js';
2
2
  import '../chunk-UT6CW3C7.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -124,6 +124,27 @@
124
124
  outline-offset: 2px;
125
125
  }
126
126
 
127
+ /*
128
+ * THE RECOMMENDED OPTION, CHOSEN, is drawn as every chosen option is: the
129
+ * selected edge over the soft selected fill, in the primary ink, its mark kept
130
+ * so a reader still sees which option was recommended. The chosen rule swapped
131
+ * the accent fill for the soft one and left the accent's own ink behind, white
132
+ * on a pale tint, under 1.5:1 in the light theme. Held under the pointer and
133
+ * the press too, which otherwise bring the accent back.
134
+ */
135
+ .crewlet-choice-buttons__option--recommended.is-chosen,
136
+ .crewlet-choice-buttons__option--recommended.is-chosen:hover:not([aria-disabled='true']),
137
+ .crewlet-choice-buttons__option--recommended.is-chosen:active:not([aria-disabled='true']) {
138
+ border-color: var(--color-border-selected);
139
+ background: var(--color-surface-selected);
140
+ color: var(--color-text-primary);
141
+ }
142
+
143
+ /* Off the accent, the ring is drawn over the selected edge again. */
144
+ .crewlet-choice-buttons__option--recommended.is-chosen:focus-visible {
145
+ outline-offset: var(--size-focus-ring-inset-offset);
146
+ }
147
+
127
148
  .crewlet-choice-buttons__text {
128
149
  display: grid;
129
150
  gap: 2px;
@@ -145,6 +166,11 @@
145
166
  color: var(--color-text-on-accent);
146
167
  }
147
168
 
169
+ /* Chosen, it is off the accent, and the detail takes its tertiary step again. */
170
+ .crewlet-choice-buttons__option--recommended.is-chosen .crewlet-choice-buttons__detail {
171
+ color: var(--color-text-tertiary);
172
+ }
173
+
148
174
  /*
149
175
  * The mark, in the micro-label register. Full ink rather than a faded one:
150
176
  * eleven pixels of white on the accent clears 4.5:1 only at full strength.
@@ -1,3 +1,3 @@
1
- export { InlineRef } from '../chunk-KOHVIDZ5.js';
1
+ export { InlineRef } from '../chunk-JGDCVLD4.js';
2
2
  import '../chunk-KBZO4B33.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -51,18 +51,16 @@
51
51
  *
52
52
  * 0.85em AND A GAP OF 0.15em: at the text's full size and a gap twice that,
53
53
  * a mark read as a word of its own beside its reference rather than as part
54
- * of it. The square stays centred where the full-size one was (0.375em above
55
- * the baseline), so the words around a mark do not move.
54
+ * of it.
56
55
  *
57
- * AN INLINE BLOCK THAT CLIPS, because that is the one box whose baseline is
58
- * its own bottom edge whatever it holds: an inline-flex box takes its first
59
- * child's, so a vendor mark's `vertical-align: middle` put every mark a fifth
60
- * of an em low, and a smaller colour chip moved its box a tenth of an em
61
- * below the marks beside it. The drawing inside is centred in it.
56
+ * AN INLINE BLOCK HOLDING ONE BLOCK, because that is a box whose baseline is
57
+ * its own bottom edge whatever it draws: it has no line box of its own, so
58
+ * CSS 2.1 puts its baseline at its bottom margin edge. An inline-flex box
59
+ * takes its first child's, so a vendor mark's `vertical-align: middle` put
60
+ * every mark a fifth of an em low. The drawing inside is centred in it.
62
61
  */
63
62
  .crewlet-inline-ref__mark {
64
63
  display: inline-block;
65
- overflow: hidden;
66
64
  line-height: 0;
67
65
  margin-inline-end: 0.15em;
68
66
  /* A copy carries the words, never a picture's place. */
@@ -72,8 +70,12 @@
72
70
  .crewlet-inline-ref__mark--glyph {
73
71
  width: 0.85em;
74
72
  height: 0.85em;
75
- /* Its centre at 0.375em: -0.05em + 0.85em / 2. */
76
- vertical-align: -0.05em;
73
+ /*
74
+ * Its centre at 0.275em above the baseline: -0.15em + 0.85em / 2. At
75
+ * 0.375em, a mark stood a pixel or two above the words' own middle beside
76
+ * a lower-case reference, which reads lower than a capital's.
77
+ */
78
+ vertical-align: -0.15em;
77
79
  /*
78
80
  * The words' quiet step, or the ink a filled ground asks for: on an accent
79
81
  * fill a secondary grey is the one colour that does not read.
@@ -81,7 +83,17 @@
81
83
  color: var(--crewlet-inline-ref-mark-ink, var(--color-text-secondary));
82
84
  }
83
85
 
84
- .crewlet-inline-ref__mark--glyph > * {
86
+ /*
87
+ * THE DRAWING IS A BLOCK, whatever its own stylesheet says: a vendor mark
88
+ * draws itself `inline-block` and `vertical-align: middle` (VendorMark.css),
89
+ * and at one class each the later rule won, so the square held a line box,
90
+ * took its baseline from the drawing, and was clipped to keep the mark in
91
+ * place. The clip then cut the drawing's antialiased edge, and a GitHub mark,
92
+ * which fills its square edge to edge, lost its right side at 13px. Two
93
+ * classes here win over the drawing's one, the square holds no line box, and
94
+ * nothing is clipped.
95
+ */
96
+ .crewlet-inline-ref .crewlet-inline-ref__mark--glyph > * {
85
97
  display: block;
86
98
  position: relative;
87
99
  top: 50%;
@@ -103,6 +115,11 @@
103
115
  width: 1.15em;
104
116
  height: 1.15em;
105
117
  vertical-align: -0.22em;
118
+ /*
119
+ * A FACE IS INLINE, so its square holds a line box, and the clip is what
120
+ * puts the square's baseline at its bottom edge.
121
+ */
122
+ overflow: hidden;
106
123
  }
107
124
 
108
125
  .crewlet-inline-ref__mark--face > * {
@@ -1,7 +1,7 @@
1
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-VFXTISVM.js';
1
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-GT2OG2XM.js';
2
2
  import '../chunk-KOJPDCGQ.js';
3
- import '../chunk-3LI4TRUR.js';
4
3
  import '../chunk-KBZO4B33.js';
4
+ import '../chunk-3LI4TRUR.js';
5
5
  import '../chunk-ZWCK4N4L.js';
6
6
  import '../chunk-NTQPJJAN.js';
7
7
  import '../chunk-I5OIKDX2.js';
@@ -1,6 +1,6 @@
1
1
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './ChoiceButtons-G7XHZKDP.css';
3
+ import './ChoiceButtons-3MJQAHHA.css';
4
4
  import { useId } from 'react';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { safeHref } from './chunk-KBZO4B33.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './InlineRef-XPONK2VO.css';
3
+ import './InlineRef-ZF42HAPI.css';
4
4
  import { Children } from 'react';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6
 
@@ -17,13 +17,13 @@ export { ThemeGallery } from '../chunk-LWFOX3PB.js';
17
17
  export { ThemeSwatch } from '../chunk-3XQUEF5C.js';
18
18
  export { DensitySwitcher, ThemeSwitcher } from '../chunk-4OX2WVXO.js';
19
19
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
20
- export { Statement } from '../chunk-MZJKPTA5.js';
21
20
  export { Switcher } from '../chunk-TF74KS36.js';
22
21
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-PKVWCKS2.js';
23
22
  export { SlideGrid } from '../chunk-7MGXHCVK.js';
24
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-4TMBAOXK.js';
25
24
  export { StatCard } from '../chunk-G5IZGAWS.js';
26
25
  export { StatGroup } from '../chunk-OUD75UB2.js';
26
+ export { Statement } from '../chunk-MZJKPTA5.js';
27
27
  export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-HDF4OGVD.js';
28
28
  export { TagGroup } from '../chunk-UEOEBOBR.js';
29
29
  export { matchesShortcut, useShortcut } from '../chunk-AYHIF6DH.js';
@@ -48,9 +48,9 @@ export { SearchTrigger } from '../chunk-ERNT3UTB.js';
48
48
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-G4CGDUCP.js';
49
49
  export { NavGroup, NavItem, SidebarNav } from '../chunk-WCDPFTJZ.js';
50
50
  export { RecordChip, RecordChipList } from '../chunk-BFM5G2Z6.js';
51
- export { REFUSAL_CARD_LABELS, RefusalCard } from '../chunk-RQHN4J5P.js';
52
51
  export { RelatedRow } from '../chunk-CNEHFH2A.js';
53
52
  export { Text } from '../chunk-QP2P6GDQ.js';
53
+ export { REFUSAL_CARD_LABELS, RefusalCard } from '../chunk-RQHN4J5P.js';
54
54
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-JXJNX7QQ.js';
55
55
  export { Table } from '../chunk-75NQV4R4.js';
56
56
  export { ReviewList } from '../chunk-DO4J4TBZ.js';
@@ -70,7 +70,7 @@ export { PresenterView, formatStopwatch } from '../chunk-PRN5IP2R.js';
70
70
  export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
71
71
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-RMEBFYL7.js';
72
72
  export { FactLine, ObjectHeader, SetByLine } from '../chunk-S7WG53JB.js';
73
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-VFXTISVM.js';
73
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-GT2OG2XM.js';
74
74
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-OZAZHM55.js';
75
75
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-MUFBHVCT.js';
76
76
  export { TreeGrid } from '../chunk-IL3XLDW7.js';
@@ -85,20 +85,20 @@ export { ListInput, withDraft } from '../chunk-UHW7EXWQ.js';
85
85
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
86
86
  export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from '../chunk-CQFQGAZI.js';
87
87
  export { LockedLabel } from '../chunk-TEV5REGB.js';
88
- export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
89
88
  import '../chunk-KOJPDCGQ.js';
89
+ export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
90
90
  export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-GAT75MN4.js';
91
91
  export { LAYERS_LIST_LABELS, LayersList } from '../chunk-VUYNNILP.js';
92
- export { Link } from '../chunk-QF5UNP4T.js';
93
92
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-ZAC7SKUN.js';
93
+ export { Link } from '../chunk-QF5UNP4T.js';
94
94
  export { LinkInterstitial, openExternal } from '../chunk-JD7P2GJP.js';
95
95
  export { List, ListItem } from '../chunk-PS5ZYIA6.js';
96
96
  export { ListDetail } from '../chunk-YBC2CYPD.js';
97
- export { IconTile } from '../chunk-3LI4TRUR.js';
97
+ export { ImageUpload } from '../chunk-ZQEJSEPS.js';
98
98
  export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from '../chunk-QPHD4UUG.js';
99
99
  export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
100
100
  export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-4DL2BQJE.js';
101
- export { InlineRef } from '../chunk-KOHVIDZ5.js';
101
+ export { InlineRef } from '../chunk-JGDCVLD4.js';
102
102
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-KBZO4B33.js';
103
103
  export { FollowBanner } from '../chunk-JT7WRPZ6.js';
104
104
  export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from '../chunk-F6V2PTN6.js';
@@ -107,9 +107,9 @@ export { IDLE_AFTER_MS, useFullscreen, useIdle } from '../chunk-W5XCNEZC.js';
107
107
  export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
108
108
  import '../chunk-MICRGE3J.js';
109
109
  import '../chunk-FFMCMSJB.js';
110
- export { ImageUpload } from '../chunk-ZQEJSEPS.js';
111
- export { Eyebrow } from '../chunk-RK4XPHVG.js';
110
+ export { IconTile } from '../chunk-3LI4TRUR.js';
112
111
  export { FactList } from '../chunk-CSXJIIO4.js';
112
+ export { Eyebrow } from '../chunk-RK4XPHVG.js';
113
113
  export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-KQWJWTED.js';
114
114
  export { FileList } from '../chunk-5WRWBDML.js';
115
115
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-IWZG7NPV.js';
@@ -128,8 +128,8 @@ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTo
128
128
  export { DescriptionList, DescriptionListItem } from '../chunk-MFS6F2P7.js';
129
129
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from '../chunk-AOFVXE6V.js';
130
130
  export { DirectoryList } from '../chunk-SRDNGGZE.js';
131
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-EEVATVP5.js';
132
131
  export { Divider } from '../chunk-6KWNXIDE.js';
132
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-EEVATVP5.js';
133
133
  export { CursorFlag } from '../chunk-MMCYH5LB.js';
134
134
  export { PresenceRing, presenceHueClass } from '../chunk-EFX2YC5T.js';
135
135
  export { ChooserList, ColumnChooser, DATA_GRID_ICON_TRACK, DataGrid, columnChoicesOf, countDataGridRows, fitGridColumns, nextGridSort, parseGridSort, useAnyDataGridDriving, useDataGridDriving } from '../chunk-TQCSQRKQ.js';
@@ -137,20 +137,20 @@ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS
137
137
  export { PageHeader } from '../chunk-FPDIHEM4.js';
138
138
  export { FILTER_PILL_LABELS, FILTER_PILL_WORDS_CLASS, FilterPill, filterPillSentence } from '../chunk-K4LZXSKZ.js';
139
139
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-ILF6KVNK.js';
140
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-SWLVR54P.js';
141
140
  export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-R6K62EXV.js';
141
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-SWLVR54P.js';
142
+ export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-5M64E3HV.js';
142
143
  export { CommandPalette } from '../chunk-SAUIIBNA.js';
143
144
  export { ConfirmModal, Modal } from '../chunk-C667GCU7.js';
144
- export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-5M64E3HV.js';
145
145
  export { ConfirmField, confirmMatches } from '../chunk-CFXDWGQI.js';
146
146
  export { InlineCode } from '../chunk-PLL7ZJHY.js';
147
147
  export { CONFLICT_NOTE_LABELS, ConflictNote } from '../chunk-B3PK2LND.js';
148
148
  export { Container } from '../chunk-HJO4WCH6.js';
149
149
  export { ContrastHelp } from '../chunk-IO374IX6.js';
150
150
  export { ContrastBadge, ContrastLevelTag, contrastLevel, contrastRatio, formatContrastRatio } from '../chunk-KWLH45YC.js';
151
- export { ChoiceButtons } from '../chunk-FXMYDXCI.js';
152
- export { CodeBlock } from '../chunk-QSWQJX27.js';
151
+ export { ChoiceButtons } from '../chunk-C3SCONKY.js';
153
152
  export { ChoiceList } from '../chunk-NQABJAUY.js';
153
+ export { CodeBlock } from '../chunk-QSWQJX27.js';
154
154
  export { ColorChip } from '../chunk-C6T4VBEY.js';
155
155
  export { ColorField } from '../chunk-CMTLQOJY.js';
156
156
  export { ColorSwatch } from '../chunk-6FBPFG3C.js';
package/dist/index.js CHANGED
@@ -17,13 +17,13 @@ export { ThemeGallery } from './chunk-LWFOX3PB.js';
17
17
  export { ThemeSwatch } from './chunk-3XQUEF5C.js';
18
18
  export { DensitySwitcher, ThemeSwitcher } from './chunk-4OX2WVXO.js';
19
19
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
20
- export { Statement } from './chunk-MZJKPTA5.js';
21
20
  export { Switcher } from './chunk-TF74KS36.js';
22
21
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from './chunk-PKVWCKS2.js';
23
22
  export { SlideGrid } from './chunk-7MGXHCVK.js';
24
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-4TMBAOXK.js';
25
24
  export { StatCard } from './chunk-G5IZGAWS.js';
26
25
  export { StatGroup } from './chunk-OUD75UB2.js';
26
+ export { Statement } from './chunk-MZJKPTA5.js';
27
27
  export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-HDF4OGVD.js';
28
28
  export { TagGroup } from './chunk-UEOEBOBR.js';
29
29
  export { matchesShortcut, useShortcut } from './chunk-AYHIF6DH.js';
@@ -48,9 +48,9 @@ export { SearchTrigger } from './chunk-ERNT3UTB.js';
48
48
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-G4CGDUCP.js';
49
49
  export { NavGroup, NavItem, SidebarNav } from './chunk-WCDPFTJZ.js';
50
50
  export { RecordChip, RecordChipList } from './chunk-BFM5G2Z6.js';
51
- export { REFUSAL_CARD_LABELS, RefusalCard } from './chunk-RQHN4J5P.js';
52
51
  export { RelatedRow } from './chunk-CNEHFH2A.js';
53
52
  export { Text } from './chunk-QP2P6GDQ.js';
53
+ export { REFUSAL_CARD_LABELS, RefusalCard } from './chunk-RQHN4J5P.js';
54
54
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-JXJNX7QQ.js';
55
55
  export { Table } from './chunk-75NQV4R4.js';
56
56
  export { ReviewList } from './chunk-DO4J4TBZ.js';
@@ -70,7 +70,7 @@ export { PresenterView, formatStopwatch } from './chunk-PRN5IP2R.js';
70
70
  export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
71
71
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-RMEBFYL7.js';
72
72
  export { FactLine, ObjectHeader, SetByLine } from './chunk-S7WG53JB.js';
73
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-VFXTISVM.js';
73
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-GT2OG2XM.js';
74
74
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-OZAZHM55.js';
75
75
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-MUFBHVCT.js';
76
76
  export { TreeGrid } from './chunk-IL3XLDW7.js';
@@ -85,20 +85,20 @@ export { ListInput, withDraft } from './chunk-UHW7EXWQ.js';
85
85
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
86
86
  export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from './chunk-CQFQGAZI.js';
87
87
  export { LockedLabel } from './chunk-TEV5REGB.js';
88
- export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
89
88
  import './chunk-KOJPDCGQ.js';
89
+ export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
90
90
  export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-GAT75MN4.js';
91
91
  export { LAYERS_LIST_LABELS, LayersList } from './chunk-VUYNNILP.js';
92
- export { Link } from './chunk-QF5UNP4T.js';
93
92
  export { AutoGrid, Inline, Spacer, Stack } from './chunk-ZAC7SKUN.js';
93
+ export { Link } from './chunk-QF5UNP4T.js';
94
94
  export { LinkInterstitial, openExternal } from './chunk-JD7P2GJP.js';
95
95
  export { List, ListItem } from './chunk-PS5ZYIA6.js';
96
96
  export { ListDetail } from './chunk-YBC2CYPD.js';
97
- export { IconTile } from './chunk-3LI4TRUR.js';
97
+ export { ImageUpload } from './chunk-ZQEJSEPS.js';
98
98
  export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from './chunk-QPHD4UUG.js';
99
99
  export { IndicatorAnchor } from './chunk-27MJPU7G.js';
100
100
  export { INLINE_EDITOR_LABELS, InlineEditor } from './chunk-4DL2BQJE.js';
101
- export { InlineRef } from './chunk-KOHVIDZ5.js';
101
+ export { InlineRef } from './chunk-JGDCVLD4.js';
102
102
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-KBZO4B33.js';
103
103
  export { FollowBanner } from './chunk-JT7WRPZ6.js';
104
104
  export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from './chunk-F6V2PTN6.js';
@@ -107,9 +107,9 @@ export { IDLE_AFTER_MS, useFullscreen, useIdle } from './chunk-W5XCNEZC.js';
107
107
  export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js';
108
108
  import './chunk-MICRGE3J.js';
109
109
  import './chunk-FFMCMSJB.js';
110
- export { ImageUpload } from './chunk-ZQEJSEPS.js';
111
- export { Eyebrow } from './chunk-RK4XPHVG.js';
110
+ export { IconTile } from './chunk-3LI4TRUR.js';
112
111
  export { FactList } from './chunk-CSXJIIO4.js';
112
+ export { Eyebrow } from './chunk-RK4XPHVG.js';
113
113
  export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from './chunk-KQWJWTED.js';
114
114
  export { FileList } from './chunk-5WRWBDML.js';
115
115
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from './chunk-IWZG7NPV.js';
@@ -128,8 +128,8 @@ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTo
128
128
  export { DescriptionList, DescriptionListItem } from './chunk-MFS6F2P7.js';
129
129
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from './chunk-AOFVXE6V.js';
130
130
  export { DirectoryList } from './chunk-SRDNGGZE.js';
131
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-EEVATVP5.js';
132
131
  export { Divider } from './chunk-6KWNXIDE.js';
132
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-EEVATVP5.js';
133
133
  export { CursorFlag } from './chunk-MMCYH5LB.js';
134
134
  export { PresenceRing, presenceHueClass } from './chunk-EFX2YC5T.js';
135
135
  export { ChooserList, ColumnChooser, DATA_GRID_ICON_TRACK, DataGrid, columnChoicesOf, countDataGridRows, fitGridColumns, nextGridSort, parseGridSort, useAnyDataGridDriving, useDataGridDriving } from './chunk-TQCSQRKQ.js';
@@ -137,20 +137,20 @@ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS
137
137
  export { PageHeader } from './chunk-FPDIHEM4.js';
138
138
  export { FILTER_PILL_LABELS, FILTER_PILL_WORDS_CLASS, FilterPill, filterPillSentence } from './chunk-K4LZXSKZ.js';
139
139
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from './chunk-ILF6KVNK.js';
140
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-SWLVR54P.js';
141
140
  export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-R6K62EXV.js';
141
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-SWLVR54P.js';
142
+ export { COMMENT_THREAD_LABELS, CommentThread } from './chunk-5M64E3HV.js';
142
143
  export { CommandPalette } from './chunk-SAUIIBNA.js';
143
144
  export { ConfirmModal, Modal } from './chunk-C667GCU7.js';
144
- export { COMMENT_THREAD_LABELS, CommentThread } from './chunk-5M64E3HV.js';
145
145
  export { ConfirmField, confirmMatches } from './chunk-CFXDWGQI.js';
146
146
  export { InlineCode } from './chunk-PLL7ZJHY.js';
147
147
  export { CONFLICT_NOTE_LABELS, ConflictNote } from './chunk-B3PK2LND.js';
148
148
  export { Container } from './chunk-HJO4WCH6.js';
149
149
  export { ContrastHelp } from './chunk-IO374IX6.js';
150
150
  export { ContrastBadge, ContrastLevelTag, contrastLevel, contrastRatio, formatContrastRatio } from './chunk-KWLH45YC.js';
151
- export { ChoiceButtons } from './chunk-FXMYDXCI.js';
152
- export { CodeBlock } from './chunk-QSWQJX27.js';
151
+ export { ChoiceButtons } from './chunk-C3SCONKY.js';
153
152
  export { ChoiceList } from './chunk-NQABJAUY.js';
153
+ export { CodeBlock } from './chunk-QSWQJX27.js';
154
154
  export { ColorChip } from './chunk-C6T4VBEY.js';
155
155
  export { ColorField } from './chunk-CMTLQOJY.js';
156
156
  export { ColorSwatch } from './chunk-6FBPFG3C.js';
package/dist/styles.css CHANGED
@@ -10103,7 +10103,7 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
10103
10103
  }
10104
10104
 
10105
10105
 
10106
- /* ChoiceButtons-G7XHZKDP.css */
10106
+ /* ChoiceButtons-3MJQAHHA.css */
10107
10107
  /*
10108
10108
  * One answer, sent with one press: a column of buttons as tall as a touch
10109
10109
  * target, the recommended one first and filled with the accent.
@@ -10230,6 +10230,27 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
10230
10230
  outline-offset: 2px;
10231
10231
  }
10232
10232
 
10233
+ /*
10234
+ * THE RECOMMENDED OPTION, CHOSEN, is drawn as every chosen option is: the
10235
+ * selected edge over the soft selected fill, in the primary ink, its mark kept
10236
+ * so a reader still sees which option was recommended. The chosen rule swapped
10237
+ * the accent fill for the soft one and left the accent's own ink behind, white
10238
+ * on a pale tint, under 1.5:1 in the light theme. Held under the pointer and
10239
+ * the press too, which otherwise bring the accent back.
10240
+ */
10241
+ .crewlet-choice-buttons__option--recommended.is-chosen,
10242
+ .crewlet-choice-buttons__option--recommended.is-chosen:hover:not([aria-disabled='true']),
10243
+ .crewlet-choice-buttons__option--recommended.is-chosen:active:not([aria-disabled='true']) {
10244
+ border-color: var(--color-border-selected);
10245
+ background: var(--color-surface-selected);
10246
+ color: var(--color-text-primary);
10247
+ }
10248
+
10249
+ /* Off the accent, the ring is drawn over the selected edge again. */
10250
+ .crewlet-choice-buttons__option--recommended.is-chosen:focus-visible {
10251
+ outline-offset: var(--size-focus-ring-inset-offset);
10252
+ }
10253
+
10233
10254
  .crewlet-choice-buttons__text {
10234
10255
  display: grid;
10235
10256
  gap: 2px;
@@ -10251,6 +10272,11 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
10251
10272
  color: var(--color-text-on-accent);
10252
10273
  }
10253
10274
 
10275
+ /* Chosen, it is off the accent, and the detail takes its tertiary step again. */
10276
+ .crewlet-choice-buttons__option--recommended.is-chosen .crewlet-choice-buttons__detail {
10277
+ color: var(--color-text-tertiary);
10278
+ }
10279
+
10254
10280
  /*
10255
10281
  * The mark, in the micro-label register. Full ink rather than a faded one:
10256
10282
  * eleven pixels of white on the accent clears 4.5:1 only at full strength.
@@ -20387,7 +20413,7 @@ a.crewlet-icon-btn {
20387
20413
  }
20388
20414
 
20389
20415
 
20390
- /* InlineRef-XPONK2VO.css */
20416
+ /* InlineRef-ZF42HAPI.css */
20391
20417
  /*
20392
20418
  * A reference inside a sentence (InlineRef.tsx): a mark a little below the
20393
20419
  * text's size, then its words, in the sentence's own ink unless it is a link.
@@ -20441,18 +20467,16 @@ a.crewlet-icon-btn {
20441
20467
  *
20442
20468
  * 0.85em AND A GAP OF 0.15em: at the text's full size and a gap twice that,
20443
20469
  * a mark read as a word of its own beside its reference rather than as part
20444
- * of it. The square stays centred where the full-size one was (0.375em above
20445
- * the baseline), so the words around a mark do not move.
20470
+ * of it.
20446
20471
  *
20447
- * AN INLINE BLOCK THAT CLIPS, because that is the one box whose baseline is
20448
- * its own bottom edge whatever it holds: an inline-flex box takes its first
20449
- * child's, so a vendor mark's `vertical-align: middle` put every mark a fifth
20450
- * of an em low, and a smaller colour chip moved its box a tenth of an em
20451
- * below the marks beside it. The drawing inside is centred in it.
20472
+ * AN INLINE BLOCK HOLDING ONE BLOCK, because that is a box whose baseline is
20473
+ * its own bottom edge whatever it draws: it has no line box of its own, so
20474
+ * CSS 2.1 puts its baseline at its bottom margin edge. An inline-flex box
20475
+ * takes its first child's, so a vendor mark's `vertical-align: middle` put
20476
+ * every mark a fifth of an em low. The drawing inside is centred in it.
20452
20477
  */
20453
20478
  .crewlet-inline-ref__mark {
20454
20479
  display: inline-block;
20455
- overflow: hidden;
20456
20480
  line-height: 0;
20457
20481
  margin-inline-end: 0.15em;
20458
20482
  /* A copy carries the words, never a picture's place. */
@@ -20462,8 +20486,12 @@ a.crewlet-icon-btn {
20462
20486
  .crewlet-inline-ref__mark--glyph {
20463
20487
  width: 0.85em;
20464
20488
  height: 0.85em;
20465
- /* Its centre at 0.375em: -0.05em + 0.85em / 2. */
20466
- vertical-align: -0.05em;
20489
+ /*
20490
+ * Its centre at 0.275em above the baseline: -0.15em + 0.85em / 2. At
20491
+ * 0.375em, a mark stood a pixel or two above the words' own middle beside
20492
+ * a lower-case reference, which reads lower than a capital's.
20493
+ */
20494
+ vertical-align: -0.15em;
20467
20495
  /*
20468
20496
  * The words' quiet step, or the ink a filled ground asks for: on an accent
20469
20497
  * fill a secondary grey is the one colour that does not read.
@@ -20471,7 +20499,17 @@ a.crewlet-icon-btn {
20471
20499
  color: var(--crewlet-inline-ref-mark-ink, var(--color-text-secondary));
20472
20500
  }
20473
20501
 
20474
- .crewlet-inline-ref__mark--glyph > * {
20502
+ /*
20503
+ * THE DRAWING IS A BLOCK, whatever its own stylesheet says: a vendor mark
20504
+ * draws itself `inline-block` and `vertical-align: middle` (VendorMark.css),
20505
+ * and at one class each the later rule won, so the square held a line box,
20506
+ * took its baseline from the drawing, and was clipped to keep the mark in
20507
+ * place. The clip then cut the drawing's antialiased edge, and a GitHub mark,
20508
+ * which fills its square edge to edge, lost its right side at 13px. Two
20509
+ * classes here win over the drawing's one, the square holds no line box, and
20510
+ * nothing is clipped.
20511
+ */
20512
+ .crewlet-inline-ref .crewlet-inline-ref__mark--glyph > * {
20475
20513
  display: block;
20476
20514
  position: relative;
20477
20515
  top: 50%;
@@ -20493,6 +20531,11 @@ a.crewlet-icon-btn {
20493
20531
  width: 1.15em;
20494
20532
  height: 1.15em;
20495
20533
  vertical-align: -0.22em;
20534
+ /*
20535
+ * A FACE IS INLINE, so its square holds a line box, and the clip is what
20536
+ * puts the square's baseline at its bottom edge.
20537
+ */
20538
+ overflow: hidden;
20496
20539
  }
20497
20540
 
20498
20541
  .crewlet-inline-ref__mark--face > * {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.75.1",
3
+ "version": "0.75.3",
4
4
  "description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "clean": "rm -rf dist src/generated"
43
43
  },
44
44
  "dependencies": {
45
- "@crewlethq/icons": "0.75.1",
46
- "@crewlethq/tokens": "0.75.1",
45
+ "@crewlethq/icons": "0.75.3",
46
+ "@crewlethq/tokens": "0.75.3",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,5 +1,5 @@
1
- import { IconTile } from './chunk-3LI4TRUR.js';
2
1
  import { safeHref } from './chunk-KBZO4B33.js';
2
+ import { IconTile } from './chunk-3LI4TRUR.js';
3
3
  import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
4
4
  import { StatusCard } from './chunk-NTQPJJAN.js';
5
5
  import { ButtonLink, Button } from './chunk-DGXZ635L.js';