@crewlethq/ui 0.77.0 → 0.78.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 +10 -0
- package/dist/AgentHandoffPanel/index.js +1 -1
- package/dist/AppShell/index.js +1 -1
- package/dist/ArtifactBar/index.js +5 -5
- package/dist/ArtifactCard/index.js +4 -4
- package/dist/AvatarPicker/index.js +5 -5
- package/dist/Canvas/index.js +1 -1
- package/dist/CanvasBoard/index.js +1 -1
- package/dist/CanvasToolbar/index.js +1 -1
- package/dist/CommandPalette/index.js +1 -1
- package/dist/CommentThread/index.js +1 -1
- package/dist/ContrastBadge/index.js +2 -2
- package/dist/ContrastHelp/index.js +3 -3
- package/dist/DataTable/index.js +1 -1
- package/dist/DataView/index.js +1 -1
- package/dist/DateTimePicker/index.js +1 -1
- package/dist/DescriptionList/DescriptionList.d.ts +8 -1
- package/dist/DescriptionList/index.js +1 -1
- package/dist/{DescriptionList-DEZISDLQ.css → DescriptionList-VF7NIBXA.css} +6 -0
- package/dist/DocTabsEditor/index.js +1 -1
- package/dist/FollowBanner/index.js +1 -1
- package/dist/HuePicker/index.js +4 -4
- package/dist/InlineEditor/index.js +1 -1
- package/dist/LinkInterstitial/index.js +1 -1
- package/dist/ListInput/index.js +1 -1
- package/dist/LogoSlot/index.js +3 -3
- package/dist/MarkdownEditor/index.js +5 -5
- package/dist/Menu/index.js +1 -1
- package/dist/MergeConflicts/index.js +5 -5
- package/dist/Modal/index.js +1 -1
- package/dist/ObjectHeader/index.js +1 -1
- package/dist/{ObjectHeader-7BGA56VQ.css → ObjectHeader-VKQSEJDN.css} +3 -2
- package/dist/PeekRail/index.js +1 -1
- package/dist/PresenterView/index.js +1 -1
- package/dist/PropertyList/index.js +3 -3
- package/dist/RichEditor/index.js +1 -1
- package/dist/SegmentedControl/index.js +4 -4
- package/dist/SelectionBar/index.js +1 -1
- package/dist/SetupWizard/index.js +2 -2
- package/dist/ShareDialog/index.js +1 -1
- package/dist/SheetColumnEditor/index.js +5 -5
- package/dist/SheetGrid/index.js +3 -3
- package/dist/SlideCompare/index.js +1 -1
- package/dist/SlideFilmstrip/index.js +1 -1
- package/dist/Switcher/index.js +1 -1
- package/dist/Tabs/Tabs.d.ts +20 -2
- package/dist/Tabs/fold.d.ts +3 -1
- package/dist/Tabs/index.js +2 -2
- package/dist/{Tabs-7ZK2UF75.css → Tabs-M2ELSU3V.css} +68 -0
- package/dist/ThemeSwitcher/index.js +5 -5
- package/dist/TileGrid/index.js +1 -1
- package/dist/{TileGrid-UYMVVVJK.css → TileGrid-XOEJ4P52.css} +3 -1
- package/dist/TimeRangePicker/index.js +5 -5
- package/dist/TimeWindowPicker/index.js +1 -1
- package/dist/TreeCanvas/index.js +1 -1
- package/dist/VersionCompare/index.js +5 -5
- package/dist/{chunk-25AZQ3GZ.js → chunk-36WK24AI.js} +1 -1
- package/dist/{chunk-HQOEAUDJ.js → chunk-4O5XNGDC.js} +1 -1
- package/dist/{chunk-S7WG53JB.js → chunk-AXEXOAZQ.js} +1 -1
- package/dist/{chunk-KXYZ5XS2.js → chunk-JIBZ5SF5.js} +1 -1
- package/dist/{chunk-ELNUZDFK.js → chunk-KP5DDOMF.js} +1 -1
- package/dist/{chunk-YLYIVN72.js → chunk-L5PK2MXF.js} +1 -1
- package/dist/{chunk-4HO3NX3B.js → chunk-LE6K34SN.js} +1 -1
- package/dist/{chunk-MFS6F2P7.js → chunk-LH4OF7FI.js} +3 -1
- package/dist/{chunk-KQQWGWCC.js → chunk-LPN3RHMA.js} +41 -18
- package/dist/{chunk-OWHETZIU.js → chunk-LWKMJMVC.js} +1 -1
- package/dist/{chunk-HIWPPWNY.js → chunk-OPVTNHPH.js} +2 -2
- package/dist/{chunk-A5HENOP2.js → chunk-PP5E3FGY.js} +1 -1
- package/dist/{chunk-WOTGQVHZ.js → chunk-PQDQTK64.js} +1 -1
- package/dist/{chunk-2LIGIIE2.js → chunk-QEVYTXCY.js} +1 -1
- package/dist/{chunk-VJ6SSEMG.js → chunk-SZ75VYRX.js} +1 -1
- package/dist/{chunk-UEEWK7SO.js → chunk-TNU6U7C5.js} +2 -2
- package/dist/{chunk-Q6CQMS6R.js → chunk-UFID3DSP.js} +1 -1
- package/dist/{chunk-SOERZJVJ.js → chunk-UQHTHOSZ.js} +1 -1
- package/dist/{chunk-P34YWECQ.js → chunk-Y7OXW5SB.js} +1 -1
- package/dist/generated/index.js +65 -65
- package/dist/index.js +65 -65
- package/dist/styles.css +84 -7
- package/package.json +3 -3
- package/dist/{Editor-MPNGVAWD.js → Editor-QO2GRTMK.js} +1 -1
- package/dist/{chunk-PD2GOJ5V.js → chunk-5EFLA6BW.js} +1 -1
- package/dist/{chunk-HYGCGN37.js → chunk-5N3MF7O2.js} +1 -1
- package/dist/{chunk-XL2RXAPT.js → chunk-HZHFXKVP.js} +2 -2
- package/dist/{chunk-7PJFUQMY.js → chunk-MGWFVAPN.js} +1 -1
package/dist/Switcher/index.js
CHANGED
|
@@ -10,8 +10,8 @@ import '../chunk-PQADV6P6.js';
|
|
|
10
10
|
import '../chunk-2G355KDJ.js';
|
|
11
11
|
import '../chunk-RTPQDNW3.js';
|
|
12
12
|
import '../chunk-DGXZ635L.js';
|
|
13
|
-
import '../chunk-OMV5W53A.js';
|
|
14
13
|
import '../chunk-XSPCITPN.js';
|
|
14
|
+
import '../chunk-OMV5W53A.js';
|
|
15
15
|
import '../chunk-H5XTJ7GJ.js';
|
|
16
16
|
import '../chunk-NUZHC6MM.js';
|
|
17
17
|
import '../chunk-UAUP6XGK.js';
|
package/dist/Tabs/Tabs.d.ts
CHANGED
|
@@ -96,7 +96,10 @@ export interface TabsProps {
|
|
|
96
96
|
size?: TabsSize;
|
|
97
97
|
/** Names the row. A tab row with no name is announced as "tab list" alone. */
|
|
98
98
|
ariaLabel?: string;
|
|
99
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* On the outermost element: the row; with overflow `menu` on a tab list, the
|
|
101
|
+
* box holding the row and "More"; with `actions`, the bar holding both.
|
|
102
|
+
*/
|
|
100
103
|
className?: string;
|
|
101
104
|
/** Currently active item value. */
|
|
102
105
|
value?: string;
|
|
@@ -122,6 +125,21 @@ export interface TabsProps {
|
|
|
122
125
|
* without `renderItem` ignores it.
|
|
123
126
|
*/
|
|
124
127
|
trailing?: ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Controls at the row's far end that act on the screen the tabs belong to,
|
|
130
|
+
* such as "Check now" or "New", in EITHER MODE.
|
|
131
|
+
*
|
|
132
|
+
* BESIDE THE ROW, NEVER IN IT. A tab list holds tabs alone, so the actions
|
|
133
|
+
* are the row's next sibling in one bar, and a screen reader meets the tab
|
|
134
|
+
* list and then the buttons, as the keyboard does: one stop for the tabs,
|
|
135
|
+
* then each action. In router mode they stand outside the navigation
|
|
136
|
+
* landmark for the same reason: an action is not a place.
|
|
137
|
+
*
|
|
138
|
+
* THE TABS GIVE WAY FIRST. The actions keep their own width at every size;
|
|
139
|
+
* the row takes what is left, and scrolls or folds into "More" inside it,
|
|
140
|
+
* so its slider and its fold are measured in that room.
|
|
141
|
+
*/
|
|
142
|
+
actions?: ReactNode;
|
|
125
143
|
/**
|
|
126
144
|
* What the row does with tabs it has no room for. `scroll` (the default)
|
|
127
145
|
* scrolls it. `menu` draws the tabs that FIT, in order, and folds the rest
|
|
@@ -174,7 +192,7 @@ export declare function tabId(panelId: string, value: string): string;
|
|
|
174
192
|
* says. In router mode that IS what the items are, so the root becomes a
|
|
175
193
|
* `nav`, the tab roles go, and the consumer's own link carries the state.
|
|
176
194
|
*/
|
|
177
|
-
export declare function Tabs({ items, variant, size, ariaLabel, className, value, onValueChange, panelId, renderItem, trailing, overflow, moreLabel, moreMenuLabel, note, ref, }: TabsProps): React.JSX.Element;
|
|
195
|
+
export declare function Tabs({ items, variant, size, ariaLabel, className, value, onValueChange, panelId, renderItem, trailing, actions, overflow, moreLabel, moreMenuLabel, note, ref, }: TabsProps): React.JSX.Element;
|
|
178
196
|
export interface TabPanelProps {
|
|
179
197
|
/** The same id the row was given as `panelId`. */
|
|
180
198
|
id: string;
|
package/dist/Tabs/fold.d.ts
CHANGED
|
@@ -51,4 +51,6 @@ export interface Fold {
|
|
|
51
51
|
* of links, and two for a tab list, which holds tabs alone and leaves "More"
|
|
52
52
|
* beside it, where the box's own gap and the row's chrome are counted too.
|
|
53
53
|
*/
|
|
54
|
-
export declare function useFold(enabled: boolean, box: RefObject<HTMLElement | null>, row: RefObject<HTMLElement | null>, values: readonly string[], current: string | undefined
|
|
54
|
+
export declare function useFold(enabled: boolean, box: RefObject<HTMLElement | null>, row: RefObject<HTMLElement | null>, values: readonly string[], current: string | undefined,
|
|
55
|
+
/** Anything else that moves the room the row has, such as actions arriving beside it. */
|
|
56
|
+
layout?: unknown): Fold;
|
package/dist/Tabs/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { TabPanel, Tabs, tabId } from '../chunk-
|
|
1
|
+
export { TabPanel, Tabs, tabId } from '../chunk-LPN3RHMA.js';
|
|
2
2
|
import '../chunk-EGMQURBR.js';
|
|
3
3
|
import '../chunk-CYQBDZ6M.js';
|
|
4
4
|
import '../chunk-MLDTLZAO.js';
|
|
5
5
|
import '../chunk-KNAHKQD4.js';
|
|
6
6
|
import '../chunk-DGXZ635L.js';
|
|
7
|
+
import '../chunk-XSPCITPN.js';
|
|
7
8
|
import '../chunk-OMV5W53A.js';
|
|
8
9
|
import '../chunk-2YTOOH3A.js';
|
|
9
|
-
import '../chunk-XSPCITPN.js';
|
|
10
10
|
import '../chunk-H5XTJ7GJ.js';
|
|
11
11
|
import '../chunk-NUZHC6MM.js';
|
|
12
12
|
import '../chunk-UAUP6XGK.js';
|
|
@@ -478,6 +478,74 @@
|
|
|
478
478
|
box-shadow: inset 0 -1px 0 var(--color-border-default);
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
+
/*
|
|
482
|
+
* THE BAR: a row and its actions. The row (or the box holding the row and
|
|
483
|
+
* "More") takes the room the actions leave and gives way first: it shrinks
|
|
484
|
+
* before an action does, scrolling or folding its tabs inside that room. An
|
|
485
|
+
* underline row fills the bar, so its rule and its fold are measured in the
|
|
486
|
+
* space the actions leave; a pill or chip row keeps its own width while it
|
|
487
|
+
* fits and scrolls once it does not, so a tab never paints under an action.
|
|
488
|
+
*/
|
|
489
|
+
.crewlet-tabs-host {
|
|
490
|
+
display: contents;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.crewlet-tabs-bar {
|
|
494
|
+
display: flex;
|
|
495
|
+
align-items: center;
|
|
496
|
+
gap: var(--spacing-3);
|
|
497
|
+
min-width: 0;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.crewlet-tabs-bar > .crewlet-tabs {
|
|
501
|
+
flex: 0 1 auto;
|
|
502
|
+
min-width: 0;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.crewlet-tabs-bar > .crewlet-tabs--underline,
|
|
506
|
+
.crewlet-tabs-bar > .crewlet-tabs-fold {
|
|
507
|
+
flex: 1 1 auto;
|
|
508
|
+
min-width: 0;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/* The scroll contract an underline row has on its own, for a pill or chip
|
|
512
|
+
row that must shrink beside its actions. Its ring is drawn inside the tab,
|
|
513
|
+
as the underline's is, because the scroller clips an outset one. */
|
|
514
|
+
.crewlet-tabs-bar > .crewlet-tabs--pill,
|
|
515
|
+
.crewlet-tabs-bar > .crewlet-tabs--chip {
|
|
516
|
+
overflow-x: auto;
|
|
517
|
+
scrollbar-width: none;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
.crewlet-tabs-bar > .crewlet-tabs--pill::-webkit-scrollbar,
|
|
521
|
+
.crewlet-tabs-bar > .crewlet-tabs--chip::-webkit-scrollbar {
|
|
522
|
+
display: none;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.crewlet-tabs-bar > .crewlet-tabs--pill .crewlet-tabs__tab:focus-visible,
|
|
526
|
+
.crewlet-tabs-bar > .crewlet-tabs--chip .crewlet-tabs__tab:focus-visible {
|
|
527
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
.crewlet-tabs__actions {
|
|
531
|
+
display: inline-flex;
|
|
532
|
+
flex: none;
|
|
533
|
+
align-items: center;
|
|
534
|
+
gap: var(--spacing-2);
|
|
535
|
+
margin-inline-start: auto;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/* The underline's rule runs on under the actions to the bar's edge, painted
|
|
539
|
+
on the same last pixel row the row's own border sits on. */
|
|
540
|
+
.crewlet-tabs-bar--underline {
|
|
541
|
+
align-items: stretch;
|
|
542
|
+
box-shadow: inset 0 -1px 0 var(--color-border-default);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.crewlet-tabs-bar--underline > .crewlet-tabs__actions {
|
|
546
|
+
align-self: center;
|
|
547
|
+
}
|
|
548
|
+
|
|
481
549
|
/*
|
|
482
550
|
* The slider ARRIVES rather than travels, and a chip changes without a fade.
|
|
483
551
|
* The indicator still moves; what stops is the animation between the two
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { DensitySwitcher, ThemeSwitcher } from '../chunk-
|
|
1
|
+
export { DensitySwitcher, ThemeSwitcher } from '../chunk-L5PK2MXF.js';
|
|
2
2
|
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
|
|
3
3
|
export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-36WK24AI.js';
|
|
5
|
+
import '../chunk-PQDQTK64.js';
|
|
6
|
+
import '../chunk-LPN3RHMA.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-CYQBDZ6M.js';
|
|
9
9
|
import '../chunk-MLDTLZAO.js';
|
|
10
10
|
import '../chunk-KNAHKQD4.js';
|
|
11
11
|
import '../chunk-DGXZ635L.js';
|
|
12
|
+
import '../chunk-XSPCITPN.js';
|
|
12
13
|
import '../chunk-OMV5W53A.js';
|
|
13
14
|
import '../chunk-2YTOOH3A.js';
|
|
14
|
-
import '../chunk-XSPCITPN.js';
|
|
15
15
|
import '../chunk-H5XTJ7GJ.js';
|
|
16
16
|
import '../chunk-NUZHC6MM.js';
|
|
17
17
|
import '../chunk-UAUP6XGK.js';
|
package/dist/TileGrid/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { TileGrid } from '../chunk-
|
|
1
|
+
export { TileGrid } from '../chunk-UFID3DSP.js';
|
|
2
2
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -46,7 +46,9 @@
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
@container crewlet-tile-grid (width < 28rem) {
|
|
49
|
-
|
|
49
|
+
/* As specific as the per-count rules above and after them, so a grid of two
|
|
50
|
+
or four folds to one here too, not only a grid of three. */
|
|
51
|
+
.crewlet-tile-grid[data-columns] > .crewlet-tile-grid__track {
|
|
50
52
|
--crewlet-tile-grid-tracks: 1;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-
|
|
1
|
+
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-JIBZ5SF5.js';
|
|
2
2
|
import '../chunk-C667GCU7.js';
|
|
3
3
|
import '../chunk-BPCY7ZID.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-36WK24AI.js';
|
|
5
|
+
import '../chunk-PQDQTK64.js';
|
|
6
|
+
import '../chunk-LPN3RHMA.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-CYQBDZ6M.js';
|
|
9
9
|
import '../chunk-6Q7RW2JJ.js';
|
|
@@ -13,9 +13,9 @@ import '../chunk-PQADV6P6.js';
|
|
|
13
13
|
import '../chunk-2G355KDJ.js';
|
|
14
14
|
import '../chunk-KNAHKQD4.js';
|
|
15
15
|
import '../chunk-DGXZ635L.js';
|
|
16
|
+
import '../chunk-XSPCITPN.js';
|
|
16
17
|
import '../chunk-OMV5W53A.js';
|
|
17
18
|
import '../chunk-2YTOOH3A.js';
|
|
18
|
-
import '../chunk-XSPCITPN.js';
|
|
19
19
|
import '../chunk-H5XTJ7GJ.js';
|
|
20
20
|
import '../chunk-NUZHC6MM.js';
|
|
21
21
|
import '../chunk-UAUP6XGK.js';
|
|
@@ -8,9 +8,9 @@ import '../chunk-PGCLHYVP.js';
|
|
|
8
8
|
import '../chunk-PQADV6P6.js';
|
|
9
9
|
import '../chunk-2G355KDJ.js';
|
|
10
10
|
import '../chunk-DGXZ635L.js';
|
|
11
|
+
import '../chunk-XSPCITPN.js';
|
|
11
12
|
import '../chunk-OMV5W53A.js';
|
|
12
13
|
import '../chunk-2YTOOH3A.js';
|
|
13
|
-
import '../chunk-XSPCITPN.js';
|
|
14
14
|
import '../chunk-H5XTJ7GJ.js';
|
|
15
15
|
import '../chunk-NUZHC6MM.js';
|
|
16
16
|
import '../chunk-UAUP6XGK.js';
|
package/dist/TreeCanvas/index.js
CHANGED
|
@@ -5,8 +5,8 @@ import '../chunk-LM3ISVJA.js';
|
|
|
5
5
|
import '../chunk-I33UIUZD.js';
|
|
6
6
|
import '../chunk-ANTAQAR4.js';
|
|
7
7
|
import '../chunk-DGXZ635L.js';
|
|
8
|
-
import '../chunk-OMV5W53A.js';
|
|
9
8
|
import '../chunk-XSPCITPN.js';
|
|
9
|
+
import '../chunk-OMV5W53A.js';
|
|
10
10
|
import '../chunk-H5XTJ7GJ.js';
|
|
11
11
|
import '../chunk-NUZHC6MM.js';
|
|
12
12
|
import '../chunk-UAUP6XGK.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-
|
|
1
|
+
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-UQHTHOSZ.js';
|
|
2
2
|
import '../chunk-AOFVXE6V.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-36WK24AI.js';
|
|
4
|
+
import '../chunk-PQDQTK64.js';
|
|
5
|
+
import '../chunk-LPN3RHMA.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-CYQBDZ6M.js';
|
|
8
8
|
import '../chunk-PPUR46MK.js';
|
|
@@ -10,9 +10,9 @@ import '../chunk-MLDTLZAO.js';
|
|
|
10
10
|
import '../chunk-PQADV6P6.js';
|
|
11
11
|
import '../chunk-KNAHKQD4.js';
|
|
12
12
|
import '../chunk-DGXZ635L.js';
|
|
13
|
+
import '../chunk-XSPCITPN.js';
|
|
13
14
|
import '../chunk-OMV5W53A.js';
|
|
14
15
|
import '../chunk-2YTOOH3A.js';
|
|
15
|
-
import '../chunk-XSPCITPN.js';
|
|
16
16
|
import '../chunk-H5XTJ7GJ.js';
|
|
17
17
|
import '../chunk-NUZHC6MM.js';
|
|
18
18
|
import '../chunk-UAUP6XGK.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Link } from './chunk-QF5UNP4T.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './ObjectHeader-
|
|
3
|
+
import './ObjectHeader-VKQSEJDN.css';
|
|
4
4
|
import { ArrowUpRightGlyph } from '@crewlethq/icons/glyphs';
|
|
5
5
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Modal } from './chunk-C667GCU7.js';
|
|
2
2
|
import { Callout } from './chunk-BPCY7ZID.js';
|
|
3
|
-
import { SegmentedControl } from './chunk-
|
|
3
|
+
import { SegmentedControl } from './chunk-PQDQTK64.js';
|
|
4
4
|
import { FormField, Input } from './chunk-6Q7RW2JJ.js';
|
|
5
5
|
import { Button } from './chunk-DGXZ635L.js';
|
|
6
6
|
import { useState } from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Select } from './chunk-VK45YJLH.js';
|
|
2
2
|
import { SHEET_LABELS, SHEET_COLUMN_TYPES, optionHue, retypeColumn } from './chunk-LFSIKGRQ.js';
|
|
3
|
-
import { HueSwatch } from './chunk-
|
|
3
|
+
import { HueSwatch } from './chunk-LE6K34SN.js';
|
|
4
4
|
import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
|
|
5
5
|
import { Checkbox } from './chunk-GKWZTTFV.js';
|
|
6
6
|
import { Kbd } from './chunk-ANTAQAR4.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useThemePreference, useDensityPreference } from './chunk-Z24ZUSTX.js';
|
|
2
|
-
import { SegmentedControl } from './chunk-
|
|
2
|
+
import { SegmentedControl } from './chunk-PQDQTK64.js';
|
|
3
3
|
import { SunGlyph, MonitorGlyph, MoonGlyph } from '@crewlethq/icons/glyphs';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
2
|
-
import './DescriptionList-
|
|
2
|
+
import './DescriptionList-VF7NIBXA.css';
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
function DescriptionList({
|
|
6
6
|
dense = false,
|
|
7
7
|
fit = false,
|
|
8
8
|
termWidth,
|
|
9
|
+
uniform = false,
|
|
9
10
|
items,
|
|
10
11
|
className,
|
|
11
12
|
style,
|
|
@@ -21,6 +22,7 @@ function DescriptionList({
|
|
|
21
22
|
"crewlet-description-list",
|
|
22
23
|
dense && "crewlet-description-list--dense",
|
|
23
24
|
fit && "crewlet-description-list--fit",
|
|
25
|
+
uniform && "crewlet-description-list--uniform",
|
|
24
26
|
className
|
|
25
27
|
),
|
|
26
28
|
children: [
|
|
@@ -6,7 +6,7 @@ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
|
6
6
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
7
7
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
8
8
|
import './HitArea-QUOS6ZDJ.css';
|
|
9
|
-
import './Tabs-
|
|
9
|
+
import './Tabs-M2ELSU3V.css';
|
|
10
10
|
import React, { useRef, useImperativeHandle, useLayoutEffect, useState } from 'react';
|
|
11
11
|
import { ChevronDownGlyph } from '@crewlethq/icons/glyphs';
|
|
12
12
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -44,7 +44,7 @@ function noteFits({
|
|
|
44
44
|
var NOTHING_FOLDED = { folded: [], note: true };
|
|
45
45
|
var px = (value) => parseFloat(value) || 0;
|
|
46
46
|
var widthOf = (el) => el ? el.getBoundingClientRect().width : 0;
|
|
47
|
-
function useFold(enabled, box, row, values, current) {
|
|
47
|
+
function useFold(enabled, box, row, values, current, layout = null) {
|
|
48
48
|
const [fold, setFold] = useState(NOTHING_FOLDED);
|
|
49
49
|
const signature = values.join("\n");
|
|
50
50
|
useLayoutEffect(() => {
|
|
@@ -81,7 +81,7 @@ function useFold(enabled, box, row, values, current) {
|
|
|
81
81
|
watch.observe(item);
|
|
82
82
|
}
|
|
83
83
|
return () => watch.disconnect();
|
|
84
|
-
}, [enabled, box, row, signature, current]);
|
|
84
|
+
}, [enabled, box, row, signature, current, layout]);
|
|
85
85
|
return enabled ? fold : NOTHING_FOLDED;
|
|
86
86
|
}
|
|
87
87
|
var FOLDED = { "aria-hidden": true, inert: true };
|
|
@@ -112,6 +112,7 @@ function Tabs({
|
|
|
112
112
|
panelId,
|
|
113
113
|
renderItem,
|
|
114
114
|
trailing,
|
|
115
|
+
actions,
|
|
115
116
|
overflow = "scroll",
|
|
116
117
|
moreLabel = "More",
|
|
117
118
|
moreMenuLabel,
|
|
@@ -122,6 +123,7 @@ function Tabs({
|
|
|
122
123
|
const boxRef = useRef(null);
|
|
123
124
|
const folding = overflow === "menu";
|
|
124
125
|
const boxed = folding && !renderItem;
|
|
126
|
+
const barred = actions !== void 0 && actions !== null && actions !== false;
|
|
125
127
|
useImperativeHandle(ref, () => boxed ? boxRef.current : navRef.current, [boxed]);
|
|
126
128
|
const { buttons, onKeyDown } = useRoving(items.length, null);
|
|
127
129
|
const fold = useFold(
|
|
@@ -129,7 +131,8 @@ function Tabs({
|
|
|
129
131
|
boxed ? boxRef : navRef,
|
|
130
132
|
navRef,
|
|
131
133
|
items.map((item) => item.value),
|
|
132
|
-
value
|
|
134
|
+
value,
|
|
135
|
+
barred
|
|
133
136
|
);
|
|
134
137
|
const isFolded = (item) => fold.folded.includes(item.value);
|
|
135
138
|
useLayoutEffect(() => {
|
|
@@ -161,13 +164,18 @@ function Tabs({
|
|
|
161
164
|
mutation.disconnect();
|
|
162
165
|
resize?.disconnect();
|
|
163
166
|
};
|
|
164
|
-
}, [variant, value, items]);
|
|
167
|
+
}, [variant, value, items, barred]);
|
|
168
|
+
useLayoutEffect(() => {
|
|
169
|
+
if (variant === "underline" || !barred) return;
|
|
170
|
+
const nav = navRef.current;
|
|
171
|
+
if (nav) reveal(nav);
|
|
172
|
+
}, [variant, value, items, barred]);
|
|
165
173
|
const rootClass = cx(
|
|
166
174
|
"crewlet-tabs",
|
|
167
175
|
`crewlet-tabs--${variant}`,
|
|
168
176
|
`crewlet-tabs--${size}`,
|
|
169
177
|
folding && "crewlet-tabs--fold",
|
|
170
|
-
!boxed && className
|
|
178
|
+
!boxed && !barred && className
|
|
171
179
|
);
|
|
172
180
|
const selected = tabStop(
|
|
173
181
|
items.map((item) => ({ disabled: item.disabled || isFolded(item) })),
|
|
@@ -274,21 +282,36 @@ function Tabs({
|
|
|
274
282
|
children: note
|
|
275
283
|
}
|
|
276
284
|
) : null;
|
|
285
|
+
const bar = (row) => /* @__PURE__ */ jsxs("div", { className: barred ? cx("crewlet-tabs-bar", `crewlet-tabs-bar--${variant}`, className) : "crewlet-tabs-host", children: [
|
|
286
|
+
row,
|
|
287
|
+
barred ? /* @__PURE__ */ jsx("div", { className: "crewlet-tabs__actions", "data-tabs-actions": "", children: actions }) : null
|
|
288
|
+
] });
|
|
277
289
|
if (renderItem) {
|
|
278
|
-
return
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
290
|
+
return bar(
|
|
291
|
+
/* @__PURE__ */ jsxs("nav", { ref: navRef, className: rootClass, "aria-label": ariaLabel, children: [
|
|
292
|
+
rows,
|
|
293
|
+
more,
|
|
294
|
+
noteNode,
|
|
295
|
+
folding && trailing ? /* @__PURE__ */ jsx("span", { className: "crewlet-tabs__trailing", "data-tabs-trailing": "", children: trailing }) : trailing
|
|
296
|
+
] })
|
|
297
|
+
);
|
|
284
298
|
}
|
|
285
299
|
const list = /* @__PURE__ */ jsx("div", { ref: navRef, className: rootClass, "aria-label": ariaLabel, role: "tablist", children: rows });
|
|
286
|
-
if (!boxed) return list;
|
|
287
|
-
return
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
300
|
+
if (!boxed) return bar(list);
|
|
301
|
+
return bar(
|
|
302
|
+
/* @__PURE__ */ jsxs(
|
|
303
|
+
"div",
|
|
304
|
+
{
|
|
305
|
+
ref: boxRef,
|
|
306
|
+
className: cx("crewlet-tabs-fold", `crewlet-tabs-fold--${variant}`, !barred && className),
|
|
307
|
+
children: [
|
|
308
|
+
list,
|
|
309
|
+
more,
|
|
310
|
+
noteNode
|
|
311
|
+
]
|
|
312
|
+
}
|
|
313
|
+
)
|
|
314
|
+
);
|
|
292
315
|
}
|
|
293
316
|
function TabPanel({ id, value, children, className }) {
|
|
294
317
|
return /* @__PURE__ */ jsx(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FileDrop, FilePickButton } from './chunk-KQWJWTED.js';
|
|
2
|
-
import { contrastRatio } from './chunk-
|
|
2
|
+
import { contrastRatio } from './chunk-MGWFVAPN.js';
|
|
3
3
|
import { normalizeHex } from './chunk-7W3LYIOC.js';
|
|
4
4
|
import { Button } from './chunk-DGXZ635L.js';
|
|
5
5
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SetByLine } from './chunk-
|
|
1
|
+
import { SetByLine } from './chunk-AXEXOAZQ.js';
|
|
2
2
|
import { Link } from './chunk-QF5UNP4T.js';
|
|
3
|
-
import { DescriptionList, DescriptionListItem } from './chunk-
|
|
3
|
+
import { DescriptionList, DescriptionListItem } from './chunk-LH4OF7FI.js';
|
|
4
4
|
import { EmptyValue } from './chunk-RE3FBGQQ.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './PropertyList-42MEVUXV.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Tooltip } from './chunk-I33UIUZD.js';
|
|
2
|
-
import { SegmentedControl } from './chunk-
|
|
2
|
+
import { SegmentedControl } from './chunk-PQDQTK64.js';
|
|
3
3
|
import { ArtifactIcon } from './chunk-AVL52EME.js';
|
|
4
4
|
import { isApplePlatform, Kbd } from './chunk-ANTAQAR4.js';
|
|
5
5
|
import { Menu } from './chunk-KNAHKQD4.js';
|
|
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
9
9
|
var engine = null;
|
|
10
10
|
var loading = null;
|
|
11
11
|
function loadEngine() {
|
|
12
|
-
loading ??= import('./Editor-
|
|
12
|
+
loading ??= import('./Editor-QO2GRTMK.js').then(
|
|
13
13
|
(module) => {
|
|
14
14
|
engine = module.Editor;
|
|
15
15
|
return engine;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Toolbar } from './chunk-NR4CPM4T.js';
|
|
2
|
-
import { SegmentedControl } from './chunk-
|
|
3
|
-
import { tabId } from './chunk-
|
|
2
|
+
import { SegmentedControl } from './chunk-PQDQTK64.js';
|
|
3
|
+
import { tabId } from './chunk-LPN3RHMA.js';
|
|
4
4
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './MarkdownEditor-BLCJRGDC.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { diffLines, diffStat, collapseDiff, DiffSummary, DiffView } from './chunk-AOFVXE6V.js';
|
|
2
|
-
import { SegmentedControl } from './chunk-
|
|
2
|
+
import { SegmentedControl } from './chunk-PQDQTK64.js';
|
|
3
3
|
import { EmptyState } from './chunk-PPUR46MK.js';
|
|
4
4
|
import { useHeadingLevel, headingTag, nextHeadingLevel, HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|