@crewlethq/ui 0.52.1 → 0.53.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 +18 -0
- package/dist/AgentHandoffPanel/index.js +8 -8
- package/dist/ArrangeFrame/index.js +2 -2
- package/dist/ArrangeList/index.js +5 -5
- package/dist/ArtifactBar/index.js +7 -7
- package/dist/ArtifactCard/index.js +6 -6
- package/dist/ArtifactMakeRow/index.js +2 -2
- package/dist/AvatarPicker/index.js +7 -7
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/CanvasToolbar/index.js +3 -3
- package/dist/CharacterPicker/index.js +2 -2
- package/dist/Checkbox/index.js +4 -4
- package/dist/ColorField/index.js +4 -4
- package/dist/Combobox/index.js +5 -5
- package/dist/CommandPalette/index.js +8 -8
- package/dist/CommentThread/index.js +8 -8
- package/dist/Composer/index.js +5 -5
- package/dist/ConfirmField/index.js +4 -4
- package/dist/DataGrid/index.js +6 -6
- package/dist/DataTable/index.js +7 -7
- package/dist/DataView/index.js +10 -10
- package/dist/DatasetSource/index.js +1 -1
- package/dist/DocTabsEditor/index.js +5 -5
- package/dist/{Editor-ECT7XZNS.js → Editor-RAUVEXLG.js} +5 -5
- package/dist/FolderTile/FolderTile.d.ts +20 -13
- package/dist/FolderTile/index.d.ts +1 -1
- package/dist/FolderTile/index.js +1 -1
- package/dist/{FolderTile-MIUEB7SO.css → FolderTile-NM7CRTVH.css} +168 -29
- package/dist/HuePicker/index.js +4 -4
- package/dist/InlineEditor/index.js +1 -1
- package/dist/Input/index.js +3 -3
- package/dist/LinkInterstitial/index.js +3 -3
- package/dist/ListInput/index.js +6 -6
- package/dist/LogoSlot/index.js +1 -1
- package/dist/{LogoSlot-37RQBUCR.css → LogoSlot-NAJE5XY3.css} +9 -0
- package/dist/MarkdownEditor/index.js +4 -4
- package/dist/MergeConflicts/index.js +4 -4
- package/dist/Modal/index.js +2 -2
- package/dist/OrgTable/index.js +1 -1
- package/dist/PeopleRail/index.js +2 -2
- package/dist/PrincipalPicker/index.js +6 -6
- package/dist/RichEditor/index.js +1 -1
- package/dist/SegmentedControl/index.js +3 -3
- package/dist/SelectionBar/index.js +2 -2
- package/dist/SetupWizard/index.js +2 -2
- package/dist/ShareDialog/index.js +3 -3
- package/dist/SheetColumnEditor/index.js +11 -11
- package/dist/SheetGrid/index.js +4 -4
- package/dist/SlideFilmstrip/index.js +3 -3
- package/dist/Switcher/index.js +6 -6
- package/dist/TableCells/index.js +1 -1
- package/dist/Tabs/index.js +2 -2
- package/dist/TagsInput/index.js +2 -2
- package/dist/ThemeSwitcher/index.js +4 -4
- package/dist/TimeWindowPicker/index.js +5 -5
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/VersionCompare/index.js +6 -6
- package/dist/{chunk-PGYIDNGG.js → chunk-362TAJUQ.js} +2 -2
- package/dist/{chunk-U3LNU4B2.js → chunk-4QW6K7RK.js} +1 -1
- package/dist/{chunk-WG7G7UY5.js → chunk-55H7REZK.js} +1 -1
- package/dist/{chunk-SMVWDO72.js → chunk-5FB6DGGC.js} +2 -2
- package/dist/{chunk-2ZXA2TN4.js → chunk-5WJAH6JG.js} +1 -1
- package/dist/{chunk-EO6DUDKB.js → chunk-5Z4DAS53.js} +1 -1
- package/dist/{chunk-UEPIBHS2.js → chunk-AQCJKX5R.js} +3 -3
- package/dist/{chunk-WV5SSDCZ.js → chunk-ATRRLHLU.js} +1 -1
- package/dist/{chunk-CNTBUK24.js → chunk-B424UBV3.js} +2 -2
- package/dist/{chunk-RBUA7ZNK.js → chunk-BIRR4RKZ.js} +1 -1
- package/dist/{chunk-Y4E6XL6M.js → chunk-CPOD27EG.js} +1 -1
- package/dist/{chunk-XPRHKEQ2.js → chunk-FAHAJWZR.js} +4 -4
- package/dist/{chunk-LXCRHVMZ.js → chunk-HTEQFRDI.js} +1 -1
- package/dist/{chunk-IRAS2CZ5.js → chunk-JFKPOVDA.js} +2 -2
- package/dist/{chunk-GGP7XCRG.js → chunk-JIMTX2X3.js} +1 -1
- package/dist/{chunk-PZZHO6OS.js → chunk-JV4G7LH3.js} +1 -1
- package/dist/{chunk-TVILVNPG.js → chunk-K3UA2GJF.js} +2 -2
- package/dist/{chunk-MZ3QFQDL.js → chunk-LP6EDXO5.js} +1 -1
- package/dist/{chunk-75BRUZEB.js → chunk-LZDTH436.js} +3 -3
- package/dist/{chunk-POPBDDGZ.js → chunk-N3MM67K4.js} +1 -1
- package/dist/{chunk-A6XFA2MW.js → chunk-ROXAHDMA.js} +3 -3
- package/dist/{chunk-BYOBPRTS.js → chunk-SYY26XBX.js} +1 -1
- package/dist/{chunk-FXHWOXGD.js → chunk-TFIINTEU.js} +17 -9
- package/dist/{chunk-YQB4NNAE.js → chunk-TNGIFWDG.js} +1 -1
- package/dist/{chunk-NILOJV62.js → chunk-UM5LMW5X.js} +1 -1
- package/dist/{chunk-OW37LQDZ.js → chunk-V3M7V5SO.js} +4 -4
- package/dist/{chunk-6D4SVNQD.js → chunk-VYVW24VC.js} +1 -1
- package/dist/{chunk-ZI4NRAIL.js → chunk-WCIJW2SA.js} +1 -1
- package/dist/{chunk-4L5L7HBA.js → chunk-WIYTIJF6.js} +1 -1
- package/dist/{chunk-3AX2O4RT.js → chunk-WO4W5FTB.js} +1 -1
- package/dist/{chunk-YFUG6ARA.js → chunk-XFZ7JWBJ.js} +2 -2
- package/dist/{chunk-PLHKAYFI.js → chunk-XSHA74LN.js} +4 -4
- package/dist/{chunk-F45VSK2M.js → chunk-Z2SK4MPL.js} +2 -2
- package/dist/{chunk-BUDVAXGD.js → chunk-ZXQXEP2S.js} +2 -2
- package/dist/{chunk-VBEMIZIJ.js → chunk-ZZL54LEO.js} +1 -1
- package/dist/generated/index.js +87 -87
- package/dist/index.js +87 -87
- package/dist/styles.css +179 -31
- package/dist/utils/index.js +1 -1
- package/package.json +3 -3
- package/dist/{chunk-DTSZUH6H.js → chunk-4C5CZT4D.js} +1 -1
- package/dist/{chunk-K2FNW3MK.js → chunk-5UEANIIW.js} +1 -1
- package/dist/{chunk-3RCHEFIL.js → chunk-DEBVNLFJ.js} +1 -1
- package/dist/{chunk-OCRVY42T.js → chunk-F6CKQX5D.js} +1 -1
- package/dist/{chunk-GKRPPSWY.js → chunk-I4Q6PACO.js} +1 -1
- package/dist/{chunk-VWYT3GVV.js → chunk-LKBZV5IT.js} +1 -1
- package/dist/{chunk-ICPQIAD6.js → chunk-MXBDOQA5.js} +1 -1
- package/dist/{chunk-N224FUS3.js → chunk-NC3Z6MM3.js} +1 -1
- package/dist/{chunk-R3BA3C4Y.js → chunk-RFK4ROA7.js} +1 -1
- package/dist/{chunk-S6J3EWDP.js → chunk-RRHB5WWN.js} +1 -1
- package/dist/{chunk-YCC2S7DF.js → chunk-SFG7TS4Q.js} +1 -1
- package/dist/{chunk-VS7EXOKP.js → chunk-TN22R6LW.js} +2 -2
- package/dist/{chunk-SNQRGH4A.js → chunk-VZICPYGR.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -16587,12 +16587,12 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16587
16587
|
}
|
|
16588
16588
|
|
|
16589
16589
|
|
|
16590
|
-
/* FolderTile-
|
|
16590
|
+
/* FolderTile-NM7CRTVH.css */
|
|
16591
16591
|
/*
|
|
16592
16592
|
* A folder in a gallery: a short tile on Card (no preview), the folder glyph
|
|
16593
|
-
* on a neutral tint over the name and one quiet
|
|
16594
|
-
*
|
|
16595
|
-
* takes, and a tile becomes one under the phone breakpoint.
|
|
16593
|
+
* on a neutral tint over the name and one quiet run of facts, and a More menu
|
|
16594
|
+
* level with the glyph, outside the link. `row` is the full width row a phone
|
|
16595
|
+
* takes (44px at least), and a tile becomes one under the phone breakpoint.
|
|
16596
16596
|
*
|
|
16597
16597
|
* ON TOP OF CARD, so every rule that changes Card's own layout carries Card's
|
|
16598
16598
|
* class too: the two sheets meet at equal weight and the bundle orders them by
|
|
@@ -16600,10 +16600,11 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16600
16600
|
*/
|
|
16601
16601
|
|
|
16602
16602
|
/*
|
|
16603
|
-
* THE ARTIFACT CARD'S CORNER, so a folder tile and the cards below
|
|
16604
|
-
* one gallery
|
|
16605
|
-
*
|
|
16606
|
-
*
|
|
16603
|
+
* THE ARTIFACT CARD'S CORNER AND HOVER, so a folder tile and the cards below
|
|
16604
|
+
* it read as one gallery: under the pointer the hairline darkens and a
|
|
16605
|
+
* hairline shadow settles under the tile, quickly and with the standard ease,
|
|
16606
|
+
* exactly as a card's does. Nothing lifts or moves. The chosen state is
|
|
16607
|
+
* Card's (`selected`): the selected edge over the selected fill.
|
|
16607
16608
|
*/
|
|
16608
16609
|
.crewlet-card.crewlet-folder-tile {
|
|
16609
16610
|
/*
|
|
@@ -16616,6 +16617,7 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16616
16617
|
--crewlet-folder-tile-pad-inline: var(--spacing-4);
|
|
16617
16618
|
--crewlet-folder-tile-floor: auto;
|
|
16618
16619
|
--crewlet-folder-tile-glyph: 40px;
|
|
16620
|
+
--crewlet-folder-tile-glyph-icon: 20px;
|
|
16619
16621
|
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
16620
16622
|
/*
|
|
16621
16623
|
* THE WORDS ARE SET AS THE CARDS BESIDE THEM: a tile's name at a gallery
|
|
@@ -16644,13 +16646,36 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16644
16646
|
--crewlet-folder-tile-actions-shift: 0;
|
|
16645
16647
|
--crewlet-folder-tile-reserve-link: 0px;
|
|
16646
16648
|
|
|
16649
|
+
/*
|
|
16650
|
+
* THE CARD'S SEPARATOR between two facts, a quiet dot with a step of air on
|
|
16651
|
+
* each side: the width each fact after the first opens with.
|
|
16652
|
+
*/
|
|
16653
|
+
--crewlet-folder-tile-separator: var(--spacing-5);
|
|
16654
|
+
/* Who can see it is a glyph and its word; the row keeps the glyph alone. */
|
|
16655
|
+
--crewlet-folder-tile-word-position: static;
|
|
16656
|
+
--crewlet-folder-tile-word-size: auto;
|
|
16657
|
+
--crewlet-folder-tile-word-clip: none;
|
|
16658
|
+
|
|
16647
16659
|
flex-direction: row;
|
|
16648
16660
|
align-items: stretch;
|
|
16649
16661
|
min-width: 0;
|
|
16650
16662
|
border-radius: var(--crewlet-folder-tile-radius);
|
|
16651
16663
|
}
|
|
16652
16664
|
|
|
16653
|
-
/*
|
|
16665
|
+
/* The card's quick step, over Card's slower interactive one. */
|
|
16666
|
+
.crewlet-card.crewlet-folder-tile.is-interactive {
|
|
16667
|
+
transition:
|
|
16668
|
+
border-color var(--motion-duration-fast) var(--motion-easing-out),
|
|
16669
|
+
box-shadow var(--motion-duration-fast) var(--motion-easing-out);
|
|
16670
|
+
}
|
|
16671
|
+
|
|
16672
|
+
.crewlet-card.crewlet-folder-tile:hover {
|
|
16673
|
+
box-shadow: var(--shadow-xs);
|
|
16674
|
+
}
|
|
16675
|
+
|
|
16676
|
+
/* ---- the row: a phone's, full width and 44px at least ----
|
|
16677
|
+
The glyph and its tint keep the tile's proportion (the glyph half the
|
|
16678
|
+
tint), at the list name cell's 32px tint. */
|
|
16654
16679
|
|
|
16655
16680
|
.crewlet-card.crewlet-folder-tile--row {
|
|
16656
16681
|
--crewlet-folder-tile-radius: var(--radius-lg);
|
|
@@ -16658,8 +16683,9 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16658
16683
|
--crewlet-folder-tile-pad-block: var(--spacing-1);
|
|
16659
16684
|
--crewlet-folder-tile-pad-inline: var(--spacing-3);
|
|
16660
16685
|
--crewlet-folder-tile-floor: var(--size-control-lg);
|
|
16661
|
-
--crewlet-folder-tile-glyph:
|
|
16662
|
-
--crewlet-folder-tile-glyph-
|
|
16686
|
+
--crewlet-folder-tile-glyph: 32px;
|
|
16687
|
+
--crewlet-folder-tile-glyph-icon: 16px;
|
|
16688
|
+
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
16663
16689
|
--crewlet-folder-tile-words-gap: 2px;
|
|
16664
16690
|
--crewlet-folder-tile-actions-inset: var(--spacing-2);
|
|
16665
16691
|
--crewlet-folder-tile-direction: row;
|
|
@@ -16667,6 +16693,9 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16667
16693
|
--crewlet-folder-tile-actions-top: 50%;
|
|
16668
16694
|
--crewlet-folder-tile-actions-shift: -50%;
|
|
16669
16695
|
--crewlet-folder-tile-reserve-link: calc(var(--size-control-sm) + var(--spacing-1));
|
|
16696
|
+
--crewlet-folder-tile-word-position: absolute;
|
|
16697
|
+
--crewlet-folder-tile-word-size: 1px;
|
|
16698
|
+
--crewlet-folder-tile-word-clip: inset(50%);
|
|
16670
16699
|
}
|
|
16671
16700
|
|
|
16672
16701
|
/* UNDER THE PHONE BREAKPOINT A TILE IS THE ROW, strictly under, as the
|
|
@@ -16678,8 +16707,9 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16678
16707
|
--crewlet-folder-tile-pad-block: var(--spacing-1);
|
|
16679
16708
|
--crewlet-folder-tile-pad-inline: var(--spacing-3);
|
|
16680
16709
|
--crewlet-folder-tile-floor: var(--size-control-lg);
|
|
16681
|
-
--crewlet-folder-tile-glyph:
|
|
16682
|
-
--crewlet-folder-tile-glyph-
|
|
16710
|
+
--crewlet-folder-tile-glyph: 32px;
|
|
16711
|
+
--crewlet-folder-tile-glyph-icon: 16px;
|
|
16712
|
+
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
16683
16713
|
--crewlet-folder-tile-words-gap: 2px;
|
|
16684
16714
|
--crewlet-folder-tile-actions-inset: var(--spacing-2);
|
|
16685
16715
|
--crewlet-folder-tile-direction: row;
|
|
@@ -16687,19 +16717,41 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16687
16717
|
--crewlet-folder-tile-actions-top: 50%;
|
|
16688
16718
|
--crewlet-folder-tile-actions-shift: -50%;
|
|
16689
16719
|
--crewlet-folder-tile-reserve-link: calc(var(--size-control-sm) + var(--spacing-1));
|
|
16720
|
+
--crewlet-folder-tile-word-position: absolute;
|
|
16721
|
+
--crewlet-folder-tile-word-size: 1px;
|
|
16722
|
+
--crewlet-folder-tile-word-clip: inset(50%);
|
|
16690
16723
|
}
|
|
16691
16724
|
}
|
|
16692
16725
|
|
|
16726
|
+
/*
|
|
16727
|
+
* THE STATES OUTLAST THE POINTER. Card's hover step darkens the hairline at
|
|
16728
|
+
* the same weight as a state's edge, and Card's sheet comes after this one, so
|
|
16729
|
+
* each state restates its edge under the pointer too: a chosen tile keeps the
|
|
16730
|
+
* selected edge, and a drop target, which is under the pointer by definition,
|
|
16731
|
+
* keeps its accent.
|
|
16732
|
+
*/
|
|
16733
|
+
.crewlet-card.crewlet-folder-tile.is-selected,
|
|
16734
|
+
.crewlet-card.crewlet-folder-tile.is-selected:hover {
|
|
16735
|
+
border-color: var(--color-border-selected);
|
|
16736
|
+
}
|
|
16737
|
+
|
|
16693
16738
|
/*
|
|
16694
16739
|
* SOMETHING HELD OVER IT WOULD LAND IN IT: the accent edge over the accent's
|
|
16695
16740
|
* soft fill, the same pair a file drop target takes while files are over it,
|
|
16696
|
-
* so "let go here" reads one way across the package.
|
|
16741
|
+
* so "let go here" reads one way across the package. The glyph's tint takes
|
|
16742
|
+
* the accent's hairline and ink, so the folder itself says it is open to it.
|
|
16697
16743
|
*/
|
|
16698
|
-
.crewlet-card.crewlet-folder-tile.is-drop-target
|
|
16744
|
+
.crewlet-card.crewlet-folder-tile.is-drop-target,
|
|
16745
|
+
.crewlet-card.crewlet-folder-tile.is-drop-target:hover {
|
|
16699
16746
|
border-color: var(--color-brand-accent);
|
|
16700
16747
|
background-color: var(--color-brand-accent-soft);
|
|
16701
16748
|
}
|
|
16702
16749
|
|
|
16750
|
+
.crewlet-folder-tile.is-drop-target .crewlet-folder-tile__glyph {
|
|
16751
|
+
box-shadow: inset 0 0 0 1px var(--color-brand-accent);
|
|
16752
|
+
color: var(--color-brand-accent-ink);
|
|
16753
|
+
}
|
|
16754
|
+
|
|
16703
16755
|
.crewlet-card.crewlet-folder-tile:has(.crewlet-folder-tile__link:focus-visible) {
|
|
16704
16756
|
outline: 2px solid var(--color-focus);
|
|
16705
16757
|
outline-offset: var(--size-focus-ring-inset-offset);
|
|
@@ -16730,7 +16782,11 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16730
16782
|
padding-inline-end: calc(var(--crewlet-folder-tile-pad-inline) + var(--crewlet-folder-tile-reserve-link));
|
|
16731
16783
|
}
|
|
16732
16784
|
|
|
16733
|
-
/*
|
|
16785
|
+
/*
|
|
16786
|
+
* A NEUTRAL TINT, never a kind's: a folder is not a kind. Its hairline steps
|
|
16787
|
+
* up with the tile's under the pointer, as a folder's mark does on a list
|
|
16788
|
+
* row, so the one drawn thing on the tile answers too.
|
|
16789
|
+
*/
|
|
16734
16790
|
.crewlet-folder-tile__glyph {
|
|
16735
16791
|
display: inline-flex;
|
|
16736
16792
|
flex: none;
|
|
@@ -16743,6 +16799,17 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16743
16799
|
background: var(--color-surface-inset);
|
|
16744
16800
|
box-shadow: inset 0 0 0 1px var(--color-border-default);
|
|
16745
16801
|
color: var(--color-text-secondary);
|
|
16802
|
+
transition: box-shadow var(--motion-duration-fast) var(--motion-easing-out);
|
|
16803
|
+
}
|
|
16804
|
+
|
|
16805
|
+
.crewlet-folder-tile:hover .crewlet-folder-tile__glyph {
|
|
16806
|
+
box-shadow: inset 0 0 0 1px var(--color-border-hover);
|
|
16807
|
+
}
|
|
16808
|
+
|
|
16809
|
+
/* The glyph is drawn at the shape's size, whatever size the markup asks. */
|
|
16810
|
+
.crewlet-folder-tile__glyph > svg {
|
|
16811
|
+
width: var(--crewlet-folder-tile-glyph-icon);
|
|
16812
|
+
height: var(--crewlet-folder-tile-glyph-icon);
|
|
16746
16813
|
}
|
|
16747
16814
|
|
|
16748
16815
|
.crewlet-folder-tile__body {
|
|
@@ -16764,35 +16831,105 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16764
16831
|
}
|
|
16765
16832
|
|
|
16766
16833
|
/*
|
|
16767
|
-
* THE FACTS
|
|
16768
|
-
*
|
|
16769
|
-
*
|
|
16770
|
-
*
|
|
16771
|
-
* the
|
|
16772
|
-
*
|
|
16834
|
+
* THE FACTS ARE ONE RUN, WRAPPED AND NEVER CUT. "Everyone · 12 artifacts · 2
|
|
16835
|
+
* folders" is the card's run: each fact after the first opens with the card's
|
|
16836
|
+
* quiet dot. Four tiles across a laptop's page have no room for "Only you ·
|
|
16837
|
+
* Nothing you can open yet" on one line, so the run breaks between who can
|
|
16838
|
+
* see the folder and what is inside rather than losing its end to an
|
|
16839
|
+
* ellipsis, and the count moves as one.
|
|
16840
|
+
*
|
|
16841
|
+
* A LINE NEVER OPENS ON A DOT. Every fact carries its dot in the separator's
|
|
16842
|
+
* width before it, and the run is drawn that width to the left of the facts'
|
|
16843
|
+
* own edge, which clips the overhang: the first fact of every line, the very
|
|
16844
|
+
* first and any the run broke onto a new line, lays its dot in the clipped
|
|
16845
|
+
* strip. The clip is horizontal only, so nothing above or below is cut.
|
|
16846
|
+
*
|
|
16847
|
+
* ONE QUIET INK for the run: who can see the folder takes the facts' tertiary
|
|
16848
|
+
* step rather than the access label's stronger word, so the line reads as one
|
|
16849
|
+
* calm caption beside the name, as a card's facts do.
|
|
16773
16850
|
*/
|
|
16774
16851
|
.crewlet-folder-tile__facts {
|
|
16775
|
-
display:
|
|
16776
|
-
flex-wrap: wrap;
|
|
16777
|
-
align-items: center;
|
|
16778
|
-
gap: 2px var(--spacing-3);
|
|
16852
|
+
display: block;
|
|
16779
16853
|
min-width: 0;
|
|
16854
|
+
overflow-x: clip;
|
|
16780
16855
|
color: var(--color-text-tertiary);
|
|
16781
16856
|
font-size: var(--crewlet-folder-tile-facts);
|
|
16782
16857
|
line-height: 1.35;
|
|
16783
16858
|
}
|
|
16784
16859
|
|
|
16785
|
-
.crewlet-folder-
|
|
16786
|
-
display:
|
|
16787
|
-
flex:
|
|
16860
|
+
.crewlet-folder-tile__run {
|
|
16861
|
+
display: flex;
|
|
16862
|
+
flex-wrap: wrap;
|
|
16788
16863
|
align-items: center;
|
|
16864
|
+
row-gap: 2px;
|
|
16865
|
+
min-width: 0;
|
|
16866
|
+
margin-inline-start: calc(-1 * var(--crewlet-folder-tile-separator));
|
|
16789
16867
|
}
|
|
16790
16868
|
|
|
16791
|
-
.crewlet-folder-
|
|
16869
|
+
.crewlet-folder-tile__fact {
|
|
16870
|
+
position: relative;
|
|
16871
|
+
display: block;
|
|
16792
16872
|
min-width: 0;
|
|
16873
|
+
max-width: 100%;
|
|
16874
|
+
padding-inline-start: var(--crewlet-folder-tile-separator);
|
|
16793
16875
|
overflow-wrap: anywhere;
|
|
16794
16876
|
}
|
|
16795
16877
|
|
|
16878
|
+
.crewlet-folder-tile__fact::before {
|
|
16879
|
+
position: absolute;
|
|
16880
|
+
inset-inline-start: 0;
|
|
16881
|
+
width: var(--crewlet-folder-tile-separator);
|
|
16882
|
+
text-align: center;
|
|
16883
|
+
}
|
|
16884
|
+
|
|
16885
|
+
.crewlet-folder-tile__fact::before,
|
|
16886
|
+
.crewlet-folder-tile__count-dot::before {
|
|
16887
|
+
content: '·';
|
|
16888
|
+
content: '·' / '';
|
|
16889
|
+
}
|
|
16890
|
+
|
|
16891
|
+
/*
|
|
16892
|
+
* INSIDE THE COUNT the same dot in the same width, carried at the end of the
|
|
16893
|
+
* part before it. Each part is one piece on the line, so "3 artifacts · 3
|
|
16894
|
+
* folders" moves to its own line as one fact, a count too long even for that
|
|
16895
|
+
* breaks only after a dot, and a part wraps within itself only when it alone
|
|
16896
|
+
* is wider than the tile.
|
|
16897
|
+
*/
|
|
16898
|
+
.crewlet-folder-tile__count-part {
|
|
16899
|
+
display: inline-block;
|
|
16900
|
+
max-width: 100%;
|
|
16901
|
+
}
|
|
16902
|
+
|
|
16903
|
+
.crewlet-folder-tile__count-dot {
|
|
16904
|
+
display: inline;
|
|
16905
|
+
padding-inline: calc((var(--crewlet-folder-tile-separator) - 0.3em) / 2);
|
|
16906
|
+
}
|
|
16907
|
+
|
|
16908
|
+
.crewlet-folder-tile__visibility {
|
|
16909
|
+
display: flex;
|
|
16910
|
+
align-items: center;
|
|
16911
|
+
}
|
|
16912
|
+
|
|
16913
|
+
.crewlet-folder-tile__visibility > .crewlet-artifact-access {
|
|
16914
|
+
color: inherit;
|
|
16915
|
+
}
|
|
16916
|
+
|
|
16917
|
+
/*
|
|
16918
|
+
* ON A ROW, WHO CAN SEE IT IS ITS GLYPH, as a gallery card's facts draw an
|
|
16919
|
+
* artifact's access: a phone's row has room for one line of facts, and "Only
|
|
16920
|
+
* you · Nothing you can open yet" beside a glyph and a menu broke onto a
|
|
16921
|
+
* second, leaving rows of two heights. The word is still there, hidden from
|
|
16922
|
+
* the eye only (the package's visually hidden recipe, switched by the shape),
|
|
16923
|
+
* so the tile's description keeps saying "Everyone", and the label's title
|
|
16924
|
+
* names it under the pointer.
|
|
16925
|
+
*/
|
|
16926
|
+
.crewlet-folder-tile__visibility .crewlet-artifact-access__word {
|
|
16927
|
+
position: var(--crewlet-folder-tile-word-position);
|
|
16928
|
+
width: var(--crewlet-folder-tile-word-size);
|
|
16929
|
+
height: var(--crewlet-folder-tile-word-size);
|
|
16930
|
+
clip-path: var(--crewlet-folder-tile-word-clip);
|
|
16931
|
+
}
|
|
16932
|
+
|
|
16796
16933
|
/*
|
|
16797
16934
|
* THE TILE'S OWN CONTROLS, at its trailing edge and outside the link: hidden
|
|
16798
16935
|
* until the tile is hovered or holds focus, so a gallery rests as names, and
|
|
@@ -16822,6 +16959,8 @@ button.crewlet-finding-list__row:focus-visible {
|
|
|
16822
16959
|
}
|
|
16823
16960
|
|
|
16824
16961
|
@media (prefers-reduced-motion: reduce) {
|
|
16962
|
+
.crewlet-card.crewlet-folder-tile.is-interactive,
|
|
16963
|
+
.crewlet-folder-tile__glyph,
|
|
16825
16964
|
.crewlet-folder-tile__actions {
|
|
16826
16965
|
transition: none;
|
|
16827
16966
|
}
|
|
@@ -20114,7 +20253,7 @@ a.crewlet-icon-btn {
|
|
|
20114
20253
|
}
|
|
20115
20254
|
|
|
20116
20255
|
|
|
20117
|
-
/* LogoSlot-
|
|
20256
|
+
/* LogoSlot-NAJE5XY3.css */
|
|
20118
20257
|
/*
|
|
20119
20258
|
* One of a brand's logos on the ground it is made for. The ground and the ink
|
|
20120
20259
|
* of its guide are the only values here that are not tokens: they arrive
|
|
@@ -20343,8 +20482,17 @@ a.crewlet-icon-btn {
|
|
|
20343
20482
|
margin-block-start: var(--spacing-2);
|
|
20344
20483
|
}
|
|
20345
20484
|
|
|
20485
|
+
/*
|
|
20486
|
+
* THE ACTION ROWS START AT THE TOP OF THEIR SHARED ROW. The row is as tall as
|
|
20487
|
+
* the tallest slot's actions (a slot whose Replace and Remove wrap onto two
|
|
20488
|
+
* lines), and a row stretched to it and centred put a neighbour's single
|
|
20489
|
+
* button half a line lower than the first button beside it. Held to the start,
|
|
20490
|
+
* every slot's first button stands on one line.
|
|
20491
|
+
*/
|
|
20346
20492
|
.crewlet-logo-slot-group__slots > .crewlet-logo-slot > .crewlet-logo-slot__foot {
|
|
20347
20493
|
grid-row: 4;
|
|
20494
|
+
align-self: start;
|
|
20495
|
+
align-content: flex-start;
|
|
20348
20496
|
margin-block-start: var(--spacing-2);
|
|
20349
20497
|
}
|
|
20350
20498
|
|
package/dist/utils/index.js
CHANGED
|
@@ -3,6 +3,6 @@ export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-
|
|
|
3
3
|
export { useClipboard, writeClipboard } from '../chunk-STJ7QBC3.js';
|
|
4
4
|
export { useOutcome } from '../chunk-DTIW4CHZ.js';
|
|
5
5
|
export { NODE_HUES, NODE_HUE_NAMES, isNodeHue } from '../chunk-AYKXMIOR.js';
|
|
6
|
-
export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
|
|
7
6
|
export { FOCUS_MODALITY_ATTRIBUTE, FOCUS_RETURNED_ATTRIBUTE, returnFocus, trackFocusModality, useFocusModality } from '../chunk-NUZHC6MM.js';
|
|
7
|
+
export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
|
|
8
8
|
export { cx } from '../chunk-ODEQTPFM.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.0",
|
|
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.
|
|
46
|
-
"@crewlethq/tokens": "0.
|
|
45
|
+
"@crewlethq/icons": "0.53.0",
|
|
46
|
+
"@crewlethq/tokens": "0.53.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Stepper } from './chunk-LDGQIDIZ.js';
|
|
2
2
|
import { PageHeader } from './chunk-DKB73KZI.js';
|
|
3
|
+
import { useMediaMatch } from './chunk-RTPQDNW3.js';
|
|
3
4
|
import { Disclosure } from './chunk-OGXHZHRX.js';
|
|
4
5
|
import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
5
|
-
import { useMediaMatch } from './chunk-RTPQDNW3.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './SetupWizard-GZK5UDKC.css';
|
|
8
8
|
import { useId, useRef, useEffect, createElement } from 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SlideStage } from './chunk-RMEBFYL7.js';
|
|
2
2
|
import { useReorder } from './chunk-XJ2QEBMM.js';
|
|
3
|
-
import { Kbd, isApplePlatform } from './chunk-SMBKXWML.js';
|
|
4
3
|
import { Menu } from './chunk-3JIZ2A6K.js';
|
|
4
|
+
import { Kbd, isApplePlatform } from './chunk-SMBKXWML.js';
|
|
5
5
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './SlideFilmstrip-PAT7P4OG.css';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PRESENCE_LABELS, presenceOrder, collapseSessions } from './chunk-Z7JYG5TF.js';
|
|
2
2
|
import { Avatar } from './chunk-PZKHBB7D.js';
|
|
3
|
-
import { headingTag, useHeadingLevel } from './chunk-PQADV6P6.js';
|
|
4
3
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
|
+
import { headingTag, useHeadingLevel } from './chunk-PQADV6P6.js';
|
|
5
5
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './PeopleRail-SZGHZXVT.css';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Toolbar } from './chunk-NR4CPM4T.js';
|
|
2
|
-
import { announce } from './chunk-RSAQOKH3.js';
|
|
3
2
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
3
|
import { returnFocus } from './chunk-NUZHC6MM.js';
|
|
4
|
+
import { announce } from './chunk-RSAQOKH3.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './SelectionBar-XPWKUOSC.css';
|
|
7
7
|
import { useRef, useEffect } from 'react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StatusDot } from './chunk-WIATRXEJ.js';
|
|
2
2
|
import { useRoving, tabStop } from './chunk-EGMQURBR.js';
|
|
3
|
-
import { Count } from './chunk-BHHIIK3M.js';
|
|
4
3
|
import { Menu } from './chunk-3JIZ2A6K.js';
|
|
5
4
|
import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
5
|
+
import { Count } from './chunk-BHHIIK3M.js';
|
|
6
6
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
7
7
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
8
8
|
import './HitArea-QUOS6ZDJ.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { announce } from './chunk-RSAQOKH3.js';
|
|
2
1
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
2
|
+
import { announce } from './chunk-RSAQOKH3.js';
|
|
3
3
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
4
4
|
import './ArrangeFrame-QXOQTFAH.css';
|
|
5
5
|
import { forwardRef, useRef, useCallback, useState, useEffect } from 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LayerNodeBridge } from './chunk-LM3ISVJA.js';
|
|
2
2
|
import { Tooltip } from './chunk-I33UIUZD.js';
|
|
3
|
-
import { Kbd } from './chunk-SMBKXWML.js';
|
|
4
3
|
import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-OMV5W53A.js';
|
|
4
|
+
import { Kbd } from './chunk-SMBKXWML.js';
|
|
5
5
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
6
6
|
import { returnFocus } from './chunk-NUZHC6MM.js';
|
|
7
7
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
@@ -6,9 +6,9 @@ import { ChangeMark } from './chunk-66X5WDKE.js';
|
|
|
6
6
|
import { isEmptyValue, displayText, ratingMax, findPerson, findOption, statusTone, editText, textMax, sheetLabels, normalizeValue, sameValue, spokenText, drawnColumns, fitSamples, fittedWidth, columnWidth, SHEET_COLUMN_BOUNDS, sortRows, SHEET_ROW_HEIGHT, cellKey, columnOffsets, SHEET_ROW_NUMBER_WIDTH, rangeOf, presenceByCell, presenceByRow, presenceByColumn, scrollToRow, planClear, visibleRows, cellDescription, nextSort, rowName, inRange, hasPrevious, flagText, toTSV, planPaste, parseTSV, isMod, moveFrom, isTypingKey, editorSide, optionHue, parseText, liveOptions, checkValue } from './chunk-LFSIKGRQ.js';
|
|
7
7
|
import { presenceLabels } from './chunk-Z7JYG5TF.js';
|
|
8
8
|
import { Popover } from './chunk-KHJIEPZV.js';
|
|
9
|
+
import { Avatar } from './chunk-PZKHBB7D.js';
|
|
9
10
|
import { Tooltip } from './chunk-I33UIUZD.js';
|
|
10
11
|
import { StatusDot } from './chunk-WIATRXEJ.js';
|
|
11
|
-
import { Avatar } from './chunk-PZKHBB7D.js';
|
|
12
12
|
import { Menu } from './chunk-3JIZ2A6K.js';
|
|
13
13
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
14
14
|
import { isComposing } from './chunk-H5XTJ7GJ.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ArtifactKindGlyph } from './chunk-RSKW25Y5.js';
|
|
2
1
|
import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
2
|
+
import { ArtifactKindGlyph } from './chunk-RSKW25Y5.js';
|
|
3
3
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
5
|
import './HitArea-QUOS6ZDJ.css';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Tag } from './chunk-KYIAFNU7.js';
|
|
2
2
|
import { useListbox } from './chunk-7KHM2FZH.js';
|
|
3
|
-
import { announce } from './chunk-RSAQOKH3.js';
|
|
4
3
|
import { isComposing } from './chunk-H5XTJ7GJ.js';
|
|
5
4
|
import { useFocusModality } from './chunk-NUZHC6MM.js';
|
|
6
5
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
6
|
+
import { announce } from './chunk-RSAQOKH3.js';
|
|
7
7
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
8
8
|
import './TagsInput-CLFHP6I2.css';
|
|
9
9
|
import { forwardRef, useState, useRef, useId, useImperativeHandle, useEffect, useMemo, useLayoutEffect } from 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
2
1
|
import { useLayerContainer } from './chunk-OMV5W53A.js';
|
|
3
2
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
3
|
import { focusables, useModalLayer, useBodyScrollLock } from './chunk-H5XTJ7GJ.js';
|
|
4
|
+
import { HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
5
5
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './Modal-3HMP7WAZ.css';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { characterCountState, CharacterCount } from './chunk-XCUUI7E7.js';
|
|
2
|
-
import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
|
|
3
|
-
import { announce } from './chunk-RSAQOKH3.js';
|
|
4
2
|
import { isComposing } from './chunk-H5XTJ7GJ.js';
|
|
5
3
|
import { useFocusModality } from './chunk-NUZHC6MM.js';
|
|
4
|
+
import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
|
|
6
5
|
import { IconButton } from './chunk-LACA4JGC.js';
|
|
6
|
+
import { announce } from './chunk-RSAQOKH3.js';
|
|
7
7
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
8
8
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
9
9
|
import './Input-GMOWHZRG.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useRoving, tabStop } from './chunk-EGMQURBR.js';
|
|
2
1
|
import { Avatar } from './chunk-PZKHBB7D.js';
|
|
2
|
+
import { useRoving, tabStop } from './chunk-EGMQURBR.js';
|
|
3
3
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
4
4
|
import { CREWLET_CHARACTERS, CREWLET_CHARACTER_GEOMETRY } from '@crewlethq/icons/characters';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|