@crewlethq/ui 0.22.0 → 0.23.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 (69) hide show
  1. package/README.md +11 -1
  2. package/dist/ArrangeList/index.js +3 -3
  3. package/dist/AvatarPicker/index.js +4 -4
  4. package/dist/Checkbox/index.js +2 -2
  5. package/dist/Combobox/index.js +2 -2
  6. package/dist/CommandPalette/index.js +2 -2
  7. package/dist/CommentThread/index.js +3 -3
  8. package/dist/Composer/index.js +2 -2
  9. package/dist/ConfirmField/index.js +2 -2
  10. package/dist/DataTable/index.js +3 -3
  11. package/dist/DataView/index.js +5 -5
  12. package/dist/DateTimePicker/index.js +1 -1
  13. package/dist/{DateTimePicker-NJ6XH2TE.css → DateTimePicker-HG2KQXQ6.css} +1 -1
  14. package/dist/HuePicker/index.js +3 -3
  15. package/dist/Input/index.js +1 -1
  16. package/dist/{Input-3KVSNUO5.css → Input-GBZSFXLU.css} +16 -9
  17. package/dist/LinkInterstitial/index.js +2 -2
  18. package/dist/ListInput/index.js +2 -2
  19. package/dist/MarkdownEditor/index.js +4 -4
  20. package/dist/{MarkdownEditor-ZLSHTOIZ.css → MarkdownEditor-WOKV7CLK.css} +3 -2
  21. package/dist/OrgTable/index.js +2 -2
  22. package/dist/PeopleRail/index.js +1 -1
  23. package/dist/PresenceStack/index.js +1 -1
  24. package/dist/PrincipalPicker/index.js +3 -3
  25. package/dist/SegmentedControl/index.js +3 -3
  26. package/dist/SheetGrid/index.js +1 -1
  27. package/dist/Switcher/index.js +2 -2
  28. package/dist/{Switcher-B44Q4WF4.css → Switcher-K3EPA2RB.css} +10 -4
  29. package/dist/Tabs/index.js +1 -1
  30. package/dist/{Tabs-ITJYJFMU.css → Tabs-CJGO35BH.css} +12 -5
  31. package/dist/TagsInput/index.js +1 -1
  32. package/dist/{TagsInput-P2HS5QL4.css → TagsInput-XMXTI5Q4.css} +1 -1
  33. package/dist/ThemeSwitcher/index.js +4 -4
  34. package/dist/TimeWindowPicker/index.js +2 -2
  35. package/dist/{TimeWindowPicker-BZ5HHATU.css → TimeWindowPicker-T763GLXH.css} +1 -1
  36. package/dist/TreeGrid/index.js +1 -1
  37. package/dist/{TreeGrid-FBX3MSJA.css → TreeGrid-UCPV37XB.css} +12 -0
  38. package/dist/VersionCompare/index.js +4 -4
  39. package/dist/{chunk-7ZNKEPLN.js → chunk-2CQLNML5.js} +1 -1
  40. package/dist/{chunk-BXSGT3YC.js → chunk-35UKQ33X.js} +1 -1
  41. package/dist/{chunk-Q55TXPA3.js → chunk-6QFAK2WV.js} +1 -1
  42. package/dist/{chunk-26PEPONN.js → chunk-7QL2OFP6.js} +1 -1
  43. package/dist/{chunk-6A7P6II6.js → chunk-AMNN4WDX.js} +1 -1
  44. package/dist/{chunk-73QBUUYX.js → chunk-APS747CR.js} +1 -1
  45. package/dist/{chunk-QQGWES46.js → chunk-CS65QSIJ.js} +3 -3
  46. package/dist/{chunk-YSJYWQSP.js → chunk-D5JZN3ML.js} +1 -1
  47. package/dist/{chunk-YSY6UJ4F.js → chunk-FGYET26P.js} +1 -1
  48. package/dist/{chunk-4HRB62EA.js → chunk-GTLJXJ3U.js} +1 -1
  49. package/dist/{chunk-I6NZKJGK.js → chunk-IASV5UCP.js} +1 -1
  50. package/dist/{chunk-2ONWEDQT.js → chunk-IPM2E6UI.js} +1 -1
  51. package/dist/{chunk-KYEXTEJ3.js → chunk-JCSXFAXG.js} +3 -3
  52. package/dist/{chunk-7X5WOECO.js → chunk-KG6XRG5Z.js} +2 -2
  53. package/dist/{chunk-NUZC6PJX.js → chunk-LREN6TUG.js} +2 -2
  54. package/dist/{chunk-VYY56AMX.js → chunk-M54K52ZU.js} +1 -1
  55. package/dist/{chunk-XU4ZUGLE.js → chunk-OQT7GSKJ.js} +1 -1
  56. package/dist/{chunk-IC64IWOO.js → chunk-PBNP7H2C.js} +1 -1
  57. package/dist/{chunk-LOLELDBW.js → chunk-QS4ZGTEU.js} +1 -1
  58. package/dist/{chunk-VJLYGPPE.js → chunk-RIEDQSA4.js} +1 -1
  59. package/dist/{chunk-AIVZVKYZ.js → chunk-SJCKMSQK.js} +1 -1
  60. package/dist/{chunk-T7ICFXEC.js → chunk-U63Y5OCW.js} +1 -1
  61. package/dist/{chunk-T5TFZ2JB.js → chunk-VEB5ERRE.js} +1 -1
  62. package/dist/{chunk-RE6ED5TO.js → chunk-WG5WUFBX.js} +1 -1
  63. package/dist/{chunk-4LDTQWS7.js → chunk-XJFOOXCF.js} +1 -1
  64. package/dist/{chunk-JEDWC3GI.js → chunk-ZITJKF6Z.js} +1 -1
  65. package/dist/generated/index.js +40 -40
  66. package/dist/index.js +40 -40
  67. package/dist/styles.css +64 -31
  68. package/package.json +3 -3
  69. package/dist/{chunk-L2OQRPXJ.js → chunk-ZM7HLFOA.js} +1 -1
package/dist/styles.css CHANGED
@@ -9193,7 +9193,7 @@ body.crewlet-data-table-resizing {
9193
9193
  }
9194
9194
 
9195
9195
 
9196
- /* DateTimePicker-NJ6XH2TE.css */
9196
+ /* DateTimePicker-HG2KQXQ6.css */
9197
9197
  /*
9198
9198
  * DateTimePicker: a Select-shaped trigger over a calendar dialog.
9199
9199
  *
@@ -9355,7 +9355,7 @@ svg.crewlet-datetime__chevron {
9355
9355
  font-variant-numeric: tabular-nums;
9356
9356
  color: var(--color-text-primary);
9357
9357
  background: var(--color-surface-subtle);
9358
- border: 1px solid var(--color-border-control);
9358
+ border: 1px solid var(--color-border-field);
9359
9359
  /* A box is a box: the corner every field in the package wears. */
9360
9360
  border-radius: var(--radius-md);
9361
9361
  outline: none;
@@ -11447,7 +11447,7 @@ svg.crewlet-datetime__chevron {
11447
11447
  }
11448
11448
 
11449
11449
 
11450
- /* Input-3KVSNUO5.css */
11450
+ /* Input-GBZSFXLU.css */
11451
11451
  /*
11452
11452
  * The form row: Input, Textarea, Label, FormField, FormRow, FormSection and
11453
11453
  * ReadOnlyField.
@@ -11461,12 +11461,14 @@ svg.crewlet-datetime__chevron {
11461
11461
  * with padding on all four sides a 32px field drew 39px tall, so a field, the
11462
11462
  * button beside it and the select beside that were three heights.
11463
11463
  *
11464
- * THE BOUNDARY IS --color-border-control, not the default border. A text
11465
- * box, a checkbox and a switch are the three things on a page whose OUTLINE
11466
- * is the control: with the ordinary hairline they measured 1.27:1 in light
11467
- * and 1.75:1 in dark, which is a box a reader has to already know is there.
11468
- * It is the one place this register does not follow the product's own
11469
- * stylesheet, which draws every field on the panel hairline.
11464
+ * THE BOUNDARY IS --color-border-field, not the default border. A text box
11465
+ * is one of the few things on a page whose OUTLINE is the control: with the
11466
+ * ordinary hairline it measured 1.27:1 in light and 1.75:1 in dark, which is
11467
+ * a box a reader has to already know is there. The field step is the strong
11468
+ * border lifted only as far as 3:1 on the rungs a field stands on, so it
11469
+ * clears that floor without being the brightest edge on the page, which the
11470
+ * control boundary was: held to every row composite a checkbox meets, it
11471
+ * measured 4.9:1 on the card a search box nearly always sits on.
11470
11472
  *
11471
11473
  * AND A FOCUSED FIELD SHOWS ONE RING, drawn as an outline over that boundary.
11472
11474
  * Every field in this package states that rule for itself and states it the
@@ -11490,7 +11492,7 @@ svg.crewlet-datetime__chevron {
11490
11492
  width: 100%;
11491
11493
  min-height: var(--size-control-md);
11492
11494
  background-color: var(--color-surface-subtle);
11493
- border: 1px solid var(--color-border-control);
11495
+ border: 1px solid var(--color-border-field);
11494
11496
  border-radius: var(--radius-md);
11495
11497
  /* The boundary is the only thing that moves here. The ring is an outline,
11496
11498
  which takes no transition, and nothing else paints a shadow. */
@@ -11505,8 +11507,13 @@ svg.crewlet-datetime__chevron {
11505
11507
 
11506
11508
  .crewlet-input--sm { min-height: var(--size-control-sm); }
11507
11509
 
11510
+ /*
11511
+ * UNDER THE POINTER THE EDGE STEPS UP, to the control boundary. The hover
11512
+ * border is a hairline step, darker than the field's own edge, so a field
11513
+ * that took it faded as the pointer reached it.
11514
+ */
11508
11515
  .crewlet-input:hover {
11509
- border-color: var(--color-border-hover);
11516
+ border-color: var(--color-border-control);
11510
11517
  }
11511
11518
 
11512
11519
  /*
@@ -11794,7 +11801,7 @@ svg.crewlet-datetime__chevron {
11794
11801
  line-height: var(--font-line-height-normal);
11795
11802
  color: var(--color-text-primary);
11796
11803
  background-color: var(--color-surface-subtle);
11797
- border: 1px solid var(--color-border-control);
11804
+ border: 1px solid var(--color-border-field);
11798
11805
  border-radius: var(--radius-md);
11799
11806
  transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
11800
11807
  box-sizing: border-box;
@@ -13155,7 +13162,7 @@ svg.crewlet-datetime__chevron {
13155
13162
  }
13156
13163
 
13157
13164
 
13158
- /* MarkdownEditor-ZLSHTOIZ.css */
13165
+ /* MarkdownEditor-WOKV7CLK.css */
13159
13166
  /*
13160
13167
  * Writing markdown (MarkdownEditor.tsx): the bar, the source or its preview,
13161
13168
  * and the footer, in ONE box.
@@ -13177,14 +13184,15 @@ svg.crewlet-datetime__chevron {
13177
13184
  display: flex;
13178
13185
  flex-direction: column;
13179
13186
  min-width: 0;
13180
- border: 1px solid var(--color-border-control);
13187
+ border: 1px solid var(--color-border-field);
13181
13188
  border-radius: var(--radius-md);
13182
13189
  background: var(--color-surface-subtle);
13183
13190
  transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
13184
13191
  }
13185
13192
 
13186
13193
  .crewlet-markdown-editor:hover {
13187
- border-color: var(--color-border-hover);
13194
+ /* A step up from the field's edge, as every field takes (see Input.css). */
13195
+ border-color: var(--color-border-control);
13188
13196
  }
13189
13197
 
13190
13198
  .crewlet-markdown-editor:has(.crewlet-markdown-editor__field:focus-visible) {
@@ -20375,7 +20383,7 @@ svg.crewlet-select__chevron {
20375
20383
  }
20376
20384
 
20377
20385
 
20378
- /* Switcher-B44Q4WF4.css */
20386
+ /* Switcher-K3EPA2RB.css */
20379
20387
  /*
20380
20388
  * The switcher: a button that is the page's name, and a banded panel under it
20381
20389
  * (a search band, a list that scrolls, and a footer that does not).
@@ -20596,17 +20604,23 @@ svg.crewlet-switcher-trigger__chevron {
20596
20604
  }
20597
20605
 
20598
20606
  /*
20599
- * THE CURRENT SUBJECT, outlined by its own accent hairline inside the row: an
20607
+ * THE CURRENT SUBJECT, in the accent's soft pair: the tint, and the line
20608
+ * paired with it drawn inside the row, as a chosen chip is (see Tabs.css). An
20600
20609
  * outline rather than a shadow, so forced-colours mode keeps it. The row the
20601
- * arrows are on takes the raised fill as every listbox row does; both can land
20602
- * on one row, and it never gains a second border.
20610
+ * arrows are on takes the raised fill as every listbox row does, and keeps it
20611
+ * when it is the current row too, so the tint never hides where the arrows
20612
+ * are; that row keeps the line, and it never gains a second border.
20603
20613
  */
20604
20614
  .crewlet-listbox__option.crewlet-switcher__option.is-current {
20605
20615
  color: var(--color-text-primary);
20606
- outline: 1px solid var(--color-brand-accent);
20616
+ outline: 1px solid var(--color-brand-accent-soft-strong);
20607
20617
  outline-offset: -1px;
20608
20618
  }
20609
20619
 
20620
+ .crewlet-listbox__option.crewlet-switcher__option.is-current:not([aria-selected='true']):not(:hover) {
20621
+ background: var(--color-brand-accent-soft);
20622
+ }
20623
+
20610
20624
  /* A HELD ROW answers no pointer: no fill under it, and the reason in the quiet
20611
20625
  ink at its end says why. */
20612
20626
  .crewlet-listbox__option.crewlet-switcher__option[aria-disabled='true'] {
@@ -21003,7 +21017,7 @@ b.crewlet-switcher__match {
21003
21017
  }
21004
21018
 
21005
21019
 
21006
- /* Tabs-ITJYJFMU.css */
21020
+ /* Tabs-CJGO35BH.css */
21007
21021
  /*
21008
21022
  * The pill register: Tabs and SegmentedControl.
21009
21023
  *
@@ -21311,8 +21325,9 @@ b.crewlet-switcher__match {
21311
21325
  * QUIET CHIPS WITH NO WELL: the lenses of an object or a scope, set beside its
21312
21326
  * name in a page's bar. A well round them was a second box beside the name the
21313
21327
  * lenses are about, and a raised chip inside it a second highlight. Here the
21314
- * chip that is on is drawn by its own border in the accent and nothing else,
21315
- * which is the kit's one way of saying "this one is chosen".
21328
+ * chip that is on is drawn in the accent's soft pair, the tint and the line
21329
+ * paired with it, which is how the kit says "this one is chosen" on a chip
21330
+ * (FilterChip draws the same pair).
21316
21331
  */
21317
21332
  .crewlet-tabs--chip {
21318
21333
  display: inline-flex;
@@ -21340,11 +21355,17 @@ b.crewlet-switcher__match {
21340
21355
  background: none;
21341
21356
  }
21342
21357
 
21343
- /* An outline rather than a border, so a chip turning on does not move its
21344
- neighbours by a pixel, and forced-colors mode keeps it. */
21358
+ /*
21359
+ * THE SOFT PAIR, not the solid accent. A full-strength accent ring round a
21360
+ * chip is the brightest edge in the bar, louder than the name the lenses are
21361
+ * about; the soft tint says which chip is on and the paired line gives it an
21362
+ * edge. An outline rather than a border, so a chip turning on does not move
21363
+ * its neighbours by a pixel, and forced-colors mode keeps it.
21364
+ */
21345
21365
  .crewlet-tabs--chip .crewlet-tabs__tab.is-active {
21366
+ background: var(--color-brand-accent-soft);
21346
21367
  color: var(--color-text-primary);
21347
- outline: 1px solid var(--color-brand-accent);
21368
+ outline: 1px solid var(--color-brand-accent-soft-strong);
21348
21369
  outline-offset: -1px;
21349
21370
  }
21350
21371
 
@@ -21984,7 +22005,7 @@ b.crewlet-switcher__match {
21984
22005
  }
21985
22006
 
21986
22007
 
21987
- /* TagsInput-P2HS5QL4.css */
22008
+ /* TagsInput-XMXTI5Q4.css */
21988
22009
  /*
21989
22010
  * TagsInput: several values in one field.
21990
22011
  *
@@ -22036,7 +22057,7 @@ b.crewlet-switcher__match {
22036
22057
  line-height: var(--font-line-height-normal);
22037
22058
  color: var(--color-text-primary);
22038
22059
  background-color: var(--color-surface-subtle);
22039
- border: 1px solid var(--color-border-control);
22060
+ border: 1px solid var(--color-border-field);
22040
22061
  border-radius: var(--radius-md);
22041
22062
  outline: none;
22042
22063
  /* The boundary is the only thing that moves. The ring is an outline, which
@@ -22678,7 +22699,7 @@ b.crewlet-switcher__match {
22678
22699
  }
22679
22700
 
22680
22701
 
22681
- /* TimeWindowPicker-BZ5HHATU.css */
22702
+ /* TimeWindowPicker-T763GLXH.css */
22682
22703
  /*
22683
22704
  * TimeWindowPicker: one trigger over one panel.
22684
22705
  *
@@ -22981,7 +23002,7 @@ svg.crewlet-time-window__tick {
22981
23002
  min-height: var(--size-control-sm);
22982
23003
  padding: 0 var(--spacing-2);
22983
23004
  background: var(--color-surface-subtle);
22984
- border: 1px solid var(--color-border-control);
23005
+ border: 1px solid var(--color-border-field);
22985
23006
  border-radius: var(--radius-md);
22986
23007
  font-family: var(--font-family-mono);
22987
23008
  font-size: var(--font-size-compact);
@@ -24908,7 +24929,7 @@ svg.crewlet-time-window__tick {
24908
24929
  }
24909
24930
 
24910
24931
 
24911
- /* TreeGrid-FBX3MSJA.css */
24932
+ /* TreeGrid-UCPV37XB.css */
24912
24933
  /*
24913
24934
  * A hierarchy as rows and columns (TreeGrid.tsx).
24914
24935
  *
@@ -24955,6 +24976,18 @@ svg.crewlet-time-window__tick {
24955
24976
  border-radius: var(--radius-lg);
24956
24977
  }
24957
24978
 
24979
+ /*
24980
+ * INSIDE A FLUSH CARD THE CARD IS THE FRAME. A flush card exists so that a
24981
+ * table's rows reach its edges (Card.css), and a grid that drew its own border
24982
+ * and corner there was a second rounded box one pixel inside the first, with
24983
+ * the card's footer hanging outside it. The rows keep their own hairlines.
24984
+ */
24985
+ .crewlet-card--flush .crewlet-tree-grid__grid {
24986
+ background: none;
24987
+ border: none;
24988
+ border-radius: 0;
24989
+ }
24990
+
24958
24991
  .crewlet-tree-grid__row {
24959
24992
  display: grid;
24960
24993
  grid-template-columns: var(--crewlet-tree-grid-columns, minmax(0, 1fr));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.22.0",
3
+ "version": "0.23.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.22.0",
46
- "@crewlethq/tokens": "0.22.0",
45
+ "@crewlethq/icons": "0.23.0",
46
+ "@crewlethq/tokens": "0.23.0",
47
47
  "uqr": "0.1.3"
48
48
  },
49
49
  "peerDependencies": {
@@ -1,5 +1,5 @@
1
- import { ConfirmModal } from './chunk-F4DPAJCN.js';
2
1
  import { InlineCode } from './chunk-5CLW2CXT.js';
2
+ import { ConfirmModal } from './chunk-F4DPAJCN.js';
3
3
  import { Callout } from './chunk-SVSCLHHI.js';
4
4
  import './LinkInterstitial-ET4MSVSV.css';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';