@crewlethq/ui 0.85.0 → 0.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +18 -4
  2. package/dist/DataView/index.js +2 -2
  3. package/dist/KeyValueRows/KeyValueRows.d.ts +125 -0
  4. package/dist/KeyValueRows/index.d.ts +3 -0
  5. package/dist/KeyValueRows/index.js +12 -0
  6. package/dist/KeyValueRows-US5KW7JK.css +44 -0
  7. package/dist/PresenterView/index.js +2 -2
  8. package/dist/RailList/RailList.d.ts +74 -0
  9. package/dist/RailList/index.d.ts +3 -0
  10. package/dist/RailList/index.js +17 -0
  11. package/dist/RailList-N2ZBPRM2.css +97 -0
  12. package/dist/RelatedRow/index.js +2 -2
  13. package/dist/RichEditor/index.js +1 -1
  14. package/dist/SetupWizard/index.js +2 -2
  15. package/dist/ShareDialog/index.js +1 -1
  16. package/dist/TableCells/TableCells.d.ts +60 -0
  17. package/dist/TableCells/index.d.ts +2 -2
  18. package/dist/TableCells/index.js +2 -1
  19. package/dist/{TableCells-TKSNLRK3.css → TableCells-ZALZLLEF.css} +28 -0
  20. package/dist/Text/Text.d.ts +25 -3
  21. package/dist/Text/index.js +1 -1
  22. package/dist/{chunk-AUSFKGKL.js → chunk-3AMWXJQX.js} +1 -1
  23. package/dist/{chunk-AFLS26AC.js → chunk-3CALM534.js} +36 -2
  24. package/dist/{chunk-EAHEJNVJ.js → chunk-CL3FWLDO.js} +1 -1
  25. package/dist/{chunk-QP2P6GDQ.js → chunk-O5CEG7TQ.js} +14 -0
  26. package/dist/chunk-REWKR3S4.js +73 -0
  27. package/dist/chunk-TRZS7DLB.js +159 -0
  28. package/dist/generated/index.d.ts +2 -0
  29. package/dist/generated/index.js +59 -57
  30. package/dist/index.js +59 -57
  31. package/dist/styles.css +176 -1
  32. package/package.json +3 -3
  33. package/dist/{Editor-5D5Z3LBQ.js → Editor-VGNB35NJ.js} +1 -1
  34. package/dist/{chunk-VIX3GZCD.js → chunk-PAGITACP.js} +0 -0
  35. package/dist/{chunk-LMEMH6DO.js → chunk-WCJTOKTY.js} +1 -1
  36. package/dist/{chunk-3BVNNQZY.js → chunk-WRZPO4YL.js} +1 -1
package/dist/styles.css CHANGED
@@ -24459,6 +24459,53 @@ a.crewlet-icon-btn {
24459
24459
  }
24460
24460
 
24461
24461
 
24462
+ /* KeyValueRows-US5KW7JK.css */
24463
+ /*
24464
+ * KeyValueRows: keys and their values as rows under one column head
24465
+ * (KeyValueRows.tsx).
24466
+ */
24467
+
24468
+ /* The rows, then Add under them, a row's gap apart. */
24469
+ .crewlet-key-value-rows__body,
24470
+ .crewlet-key-value-rows__table {
24471
+ display: flex;
24472
+ flex-direction: column;
24473
+ gap: var(--spacing-2);
24474
+ min-width: 0;
24475
+ }
24476
+
24477
+ /*
24478
+ * EVERY ROW STANDS ON ITS FIELDS' TOP EDGE, so a key's error grows its own
24479
+ * cell downward and nothing beside it moves. The last track is the remove
24480
+ * button's, a square the fields' height, and the head keeps it empty so the
24481
+ * value's name stands over the value column.
24482
+ */
24483
+ .crewlet-key-value-rows__head,
24484
+ .crewlet-key-value-rows__row {
24485
+ display: grid;
24486
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--size-control-md);
24487
+ align-items: start;
24488
+ gap: var(--spacing-2);
24489
+ }
24490
+
24491
+ /* The head stands over the first row at a field label's distance from its field. */
24492
+ .crewlet-key-value-rows__head {
24493
+ margin-block-end: calc(var(--spacing-1) - var(--spacing-2));
24494
+ }
24495
+
24496
+ .crewlet-key-value-rows__empty {
24497
+ margin: 0;
24498
+ font-size: var(--font-size-compact);
24499
+ line-height: var(--font-line-height-normal);
24500
+ color: var(--color-text-secondary);
24501
+ }
24502
+
24503
+ /* Add hugs its words, on the fields' start edge, rather than spanning the list. */
24504
+ .crewlet-key-value-rows__add {
24505
+ display: flex;
24506
+ }
24507
+
24508
+
24462
24509
  /* Layer-J222IFNX.css */
24463
24510
  /*
24464
24511
  * The portal target a LayerHost provides.
@@ -31730,6 +31777,106 @@ button.crewlet-presence-stack__member:focus-visible {
31730
31777
  }
31731
31778
 
31732
31779
 
31780
+ /* RailList-N2ZBPRM2.css */
31781
+ /*
31782
+ * RailList: a directory in a card, a rail of groups beside the chosen
31783
+ * group's list, folding into a picker where the card is narrow
31784
+ * (RailList.tsx).
31785
+ *
31786
+ * SIZED BY ITS OWN WIDTH, NOT THE WINDOW'S, because the same directory stands
31787
+ * in a page and in a sheet: the root is an inline-size container, and under
31788
+ * the rail's room (44rem) the rail goes and the picker shows. Both are always
31789
+ * rendered and the stylesheet decides, so the fold costs no measurement and
31790
+ * never draws the wrong one first.
31791
+ */
31792
+ .crewlet-rail-list {
31793
+ container: crewlet-rail-list / inline-size;
31794
+ min-width: 0;
31795
+ }
31796
+
31797
+ /* The bar across the card's top: the caller's search and chips, and the folded picker. */
31798
+ .crewlet-rail-list__bar {
31799
+ display: flex;
31800
+ flex-wrap: wrap;
31801
+ align-items: center;
31802
+ gap: var(--spacing-2);
31803
+ padding: var(--spacing-3);
31804
+ border-block-end: 1px solid var(--color-border-default);
31805
+ }
31806
+
31807
+ /* Wide, the rail is the choice: the picker and a bar that holds nothing else are not drawn. */
31808
+ .crewlet-rail-list__picker,
31809
+ .crewlet-rail-list__bar--picker-only {
31810
+ display: none;
31811
+ }
31812
+
31813
+ /* The rail at a fixed width (13rem by default), the list taking the rest. */
31814
+ .crewlet-rail-list__body {
31815
+ display: grid;
31816
+ grid-template-columns: var(--crewlet-rail-list-rail, 13rem) minmax(0, 1fr);
31817
+ min-width: 0;
31818
+ }
31819
+
31820
+ /* The rail on a hairline of its own, its note a step under its rows. */
31821
+ .crewlet-rail-list__rail {
31822
+ display: flex;
31823
+ flex-direction: column;
31824
+ gap: var(--spacing-3);
31825
+ min-width: 0;
31826
+ padding: var(--spacing-2);
31827
+ border-inline-end: 1px solid var(--color-border-default);
31828
+ }
31829
+
31830
+ /* The note starts on the rows' words, inside the dense rail's own inset. */
31831
+ .crewlet-rail-list__note {
31832
+ margin: 0;
31833
+ padding-inline: var(--spacing-2);
31834
+ }
31835
+
31836
+ .crewlet-rail-list__list {
31837
+ display: flex;
31838
+ flex-direction: column;
31839
+ min-width: 0;
31840
+ }
31841
+
31842
+ /* What the chosen group holds, over its list on a hairline, at the list's own inset. */
31843
+ .crewlet-rail-list__about {
31844
+ margin: 0;
31845
+ padding: var(--spacing-2) var(--spacing-4);
31846
+ border-block-end: 1px solid var(--color-border-default);
31847
+ }
31848
+
31849
+ /*
31850
+ * A GRID AT THE LIST'S TOP TAKES NO RULE OF ITS OWN. A grid in a card draws
31851
+ * one rule above its head to part it from the card's head (DataGrid.css);
31852
+ * here the bar's hairline, the description's or the card's own edge is
31853
+ * already that rule, and the grid's drew a second line under it.
31854
+ */
31855
+ .crewlet-rail-list__list > .crewlet-data-grid:first-child,
31856
+ .crewlet-rail-list__about + .crewlet-data-grid {
31857
+ border-top: 0;
31858
+ }
31859
+
31860
+ /* Under the rail's room the list takes the card, and the picker takes the rail's place in the bar. */
31861
+ @container crewlet-rail-list (width < 44rem) {
31862
+ .crewlet-rail-list__body {
31863
+ grid-template-columns: minmax(0, 1fr);
31864
+ }
31865
+
31866
+ .crewlet-rail-list__rail {
31867
+ display: none;
31868
+ }
31869
+
31870
+ .crewlet-rail-list__picker {
31871
+ display: inline-flex;
31872
+ }
31873
+
31874
+ .crewlet-rail-list__bar--picker-only {
31875
+ display: flex;
31876
+ }
31877
+ }
31878
+
31879
+
31733
31880
  /* ReactionBar-XXI4V7XG.css */
31734
31881
  /*
31735
31882
  * A message's reactions: one pill to an emoji, then the add pill. A pill at
@@ -41233,7 +41380,7 @@ b.crewlet-switcher__match {
41233
41380
  }
41234
41381
 
41235
41382
 
41236
- /* TableCells-TKSNLRK3.css */
41383
+ /* TableCells-ZALZLLEF.css */
41237
41384
  /* The read-only table cells. Each one holds a single line and shrinks inside
41238
41385
  its column (`min-width: 0`), so a long value is cut with an ellipsis and
41239
41386
  its whole text on the title rather than standing the row two lines tall. */
@@ -41349,6 +41496,34 @@ b.crewlet-switcher__match {
41349
41496
  font-variant-numeric: tabular-nums;
41350
41497
  }
41351
41498
 
41499
+ /*
41500
+ * A VALUE OVER A QUIETER LINE (TableTwoLineCell), each line its own block cut
41501
+ * on one line. A column of boxes rather than two runs of text, so neither
41502
+ * line takes the line box of the words around it, and the cell is exactly
41503
+ * the two lines tall. `min-width: 0` lets the column shrink inside a grid's
41504
+ * cell, which is what cuts the lines rather than pushing the column wider.
41505
+ */
41506
+ .crewlet-table-cell__lines {
41507
+ display: flex;
41508
+ flex-direction: column;
41509
+ min-width: 0;
41510
+ max-width: 100%;
41511
+ }
41512
+
41513
+ /* The mark is centred against both lines, as an entity's badge is against its name. */
41514
+ .crewlet-table-cell__two-line {
41515
+ display: inline-flex;
41516
+ align-items: center;
41517
+ gap: var(--spacing-2);
41518
+ min-width: 0;
41519
+ max-width: 100%;
41520
+ }
41521
+
41522
+ /* The mark keeps its size: the lines give way to the column, never the mark. */
41523
+ .crewlet-table-cell__two-line > :first-child {
41524
+ flex: none;
41525
+ }
41526
+
41352
41527
 
41353
41528
  /* Tabs-M2ELSU3V.css */
41354
41529
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.85.0",
3
+ "version": "0.86.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.85.0",
46
- "@crewlethq/tokens": "0.85.0",
45
+ "@crewlethq/icons": "0.86.0",
46
+ "@crewlethq/tokens": "0.86.0",
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 { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
2
1
  import { richEditorLabels } from './chunk-2DMTW2Y3.js';
2
+ import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
3
3
  import './chunk-KOJPDCGQ.js';
4
4
  import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-KBZO4B33.js';
5
5
  import { Toolbar } from './chunk-NXFTCPF6.js';
File without changes
@@ -1,5 +1,5 @@
1
- import { SlideNav } from './chunk-5AJR6X75.js';
2
1
  import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-O6EV6GKI.js';
2
+ import { SlideNav } from './chunk-5AJR6X75.js';
3
3
  import { Eyebrow } from './chunk-RK4XPHVG.js';
4
4
  import { Button } from './chunk-DGXZ635L.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- import { PageHeader } from './chunk-FPDIHEM4.js';
2
1
  import { Stepper } from './chunk-TMML7BHT.js';
2
+ import { PageHeader } from './chunk-FPDIHEM4.js';
3
3
  import { useMediaMatch } from './chunk-YJQXESOJ.js';
4
4
  import { Disclosure } from './chunk-NAHA62WD.js';
5
5
  import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';