@crewlethq/ui 0.27.0 → 0.28.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 +27 -1
- package/dist/AppShell/index.js +3 -3
- package/dist/ArrangeGrid/ArrangeGrid.d.ts +22 -0
- package/dist/ArrangeGrid/index.d.ts +3 -0
- package/dist/ArrangeGrid/index.js +2 -0
- package/dist/ArrangeGrid-XM4ZFTED.css +17 -0
- package/dist/ArrangeGroup/index.js +1 -1
- package/dist/{ArrangeGroup-SHFHA7BE.css → ArrangeGroup-GY5YMP6E.css} +3 -4
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/Charts/index.js +1 -1
- package/dist/{Charts-JYW4X5ZL.css → Charts-RY4JN5FC.css} +12 -0
- package/dist/CommandPalette/index.js +3 -3
- package/dist/DataTable/DataTable.d.ts +9 -0
- package/dist/DataTable/index.js +4 -4
- package/dist/DataView/index.js +9 -9
- package/dist/DatasetSource/index.js +1 -1
- package/dist/{DatasetSource-47LBDMPR.css → DatasetSource-XFPZBRXL.css} +12 -4
- package/dist/DateTimePicker/index.js +3 -3
- package/dist/FollowBanner/index.js +2 -2
- package/dist/LinkInterstitial/index.js +3 -3
- package/dist/Menu/index.js +2 -2
- package/dist/Modal/index.js +2 -2
- package/dist/Note/Note.d.ts +10 -0
- package/dist/Note/index.js +1 -1
- package/dist/{Note-RT4L6VUT.css → Note-ONSKKTOA.css} +10 -0
- package/dist/PeopleRail/index.js +1 -1
- package/dist/PresenceStack/index.js +1 -1
- package/dist/PresenterView/index.js +3 -3
- package/dist/ShareDialog/index.js +4 -4
- package/dist/SheetGrid/index.js +4 -4
- package/dist/SlideCompare/index.js +3 -3
- package/dist/SlideFilmstrip/index.js +2 -2
- package/dist/SlideGrid/index.js +2 -2
- package/dist/SlideStage/index.js +1 -1
- package/dist/SlideStage/useSlideKeys.d.ts +9 -0
- package/dist/Switcher/index.js +4 -4
- package/dist/TimeWindowPicker/index.js +3 -3
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/WidgetFrame/WidgetFrame.d.ts +14 -1
- package/dist/WidgetFrame/index.js +1 -1
- package/dist/WidgetFrame-LRZIL62O.css +206 -0
- package/dist/{chunk-TD2MIINY.js → chunk-3C3BRIMY.js} +1 -1
- package/dist/{chunk-MLT2HBPN.js → chunk-77DRMDXR.js} +7 -2
- package/dist/{chunk-BQYQWJPK.js → chunk-AAOH2P6Y.js} +8 -2
- package/dist/{chunk-33Z2SEDQ.js → chunk-ALMSY7RL.js} +1 -1
- package/dist/{chunk-35XVR5JQ.js → chunk-B4EBHPK3.js} +2 -2
- package/dist/chunk-CJKMURZO.js +31 -0
- package/dist/{chunk-INTEH4F3.js → chunk-CT4EZF62.js} +2 -2
- package/dist/{chunk-SVW3VG72.js → chunk-EBJREOKS.js} +5 -4
- package/dist/{chunk-GTLJXJ3U.js → chunk-HCKJGBQH.js} +1 -1
- package/dist/{chunk-5OY4LJFH.js → chunk-HVNTQ36V.js} +2 -2
- package/dist/{chunk-3D7PSL2L.js → chunk-JODJS7MR.js} +2 -2
- package/dist/{chunk-URUGEAFB.js → chunk-JQLTG4KH.js} +1 -1
- package/dist/{chunk-UOPHR5CE.js → chunk-LR5QTFOE.js} +1 -1
- package/dist/{chunk-VCRFFIYI.js → chunk-O63MWA4G.js} +18 -13
- package/dist/{chunk-CTHM6YSJ.js → chunk-OGAAHVF6.js} +1 -1
- package/dist/chunk-QBA5B2Z5.js +17 -0
- package/dist/{chunk-RSC7UJCR.js → chunk-S6VG5ZFZ.js} +1 -1
- package/dist/{chunk-OJRDEVHV.js → chunk-VOMYRJV5.js} +4 -4
- package/dist/{chunk-BFQK7CYJ.js → chunk-WENCSQ47.js} +1 -1
- package/dist/{chunk-ZZDY4XL7.js → chunk-ZB5O3ELS.js} +12 -12
- package/dist/{chunk-L2OQRPXJ.js → chunk-ZR5VN5IV.js} +1 -1
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +62 -61
- package/dist/index.js +62 -61
- package/dist/styles.css +148 -20
- package/package.json +3 -3
- package/dist/WidgetFrame-4EFJOJMW.css +0 -127
- package/dist/chunk-63WJLRB2.js +0 -24
- package/dist/{chunk-UFKUWVMV.js → chunk-2HIOJ4YZ.js} +1 -1
- package/dist/{chunk-F4DPAJCN.js → chunk-I3KKZ2O3.js} +1 -1
- package/dist/{chunk-FW7HN6AP.js → chunk-LDJ3J4TQ.js} +1 -1
- package/dist/{chunk-SLRKS5PF.js → chunk-NWW4IQJU.js} +0 -0
- package/dist/{chunk-KZOGQXSP.js → chunk-OJ45PPCV.js} +1 -1
- package/dist/{chunk-LREN6TUG.js → chunk-UZ6MA2V6.js} +2 -2
- package/dist/{chunk-WG5WUFBX.js → chunk-Y5NQ2LMS.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -1704,7 +1704,27 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
1704
1704
|
}
|
|
1705
1705
|
|
|
1706
1706
|
|
|
1707
|
-
/*
|
|
1707
|
+
/* ArrangeGrid-XM4ZFTED.css */
|
|
1708
|
+
/*
|
|
1709
|
+
* ArrangeGrid: the page grid a board's blocks stand on. Equal columns, the
|
|
1710
|
+
* board's gap between them, and each block stretched to its row's height, so
|
|
1711
|
+
* the cards in one row share their bottom edge.
|
|
1712
|
+
*/
|
|
1713
|
+
.crewlet-arrange-grid {
|
|
1714
|
+
display: grid;
|
|
1715
|
+
grid-template-columns: repeat(var(--crewlet-arrange-columns, 12), minmax(0, 1fr));
|
|
1716
|
+
gap: var(--crewlet-arrange-board-gap, var(--spacing-4));
|
|
1717
|
+
align-items: stretch;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
/* More room between rows while the page is arranged: each block's toolbar
|
|
1721
|
+
sits on its top edge, half in the gap above it. */
|
|
1722
|
+
.crewlet-arrange-board.is-editing .crewlet-arrange-grid {
|
|
1723
|
+
row-gap: var(--spacing-5);
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
|
|
1727
|
+
/* ArrangeGroup-GY5YMP6E.css */
|
|
1708
1728
|
/*
|
|
1709
1729
|
* ArrangeGroup: a titled band of blocks. The hue is the header's; the body
|
|
1710
1730
|
* stays the page's ground, so the cards inside keep their own contrast.
|
|
@@ -1839,11 +1859,10 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
1839
1859
|
margin-inline-start: auto;
|
|
1840
1860
|
}
|
|
1841
1861
|
|
|
1862
|
+
/* The body is the page's grid (ArrangeGrid's `.crewlet-arrange-grid`), inside
|
|
1863
|
+
the group: the same columns and gap, so a block is one width on the page
|
|
1864
|
+
and in a group. */
|
|
1842
1865
|
.crewlet-arrange-group__body {
|
|
1843
|
-
display: grid;
|
|
1844
|
-
grid-template-columns: repeat(var(--crewlet-arrange-columns, 12), minmax(0, 1fr));
|
|
1845
|
-
gap: var(--spacing-4);
|
|
1846
|
-
align-items: stretch;
|
|
1847
1866
|
padding: var(--spacing-4);
|
|
1848
1867
|
min-height: 5rem;
|
|
1849
1868
|
}
|
|
@@ -4761,7 +4780,7 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
4761
4780
|
}
|
|
4762
4781
|
|
|
4763
4782
|
|
|
4764
|
-
/* Charts-
|
|
4783
|
+
/* Charts-RY4JN5FC.css */
|
|
4765
4784
|
/* The chart kit: a legend, a ranked bar list, a stacked bar, stacked
|
|
4766
4785
|
columns, an activity strip, a time series and the reading layer they share. Hand-drawn rather than a charting library, for one reason that
|
|
4767
4786
|
decides it: every mark here reads tokens, in two themes, at the contrast
|
|
@@ -5197,11 +5216,23 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
5197
5216
|
height: 0;
|
|
5198
5217
|
font-family: var(--font-family-mono);
|
|
5199
5218
|
font-size: var(--font-size-2xs);
|
|
5219
|
+
line-height: var(--font-line-height-tight);
|
|
5200
5220
|
color: var(--color-text-tertiary);
|
|
5201
5221
|
font-variant-numeric: tabular-nums;
|
|
5202
5222
|
white-space: nowrap;
|
|
5203
5223
|
}
|
|
5204
5224
|
|
|
5225
|
+
/*
|
|
5226
|
+
* THE TOP TICK STANDS ON THE PLOT'S TOP EDGE, centred on it, so half its line
|
|
5227
|
+
* sits above the plot. Under a head row that half falls in the row; with no
|
|
5228
|
+
* head it fell outside the figure, and a container that clips its content
|
|
5229
|
+
* (a dashboard widget's body) cut the axis's top value in half. The figure
|
|
5230
|
+
* keeps that half line above the plot itself.
|
|
5231
|
+
*/
|
|
5232
|
+
.crewlet-stacked-columns--headless {
|
|
5233
|
+
padding-block-start: calc(var(--font-size-2xs) * var(--font-line-height-tight) / 2);
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5205
5236
|
.crewlet-stacked-columns__plot {
|
|
5206
5237
|
position: relative;
|
|
5207
5238
|
display: flex;
|
|
@@ -9703,7 +9734,7 @@ body.crewlet-data-table-resizing {
|
|
|
9703
9734
|
}
|
|
9704
9735
|
|
|
9705
9736
|
|
|
9706
|
-
/* DatasetSource-
|
|
9737
|
+
/* DatasetSource-XFPZBRXL.css */
|
|
9707
9738
|
/*
|
|
9708
9739
|
* DatasetSource: one entry of a dashboard's Sources rail. The title and its
|
|
9709
9740
|
* source kind, the definition, then where the rows stand, how many there are
|
|
@@ -9767,7 +9798,9 @@ button.crewlet-dataset-source__summary:focus-visible {
|
|
|
9767
9798
|
overflow: hidden;
|
|
9768
9799
|
color: var(--color-text-primary);
|
|
9769
9800
|
font-size: var(--font-size-sm);
|
|
9770
|
-
|
|
9801
|
+
/* Medium, not semibold: the rail is the board's footnotes, and a column of
|
|
9802
|
+
semibold titles beside it outweighed the figures' own. */
|
|
9803
|
+
font-weight: var(--font-weight-medium);
|
|
9771
9804
|
line-height: var(--font-line-height-snug);
|
|
9772
9805
|
text-overflow: ellipsis;
|
|
9773
9806
|
white-space: nowrap;
|
|
@@ -9799,9 +9832,15 @@ button.crewlet-dataset-source__summary:focus-visible {
|
|
|
9799
9832
|
color: var(--color-text-secondary);
|
|
9800
9833
|
}
|
|
9801
9834
|
|
|
9802
|
-
/*
|
|
9803
|
-
.crewlet-dataset-
|
|
9804
|
-
|
|
9835
|
+
/* How the rows are kept current, on the quiet step under the facts. */
|
|
9836
|
+
.crewlet-dataset-source__refresh {
|
|
9837
|
+
color: var(--color-text-tertiary);
|
|
9838
|
+
font-size: var(--font-size-xs);
|
|
9839
|
+
line-height: var(--font-line-height-snug);
|
|
9840
|
+
}
|
|
9841
|
+
|
|
9842
|
+
/* The separator is drawn, not typed, so a screen reader hears the facts alone. */
|
|
9843
|
+
.crewlet-dataset-source__rows::before {
|
|
9805
9844
|
content: '\00b7' / '';
|
|
9806
9845
|
margin-inline-end: var(--spacing-2);
|
|
9807
9846
|
}
|
|
@@ -15152,7 +15191,7 @@ svg.crewlet-datetime__chevron {
|
|
|
15152
15191
|
}
|
|
15153
15192
|
|
|
15154
15193
|
|
|
15155
|
-
/* Note-
|
|
15194
|
+
/* Note-ONSKKTOA.css */
|
|
15156
15195
|
/*
|
|
15157
15196
|
* Note: words on a coloured paper. Each hue pairs its fill with its own ink.
|
|
15158
15197
|
*/
|
|
@@ -15196,6 +15235,16 @@ svg.crewlet-datetime__chevron {
|
|
|
15196
15235
|
letter-spacing: var(--font-letter-spacing-tight);
|
|
15197
15236
|
}
|
|
15198
15237
|
|
|
15238
|
+
/* The note's name, at a card title's step, in the note's own ink. */
|
|
15239
|
+
.crewlet-note__heading {
|
|
15240
|
+
margin: 0 0 var(--spacing-2);
|
|
15241
|
+
font-size: var(--font-size-sm);
|
|
15242
|
+
font-weight: var(--font-weight-semibold);
|
|
15243
|
+
letter-spacing: var(--font-letter-spacing-tight);
|
|
15244
|
+
line-height: var(--font-line-height-snug);
|
|
15245
|
+
text-wrap: balance;
|
|
15246
|
+
}
|
|
15247
|
+
|
|
15199
15248
|
/* Prose inside takes the note's ink, links included. */
|
|
15200
15249
|
.crewlet-note :is(p, li, h2, h3, h4, strong, em) {
|
|
15201
15250
|
color: inherit;
|
|
@@ -26678,7 +26727,7 @@ svg.crewlet-time-window__tick {
|
|
|
26678
26727
|
}
|
|
26679
26728
|
|
|
26680
26729
|
|
|
26681
|
-
/* WidgetFrame-
|
|
26730
|
+
/* WidgetFrame-LRZIL62O.css */
|
|
26682
26731
|
/*
|
|
26683
26732
|
* WidgetFrame: one figure on a dashboard. A title row, the figure filling the
|
|
26684
26733
|
* height the host's frame gives it, and the citation line at the foot.
|
|
@@ -26688,24 +26737,44 @@ svg.crewlet-time-window__tick {
|
|
|
26688
26737
|
box-sizing: border-box;
|
|
26689
26738
|
display: flex;
|
|
26690
26739
|
flex-direction: column;
|
|
26691
|
-
gap: var(--spacing-
|
|
26740
|
+
gap: var(--spacing-3);
|
|
26692
26741
|
min-width: 0;
|
|
26693
26742
|
height: 100%;
|
|
26694
26743
|
min-height: 0;
|
|
26695
|
-
|
|
26744
|
+
/* THE CARD'S OWN INSET, set on each part rather than on the frame, so a
|
|
26745
|
+
flush figure can give up its sides while the title and the citation keep
|
|
26746
|
+
theirs. */
|
|
26747
|
+
padding-block: var(--spacing-4);
|
|
26748
|
+
/* THE CARD RECIPE: the ground, the hairline and the corner every card on a
|
|
26749
|
+
board stands on, so a figure and the cards around it are one object. */
|
|
26696
26750
|
border: 1px solid var(--color-border-default);
|
|
26697
26751
|
border-radius: var(--radius-lg);
|
|
26698
|
-
background: var(--color-surface-
|
|
26752
|
+
background: var(--color-surface-subtle);
|
|
26753
|
+
/* Measured by its own width, for the citation below. */
|
|
26754
|
+
container: crewlet-widget-frame / inline-size;
|
|
26755
|
+
}
|
|
26756
|
+
|
|
26757
|
+
.crewlet-widget-frame__head,
|
|
26758
|
+
.crewlet-widget-frame__body,
|
|
26759
|
+
.crewlet-widget-frame__cite {
|
|
26760
|
+
padding-inline: var(--spacing-4);
|
|
26699
26761
|
}
|
|
26700
26762
|
|
|
26701
26763
|
.crewlet-widget-frame__head {
|
|
26702
26764
|
display: flex;
|
|
26703
|
-
align-items:
|
|
26765
|
+
align-items: flex-start;
|
|
26704
26766
|
gap: var(--spacing-2);
|
|
26705
26767
|
min-width: 0;
|
|
26706
26768
|
}
|
|
26707
26769
|
|
|
26770
|
+
/*
|
|
26771
|
+
* THE TITLE IS THE FIGURE'S ONLY NAME, so it is read whole: it takes a second
|
|
26772
|
+
* line before it gives up a word, and only a title longer than two lines ends
|
|
26773
|
+
* in an ellipsis. Cut at one line, a frame three columns wide named "Tokens,
|
|
26774
|
+
* last 14 days" as "Tokens, last 14 da".
|
|
26775
|
+
*/
|
|
26708
26776
|
.crewlet-widget-frame__title {
|
|
26777
|
+
display: -webkit-box;
|
|
26709
26778
|
flex: 1;
|
|
26710
26779
|
min-width: 0;
|
|
26711
26780
|
margin: 0;
|
|
@@ -26714,15 +26783,21 @@ svg.crewlet-time-window__tick {
|
|
|
26714
26783
|
font-size: var(--font-size-sm);
|
|
26715
26784
|
font-weight: var(--font-weight-semibold);
|
|
26716
26785
|
line-height: var(--font-line-height-snug);
|
|
26717
|
-
|
|
26718
|
-
|
|
26786
|
+
overflow-wrap: anywhere;
|
|
26787
|
+
text-wrap: pretty;
|
|
26788
|
+
-webkit-box-orient: vertical;
|
|
26789
|
+
-webkit-line-clamp: 2;
|
|
26790
|
+
line-clamp: 2;
|
|
26719
26791
|
}
|
|
26720
26792
|
|
|
26793
|
+
/* The controls stand on the title's first line: the box is one line of the
|
|
26794
|
+
title tall and the control is centred in it, whatever its own height. */
|
|
26721
26795
|
.crewlet-widget-frame__actions {
|
|
26722
26796
|
display: inline-flex;
|
|
26723
26797
|
flex: none;
|
|
26724
26798
|
align-items: center;
|
|
26725
26799
|
gap: var(--spacing-1);
|
|
26800
|
+
height: calc(var(--font-size-sm) * var(--font-line-height-snug));
|
|
26726
26801
|
}
|
|
26727
26802
|
|
|
26728
26803
|
.crewlet-widget-frame__body {
|
|
@@ -26732,6 +26807,24 @@ svg.crewlet-time-window__tick {
|
|
|
26732
26807
|
overflow: auto;
|
|
26733
26808
|
}
|
|
26734
26809
|
|
|
26810
|
+
/* A flush figure reaches the frame's sides, and a table's cells take the
|
|
26811
|
+
frame's inset, so its first column starts under the title and its row
|
|
26812
|
+
rules meet the border. */
|
|
26813
|
+
.crewlet-widget-frame--flush .crewlet-widget-frame__body {
|
|
26814
|
+
padding-inline: 0;
|
|
26815
|
+
}
|
|
26816
|
+
|
|
26817
|
+
.crewlet-widget-frame--flush .crewlet-data-table--compact {
|
|
26818
|
+
--crewlet-data-table-cell-pad-x: var(--spacing-4);
|
|
26819
|
+
}
|
|
26820
|
+
|
|
26821
|
+
/* A stat tile drawn flush as the figure stands on the frame's inset; its own
|
|
26822
|
+
is for a column of a StatGroup, and inside a frame it doubled the space
|
|
26823
|
+
around the label and under the value. */
|
|
26824
|
+
.crewlet-widget-frame__body .crewlet-statcard--flush {
|
|
26825
|
+
padding: 0;
|
|
26826
|
+
}
|
|
26827
|
+
|
|
26735
26828
|
.crewlet-widget-frame__blocked {
|
|
26736
26829
|
display: flex;
|
|
26737
26830
|
align-items: flex-start;
|
|
@@ -26754,10 +26847,16 @@ svg.crewlet-time-window__tick {
|
|
|
26754
26847
|
min-width: 0;
|
|
26755
26848
|
}
|
|
26756
26849
|
|
|
26850
|
+
/*
|
|
26851
|
+
* ONE LINE: the dataset's title gives up its tail before the time leaves the
|
|
26852
|
+
* line. Allowed to wrap, a long title was cut and its "as of" fell to a line
|
|
26853
|
+
* of its own that began with the separator.
|
|
26854
|
+
*/
|
|
26757
26855
|
.crewlet-widget-frame__cite-text,
|
|
26758
26856
|
.crewlet-widget-frame__cite-button {
|
|
26759
26857
|
display: inline-flex;
|
|
26760
|
-
flex-wrap:
|
|
26858
|
+
flex-wrap: nowrap;
|
|
26859
|
+
max-width: 100%;
|
|
26761
26860
|
align-items: center;
|
|
26762
26861
|
gap: 0 var(--spacing-1);
|
|
26763
26862
|
min-width: 0;
|
|
@@ -26789,6 +26888,8 @@ svg.crewlet-time-window__tick {
|
|
|
26789
26888
|
}
|
|
26790
26889
|
|
|
26791
26890
|
.crewlet-widget-frame__source {
|
|
26891
|
+
flex: 0 1 auto;
|
|
26892
|
+
min-width: 0;
|
|
26792
26893
|
overflow: hidden;
|
|
26793
26894
|
color: var(--color-text-secondary);
|
|
26794
26895
|
font-weight: var(--font-weight-medium);
|
|
@@ -26802,7 +26903,34 @@ svg.crewlet-time-window__tick {
|
|
|
26802
26903
|
margin-inline-end: var(--spacing-1);
|
|
26803
26904
|
}
|
|
26804
26905
|
|
|
26906
|
+
.crewlet-widget-frame__when {
|
|
26907
|
+
flex: none;
|
|
26908
|
+
white-space: nowrap;
|
|
26909
|
+
}
|
|
26910
|
+
|
|
26911
|
+
/*
|
|
26912
|
+
* A NARROW FRAME STACKS ITS CITATION: the dataset's title on one line and
|
|
26913
|
+
* when it was true under it, with no separator to begin a line. Side by side
|
|
26914
|
+
* in a frame three columns wide, the title kept four letters ("Open w...").
|
|
26915
|
+
*/
|
|
26916
|
+
@container crewlet-widget-frame (width < 18rem) {
|
|
26917
|
+
.crewlet-widget-frame__cite-text,
|
|
26918
|
+
.crewlet-widget-frame__cite-button {
|
|
26919
|
+
flex-direction: column;
|
|
26920
|
+
align-items: flex-start;
|
|
26921
|
+
}
|
|
26922
|
+
|
|
26923
|
+
.crewlet-widget-frame__source {
|
|
26924
|
+
max-width: 100%;
|
|
26925
|
+
}
|
|
26926
|
+
|
|
26927
|
+
.crewlet-widget-frame__when::before {
|
|
26928
|
+
content: none;
|
|
26929
|
+
}
|
|
26930
|
+
}
|
|
26931
|
+
|
|
26805
26932
|
.crewlet-widget-frame__stale {
|
|
26806
26933
|
display: inline-flex;
|
|
26934
|
+
flex: none;
|
|
26807
26935
|
color: var(--color-feedback-warning-ink);
|
|
26808
26936
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.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.28.0",
|
|
46
|
+
"@crewlethq/tokens": "0.28.0",
|
|
47
47
|
"uqr": "0.1.3"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WidgetFrame: one figure on a dashboard. A title row, the figure filling the
|
|
3
|
-
* height the host's frame gives it, and the citation line at the foot.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
.crewlet-widget-frame {
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
gap: var(--spacing-2);
|
|
11
|
-
min-width: 0;
|
|
12
|
-
height: 100%;
|
|
13
|
-
min-height: 0;
|
|
14
|
-
padding: var(--spacing-3) var(--spacing-4);
|
|
15
|
-
border: 1px solid var(--color-border-default);
|
|
16
|
-
border-radius: var(--radius-lg);
|
|
17
|
-
background: var(--color-surface-elevated);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.crewlet-widget-frame__head {
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
gap: var(--spacing-2);
|
|
24
|
-
min-width: 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.crewlet-widget-frame__title {
|
|
28
|
-
flex: 1;
|
|
29
|
-
min-width: 0;
|
|
30
|
-
margin: 0;
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
color: var(--color-text-primary);
|
|
33
|
-
font-size: var(--font-size-sm);
|
|
34
|
-
font-weight: var(--font-weight-semibold);
|
|
35
|
-
line-height: var(--font-line-height-snug);
|
|
36
|
-
text-overflow: ellipsis;
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.crewlet-widget-frame__actions {
|
|
41
|
-
display: inline-flex;
|
|
42
|
-
flex: none;
|
|
43
|
-
align-items: center;
|
|
44
|
-
gap: var(--spacing-1);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.crewlet-widget-frame__body {
|
|
48
|
-
flex: 1;
|
|
49
|
-
min-width: 0;
|
|
50
|
-
min-height: 0;
|
|
51
|
-
overflow: auto;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.crewlet-widget-frame__blocked {
|
|
55
|
-
display: flex;
|
|
56
|
-
align-items: flex-start;
|
|
57
|
-
gap: var(--spacing-2);
|
|
58
|
-
margin: 0;
|
|
59
|
-
color: var(--color-text-secondary);
|
|
60
|
-
font-size: var(--font-size-sm);
|
|
61
|
-
line-height: var(--font-line-height-normal);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.crewlet-widget-frame__blocked-glyph {
|
|
65
|
-
display: inline-flex;
|
|
66
|
-
flex: none;
|
|
67
|
-
padding-top: 2px;
|
|
68
|
-
color: var(--color-text-tertiary);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.crewlet-widget-frame__cite {
|
|
72
|
-
display: flex;
|
|
73
|
-
min-width: 0;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.crewlet-widget-frame__cite-text,
|
|
77
|
-
.crewlet-widget-frame__cite-button {
|
|
78
|
-
display: inline-flex;
|
|
79
|
-
flex-wrap: wrap;
|
|
80
|
-
align-items: center;
|
|
81
|
-
gap: 0 var(--spacing-1);
|
|
82
|
-
min-width: 0;
|
|
83
|
-
color: var(--color-text-tertiary);
|
|
84
|
-
font-size: var(--font-size-xs);
|
|
85
|
-
line-height: var(--font-line-height-snug);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.crewlet-widget-frame__cite-button {
|
|
89
|
-
margin: 0;
|
|
90
|
-
padding: 0;
|
|
91
|
-
border: 0;
|
|
92
|
-
border-radius: var(--radius-xs);
|
|
93
|
-
background: none;
|
|
94
|
-
font: inherit;
|
|
95
|
-
font-size: var(--font-size-xs);
|
|
96
|
-
text-align: start;
|
|
97
|
-
cursor: pointer;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.crewlet-widget-frame__cite-button:hover .crewlet-widget-frame__source {
|
|
101
|
-
color: var(--color-text-primary);
|
|
102
|
-
text-decoration: underline;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.crewlet-widget-frame__cite-button:focus-visible {
|
|
106
|
-
outline: 2px solid var(--color-focus);
|
|
107
|
-
outline-offset: var(--size-focus-ring-inset-offset);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.crewlet-widget-frame__source {
|
|
111
|
-
overflow: hidden;
|
|
112
|
-
color: var(--color-text-secondary);
|
|
113
|
-
font-weight: var(--font-weight-medium);
|
|
114
|
-
text-overflow: ellipsis;
|
|
115
|
-
white-space: nowrap;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/* The separator is drawn, not typed, so a screen reader hears the facts alone. */
|
|
119
|
-
.crewlet-widget-frame__when::before {
|
|
120
|
-
content: '\00b7' / '';
|
|
121
|
-
margin-inline-end: var(--spacing-1);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.crewlet-widget-frame__stale {
|
|
125
|
-
display: inline-flex;
|
|
126
|
-
color: var(--color-feedback-warning-ink);
|
|
127
|
-
}
|
package/dist/chunk-63WJLRB2.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { cx } from './chunk-ODEQTPFM.js';
|
|
2
|
-
import './Note-RT4L6VUT.css';
|
|
3
|
-
import { forwardRef } from 'react';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var Note = forwardRef(function Note2({ tone = "amber", align = "start", size = "md", className, children, ...rest }, ref) {
|
|
7
|
-
return /* @__PURE__ */ jsx(
|
|
8
|
-
"div",
|
|
9
|
-
{
|
|
10
|
-
ref,
|
|
11
|
-
className: cx(
|
|
12
|
-
"crewlet-note",
|
|
13
|
-
`crewlet-note--${tone}`,
|
|
14
|
-
align === "center" && "crewlet-note--center",
|
|
15
|
-
size === "lg" && "crewlet-note--lg",
|
|
16
|
-
className
|
|
17
|
-
),
|
|
18
|
-
...rest,
|
|
19
|
-
children
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export { Note };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Button } from './chunk-OG6CL3EB.js';
|
|
2
1
|
import { useLayerContainer, viewportBounds, LAYER_GAP, outsideBounds, placePopup, LAYER_REPOSITION_EVENT } from './chunk-HMPFGIWM.js';
|
|
3
2
|
import { usePopupLayer } from './chunk-R25RGPUB.js';
|
|
3
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
4
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './Menu-KEKAD3BZ.css';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
2
|
-
import { Button } from './chunk-OG6CL3EB.js';
|
|
3
2
|
import { useLayerContainer } from './chunk-HMPFGIWM.js';
|
|
4
3
|
import { focusables, useModalLayer, useBodyScrollLock } from './chunk-R25RGPUB.js';
|
|
4
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
5
5
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './Modal-XOSV6FAH.css';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Callout } from './chunk-SVSCLHHI.js';
|
|
2
|
-
import { Button } from './chunk-OG6CL3EB.js';
|
|
3
2
|
import { isComposing } from './chunk-R25RGPUB.js';
|
|
3
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
5
|
import { useEffect } from 'react';
|
|
6
6
|
import { EyeGlyph, UserGlyph } from '@crewlethq/icons/glyphs';
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LayerNodeBridge } from './chunk-VYOKRN2I.js';
|
|
2
|
-
import { Button } from './chunk-OG6CL3EB.js';
|
|
3
2
|
import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-HMPFGIWM.js';
|
|
3
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
4
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
5
5
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Select } from './chunk-FC4YTTFJ.js';
|
|
2
|
+
import { Popover } from './chunk-BWRGFKJP.js';
|
|
2
3
|
import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
|
|
3
4
|
import { Input } from './chunk-6QFAK2WV.js';
|
|
4
|
-
import { Popover } from './chunk-BWRGFKJP.js';
|
|
5
|
-
import { Button } from './chunk-OG6CL3EB.js';
|
|
6
5
|
import { isComposing } from './chunk-R25RGPUB.js';
|
|
6
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
7
7
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
8
8
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
9
9
|
import './TimeWindowPicker-T763GLXH.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
|
|
2
1
|
import { Popover } from './chunk-BWRGFKJP.js';
|
|
2
|
+
import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
|
|
3
3
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
4
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|