@crewlethq/ui 0.67.0 → 0.69.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 (61) hide show
  1. package/README.md +6 -2
  2. package/dist/AgentHandoffPanel/index.js +3 -3
  3. package/dist/AvatarPicker/index.js +3 -3
  4. package/dist/BriefCard/BriefCard.d.ts +80 -0
  5. package/dist/BriefCard/index.d.ts +3 -0
  6. package/dist/BriefCard/index.js +13 -0
  7. package/dist/BriefCard-L66R5U32.css +127 -0
  8. package/dist/CharacterPicker/index.js +2 -2
  9. package/dist/CommandPalette/index.js +2 -2
  10. package/dist/CommentThread/index.js +3 -3
  11. package/dist/Composer/index.js +2 -2
  12. package/dist/DataTable/index.js +2 -2
  13. package/dist/DataView/index.js +4 -4
  14. package/dist/DatasetSource/index.js +1 -1
  15. package/dist/DeepWorkCard/index.js +1 -1
  16. package/dist/EditingStatus/index.js +2 -2
  17. package/dist/EntityList/index.js +1 -1
  18. package/dist/InboxList/InboxList.d.ts +45 -3
  19. package/dist/InboxList/index.js +1 -1
  20. package/dist/{InboxList-OCL2M3ZF.css → InboxList-OFGSX5IH.css} +137 -6
  21. package/dist/InlineEditor/index.js +3 -3
  22. package/dist/LinkInterstitial/index.js +2 -2
  23. package/dist/ListInput/index.js +2 -2
  24. package/dist/OpenInAppCard/index.js +1 -1
  25. package/dist/ProposalCard/index.js +3 -3
  26. package/dist/RefusalCard/index.js +1 -1
  27. package/dist/ResultTableCard/index.js +2 -2
  28. package/dist/RichEditor/index.js +1 -1
  29. package/dist/SetupWizard/index.js +2 -2
  30. package/dist/ShareDialog/index.js +2 -2
  31. package/dist/SheetColumnEditor/index.js +3 -3
  32. package/dist/SheetGrid/index.js +3 -3
  33. package/dist/StatusCard/index.js +1 -1
  34. package/dist/TableCells/index.js +1 -1
  35. package/dist/{chunk-QBWNGNF7.js → chunk-4E3CE2UK.js} +1 -1
  36. package/dist/{chunk-WUQVAFTC.js → chunk-BXEKD5NU.js} +1 -1
  37. package/dist/{chunk-BVNFNFA6.js → chunk-DS5NBENV.js} +1 -1
  38. package/dist/{chunk-5OVTWY3I.js → chunk-NJYB4VJI.js} +1 -1
  39. package/dist/chunk-NTFVEOYY.js +87 -0
  40. package/dist/{chunk-UBJ32EO2.js → chunk-OWQATZGW.js} +1 -1
  41. package/dist/{chunk-62DBFNOK.js → chunk-QPHD4UUG.js} +82 -6
  42. package/dist/{chunk-J5BIKMQY.js → chunk-RLBGU35B.js} +2 -2
  43. package/dist/generated/index.d.ts +1 -0
  44. package/dist/generated/index.js +58 -57
  45. package/dist/index.js +58 -57
  46. package/dist/styles.css +268 -7
  47. package/package.json +3 -3
  48. package/dist/{Editor-URGZOK2S.js → Editor-NZRUKWB4.js} +1 -1
  49. package/dist/{chunk-VLGGLLKH.js → chunk-AIMMHN5J.js} +1 -1
  50. package/dist/{chunk-PZAOUZFZ.js → chunk-EHB4TSP2.js} +1 -1
  51. package/dist/{chunk-2AQMXGWA.js → chunk-HXJHRQDR.js} +1 -1
  52. package/dist/{chunk-MNTUIAQT.js → chunk-IABWA76I.js} +1 -1
  53. package/dist/{chunk-TXQNWGUD.js → chunk-KBXSOBLD.js} +0 -0
  54. package/dist/{chunk-WWXIGN4O.js → chunk-L4UO57YP.js} +1 -1
  55. package/dist/{chunk-KQGOVBGF.js → chunk-O3BNL4TV.js} +1 -1
  56. package/dist/{chunk-OOC6KXNL.js → chunk-S2UHV52X.js} +1 -1
  57. package/dist/{chunk-R2YHKVWN.js → chunk-SBHAKX2T.js} +1 -1
  58. package/dist/{chunk-CFY257ND.js → chunk-UYK3SGZI.js} +1 -1
  59. package/dist/{chunk-SNQRGH4A.js → chunk-VZICPYGR.js} +1 -1
  60. package/dist/{chunk-5OFRDX66.js → chunk-XWOH3UPZ.js} +1 -1
  61. package/dist/{chunk-SBOUVASH.js → chunk-ZHVLDRAT.js} +1 -1
package/dist/styles.css CHANGED
@@ -5757,6 +5757,136 @@ a.crewlet-breadcrumb__crumb:focus-visible {
5757
5757
  }
5758
5758
 
5759
5759
 
5760
+ /* BriefCard-L66R5U32.css */
5761
+ /*
5762
+ * A brief inside the product's status card: one sentence, the rows that wait
5763
+ * on the reader, one recommendation and the questions to ask next, each block
5764
+ * under a quiet label so a reader scans straight to the part they need.
5765
+ */
5766
+ .crewlet-brief-card__where {
5767
+ display: inline-flex;
5768
+ flex-wrap: wrap;
5769
+ gap: var(--spacing-1);
5770
+ }
5771
+
5772
+ .crewlet-brief-card__asof {
5773
+ white-space: nowrap;
5774
+ }
5775
+
5776
+ .crewlet-brief-card__body {
5777
+ display: flex;
5778
+ flex-direction: column;
5779
+ gap: var(--spacing-4);
5780
+ min-width: 0;
5781
+ }
5782
+
5783
+ .crewlet-brief-card__summary {
5784
+ margin: 0;
5785
+ font-size: var(--font-size-md);
5786
+ font-weight: var(--font-weight-medium);
5787
+ line-height: var(--font-line-height-snug);
5788
+ text-wrap: pretty;
5789
+ }
5790
+
5791
+ .crewlet-brief-card__block {
5792
+ display: flex;
5793
+ flex-direction: column;
5794
+ gap: var(--spacing-2);
5795
+ min-width: 0;
5796
+ }
5797
+
5798
+ .crewlet-brief-card__label {
5799
+ margin: 0;
5800
+ font-size: var(--font-size-2xs);
5801
+ font-weight: var(--font-weight-medium);
5802
+ letter-spacing: var(--font-letter-spacing-wide);
5803
+ text-transform: uppercase;
5804
+ line-height: var(--font-line-height-snug);
5805
+ color: var(--color-text-tertiary);
5806
+ }
5807
+
5808
+ .crewlet-brief-card__needs {
5809
+ display: flex;
5810
+ flex-direction: column;
5811
+ margin: 0;
5812
+ padding: 0;
5813
+ list-style: none;
5814
+ }
5815
+
5816
+ /*
5817
+ * A ROW IS THE LIST ROW'S GRAMMAR: the dot on the first line, the words and
5818
+ * their one fact, and the action centred at the end, so a column of rows reads
5819
+ * down the dots and across to the presses.
5820
+ */
5821
+ .crewlet-brief-card__need {
5822
+ display: grid;
5823
+ grid-template-columns: auto minmax(0, 1fr) auto;
5824
+ align-items: start;
5825
+ gap: var(--spacing-3);
5826
+ padding-block: var(--spacing-2);
5827
+ }
5828
+
5829
+ .crewlet-brief-card__need + .crewlet-brief-card__need {
5830
+ border-top: 1px solid var(--color-border-default);
5831
+ }
5832
+
5833
+ .crewlet-brief-card__need > .crewlet-button {
5834
+ align-self: center;
5835
+ }
5836
+
5837
+ .crewlet-brief-card__dot {
5838
+ display: inline-flex;
5839
+ align-items: center;
5840
+ height: 1lh;
5841
+ font-size: var(--font-size-compact);
5842
+ }
5843
+
5844
+ .crewlet-brief-card__words {
5845
+ display: flex;
5846
+ flex-direction: column;
5847
+ gap: var(--spacing-0);
5848
+ min-width: 0;
5849
+ overflow-wrap: anywhere;
5850
+ font-size: var(--font-size-compact);
5851
+ }
5852
+
5853
+ .crewlet-brief-card__detail {
5854
+ font-size: var(--font-size-xs);
5855
+ color: var(--color-text-tertiary);
5856
+ }
5857
+
5858
+ .crewlet-brief-card__clear {
5859
+ display: inline-flex;
5860
+ align-items: center;
5861
+ gap: var(--spacing-2);
5862
+ margin: 0;
5863
+ font-size: var(--font-size-compact);
5864
+ color: var(--color-feedback-success-ink);
5865
+ }
5866
+
5867
+ /* The recommendation: one step, on the accent's softest ground. */
5868
+ .crewlet-brief-card__next {
5869
+ display: grid;
5870
+ grid-template-columns: auto minmax(0, 1fr) auto;
5871
+ align-items: center;
5872
+ gap: var(--spacing-3);
5873
+ padding: var(--spacing-2) var(--spacing-3);
5874
+ border-radius: var(--radius-md);
5875
+ background: var(--color-brand-accent-soft);
5876
+ overflow-wrap: anywhere;
5877
+ font-size: var(--font-size-compact);
5878
+ }
5879
+
5880
+ .crewlet-brief-card__arrow {
5881
+ color: var(--color-brand-accent-ink);
5882
+ }
5883
+
5884
+ /* The questions to ask next sit on the card's text edge: each row's own inset is pulled out. */
5885
+ .crewlet-brief-card__follow-ups {
5886
+ margin-inline: calc(-1 * var(--spacing-3));
5887
+ }
5888
+
5889
+
5760
5890
  /* Button-VRRYSXFN.css */
5761
5891
  /*
5762
5892
  * The button, and the link drawn as one.
@@ -19423,7 +19553,7 @@ a.crewlet-icon-btn {
19423
19553
  }
19424
19554
 
19425
19555
 
19426
- /* InboxList-OCL2M3ZF.css */
19556
+ /* InboxList-OFGSX5IH.css */
19427
19557
  /*
19428
19558
  * The inbox's column: groups of rows, each row a control with the task it is
19429
19559
  * about under it, and the quiet toggles at the end.
@@ -19459,6 +19589,63 @@ a.crewlet-icon-btn {
19459
19589
  line-height: var(--font-line-height-snug);
19460
19590
  }
19461
19591
 
19592
+ /* The count after a label, in the quiet ink and the label's own register. */
19593
+ .crewlet-inbox-list__count {
19594
+ margin-inline-start: var(--spacing-1);
19595
+ font-size: var(--font-size-2xs);
19596
+ font-variant-numeric: tabular-nums;
19597
+ color: var(--color-text-tertiary);
19598
+ }
19599
+
19600
+ /*
19601
+ * A collapsible group's label is a button the width of the column, so the
19602
+ * whole line is the target, with the chevron turned a quarter while closed.
19603
+ */
19604
+ .crewlet-inbox-list__disclosure {
19605
+ display: flex;
19606
+ align-items: center;
19607
+ gap: var(--spacing-1);
19608
+ width: 100%;
19609
+ min-height: var(--size-target-min);
19610
+ margin: calc(var(--spacing-1) * -1) 0;
19611
+ padding: 0;
19612
+ border: 0;
19613
+ border-radius: var(--radius-xs);
19614
+ background: none;
19615
+ color: inherit;
19616
+ font: inherit;
19617
+ text-align: left;
19618
+ cursor: pointer;
19619
+ }
19620
+
19621
+ .crewlet-inbox-list__disclosure:focus-visible {
19622
+ outline: 2px solid var(--color-focus);
19623
+ outline-offset: var(--size-focus-ring-inset-offset);
19624
+ }
19625
+
19626
+ .crewlet-inbox-list__chevron {
19627
+ flex: none;
19628
+ color: var(--color-text-tertiary);
19629
+ transform: rotate(-90deg);
19630
+ transition: transform var(--motion-duration-fast) var(--motion-easing-default);
19631
+ }
19632
+
19633
+ .crewlet-inbox-list__disclosure[aria-expanded='true'] .crewlet-inbox-list__chevron {
19634
+ transform: rotate(0deg);
19635
+ }
19636
+
19637
+ .crewlet-inbox-list__disclosure:hover .crewlet-inbox-list__chevron {
19638
+ color: var(--color-text-primary);
19639
+ }
19640
+
19641
+ .crewlet-inbox-list__disclosure .crewlet-inbox-list__count {
19642
+ margin-inline-start: 0;
19643
+ }
19644
+
19645
+ .crewlet-inbox-list__rows[hidden] {
19646
+ display: none;
19647
+ }
19648
+
19462
19649
  .crewlet-inbox-list__rows {
19463
19650
  display: grid;
19464
19651
  grid-template-columns: minmax(0, 1fr);
@@ -19620,16 +19807,89 @@ a.crewlet-icon-btn {
19620
19807
  }
19621
19808
 
19622
19809
  /*
19623
- * Settled. The strike is drawn in the strong hairline rather than the text's
19624
- * own ink, so the words under it stay legible; the state is also read out,
19625
- * because a line through a word says nothing to somebody listening.
19810
+ * Settled. The name drops to the regular weight and the words to the
19811
+ * secondary ink, which still reads at body contrast: a settled row is read
19812
+ * again, to see what came of it. No strike, which says "cancelled" and cuts
19813
+ * through the letters a reader is trying to read; the state is read out, and
19814
+ * the outcome line and any status say it in words.
19626
19815
  */
19816
+ .crewlet-inbox-row__control--done .crewlet-inbox-row__title {
19817
+ font-weight: var(--font-weight-regular);
19818
+ color: var(--color-text-secondary);
19819
+ }
19820
+
19627
19821
  .crewlet-inbox-row__control--done .crewlet-inbox-row__text {
19628
- text-decoration: line-through;
19629
- text-decoration-color: var(--color-border-strong);
19822
+ color: var(--color-text-secondary);
19823
+ }
19824
+
19825
+ .crewlet-inbox-row__status {
19826
+ display: inline-flex;
19827
+ flex: none;
19828
+ align-items: center;
19829
+ }
19830
+
19831
+ /* With a status, the time stays at the end and the status sits beside it. */
19832
+ .crewlet-inbox-row__status + .crewlet-inbox-row__meta {
19833
+ margin-inline-start: 0;
19834
+ }
19835
+
19836
+ .crewlet-inbox-row__head > .crewlet-inbox-row__status {
19837
+ margin-inline-start: auto;
19838
+ }
19839
+
19840
+ /*
19841
+ * What came of the row: a glyph in the tone's ink, then words in the
19842
+ * secondary ink, on one line that wraps rather than cuts.
19843
+ */
19844
+ .crewlet-inbox-row__outcome {
19845
+ display: flex;
19846
+ align-items: flex-start;
19847
+ gap: var(--spacing-1);
19848
+ min-width: 0;
19849
+ padding-top: 2px;
19850
+ font-size: var(--font-size-xs);
19851
+ line-height: var(--font-line-height-snug);
19852
+ color: var(--color-text-secondary);
19853
+ overflow-wrap: anywhere;
19854
+ }
19855
+
19856
+ .crewlet-inbox-row__outcome-icon {
19857
+ display: inline-flex;
19858
+ flex: none;
19859
+ align-items: center;
19860
+ height: 1lh;
19630
19861
  color: var(--color-text-tertiary);
19631
19862
  }
19632
19863
 
19864
+ .crewlet-inbox-row__outcome--success .crewlet-inbox-row__outcome-icon {
19865
+ color: var(--color-feedback-success-ink);
19866
+ }
19867
+
19868
+ .crewlet-inbox-row__outcome--info .crewlet-inbox-row__outcome-icon {
19869
+ color: var(--color-feedback-info-ink);
19870
+ }
19871
+
19872
+ .crewlet-inbox-row__outcome--warning .crewlet-inbox-row__outcome-icon {
19873
+ color: var(--color-feedback-warning-ink);
19874
+ }
19875
+
19876
+ .crewlet-inbox-row__outcome--danger .crewlet-inbox-row__outcome-icon {
19877
+ color: var(--color-feedback-danger-ink);
19878
+ }
19879
+
19880
+ .crewlet-inbox-row__outcome--brand .crewlet-inbox-row__outcome-icon {
19881
+ color: var(--color-brand-accent);
19882
+ }
19883
+
19884
+ .crewlet-inbox-row__outcome-text {
19885
+ min-width: 0;
19886
+ }
19887
+
19888
+ .crewlet-inbox-row__outcome-text strong {
19889
+ font-weight: var(--font-weight-medium);
19890
+ color: var(--color-text-primary);
19891
+ }
19892
+
19633
19893
  /*
19634
19894
  * The task, under the words and lined up with them: the control's start pad,
19635
19895
  * the leading slot and the gap after it.
@@ -19685,7 +19945,8 @@ a.crewlet-icon-btn {
19685
19945
  transition: none;
19686
19946
  }
19687
19947
 
19688
- .crewlet-inbox-list__toggle {
19948
+ .crewlet-inbox-list__toggle,
19949
+ .crewlet-inbox-list__chevron {
19689
19950
  transition: none;
19690
19951
  }
19691
19952
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.67.0",
3
+ "version": "0.69.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.67.0",
46
- "@crewlethq/tokens": "0.67.0",
45
+ "@crewlethq/icons": "0.69.0",
46
+ "@crewlethq/tokens": "0.69.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 { richEditorLabels } from './chunk-CSQTDGTS.js';
2
1
  import { schema, readMarkdown, writeMarkdown } from './chunk-QH6VYJ3X.js';
2
+ import { richEditorLabels } from './chunk-CSQTDGTS.js';
3
3
  import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-BAKPMH3S.js';
4
4
  import { Toolbar } from './chunk-NR4CPM4T.js';
5
5
  import { FormField, Input } from './chunk-ETSF7SU6.js';
@@ -1,5 +1,5 @@
1
- import { StatusDot } from './chunk-WIATRXEJ.js';
2
1
  import { toISO, useNow, formatRelative } from './chunk-EJNJMHQG.js';
2
+ import { StatusDot } from './chunk-WIATRXEJ.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './EditingStatus-TMGT265J.css';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  import { Modal } from './chunk-I24FI46B.js';
2
2
  import { useListbox, useHighlightRest } from './chunk-7KHM2FZH.js';
3
- import { Kbd } from './chunk-ANTAQAR4.js';
4
3
  import { Input } from './chunk-ETSF7SU6.js';
4
+ import { Kbd } from './chunk-ANTAQAR4.js';
5
5
  import { Count } from './chunk-MLDTLZAO.js';
6
6
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
7
7
  import { isComposing } from './chunk-H5XTJ7GJ.js';
@@ -1,6 +1,6 @@
1
1
  import { RefusalStrip, ReceiptStrip } from './chunk-M25IV5MH.js';
2
- import { StatusCard } from './chunk-NTQPJJAN.js';
3
2
  import { ChangeList } from './chunk-WQRSZMN4.js';
3
+ import { StatusCard } from './chunk-NTQPJJAN.js';
4
4
  import { Checkbox } from './chunk-PBCNINMB.js';
5
5
  import { Disclosure } from './chunk-222VILSP.js';
6
6
  import { Button } from './chunk-7QTPJDRF.js';
@@ -1,7 +1,7 @@
1
1
  import { useReorder } from './chunk-MPVMB2DV.js';
2
- import { Kbd } from './chunk-ANTAQAR4.js';
3
2
  import { FormField, Textarea } from './chunk-ETSF7SU6.js';
4
3
  import { characterCountState, CharacterCount, countCharacters } from './chunk-PGCLHYVP.js';
4
+ import { Kbd } from './chunk-ANTAQAR4.js';
5
5
  import { announce } from './chunk-2G355KDJ.js';
6
6
  import { Button } from './chunk-7QTPJDRF.js';
7
7
  import { isComposing } from './chunk-H5XTJ7GJ.js';
File without changes
@@ -1,6 +1,6 @@
1
1
  import { Select } from './chunk-VK45YJLH.js';
2
- import { CopyButton } from './chunk-IYG4ETAQ.js';
3
2
  import { Modal } from './chunk-I24FI46B.js';
3
+ import { CopyButton } from './chunk-IYG4ETAQ.js';
4
4
  import { Callout } from './chunk-BPCY7ZID.js';
5
5
  import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
6
6
  import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
@@ -1,5 +1,5 @@
1
- import { InlineCode } from './chunk-PLL7ZJHY.js';
2
1
  import { ConfirmModal } from './chunk-I24FI46B.js';
2
+ import { InlineCode } from './chunk-PLL7ZJHY.js';
3
3
  import { Callout } from './chunk-BPCY7ZID.js';
4
4
  import './LinkInterstitial-ET4MSVSV.css';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -6,9 +6,9 @@ import { isEmptyValue, displayText, ratingMax, findPerson, findOption, statusTon
6
6
  import { presenceLabels } from './chunk-Z7JYG5TF.js';
7
7
  import { Popover } from './chunk-KHJIEPZV.js';
8
8
  import { Tag } from './chunk-I5OIKDX2.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-T73DMDU4.js';
13
13
  import { Button } from './chunk-7QTPJDRF.js';
14
14
  import { isComposing } from './chunk-H5XTJ7GJ.js';
@@ -1,5 +1,5 @@
1
- import { PageHeader } from './chunk-FPDIHEM4.js';
2
1
  import { Stepper } from './chunk-HJBHP66O.js';
2
+ import { PageHeader } from './chunk-FPDIHEM4.js';
3
3
  import { Disclosure } from './chunk-222VILSP.js';
4
4
  import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';
5
5
  import { useMediaMatch } from './chunk-RTPQDNW3.js';
@@ -1,5 +1,5 @@
1
- import { useClipboard } from './chunk-STJ7QBC3.js';
2
1
  import { Modal } from './chunk-I24FI46B.js';
2
+ import { useClipboard } from './chunk-STJ7QBC3.js';
3
3
  import { EmptyValue } from './chunk-RE3FBGQQ.js';
4
4
  import { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
5
5
  import { Checkbox } from './chunk-PBCNINMB.js';
@@ -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';
@@ -1,5 +1,5 @@
1
- import { Kbd } from './chunk-ANTAQAR4.js';
2
1
  import { Textarea } from './chunk-ETSF7SU6.js';
2
+ import { Kbd } from './chunk-ANTAQAR4.js';
3
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
4
4
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -3,8 +3,8 @@ import { SHEET_LABELS, SHEET_COLUMN_TYPES, optionHue, retypeColumn } from './chu
3
3
  import { HueSwatch } from './chunk-2EA2GSA2.js';
4
4
  import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
5
5
  import { Checkbox } from './chunk-PBCNINMB.js';
6
- import { Kbd } from './chunk-ANTAQAR4.js';
7
6
  import { FormField, Input } from './chunk-ETSF7SU6.js';
7
+ import { Kbd } from './chunk-ANTAQAR4.js';
8
8
  import { Menu } from './chunk-T73DMDU4.js';
9
9
  import { Button } from './chunk-7QTPJDRF.js';
10
10
  import { IconButton } from './chunk-UAUP6XGK.js';