@galaxy-io/dls 2.0.0 → 2.0.2
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/dist/charts/BarChart.js +29 -13
- package/dist/charts/ChartCategoryTargets.d.ts +2 -2
- package/dist/charts/ChartCategoryTargets.js +2 -1
- package/dist/charts/ChartFrame.d.ts +7 -5
- package/dist/charts/ChartFrame.js +151 -76
- package/dist/charts/ChartLegend.d.ts +14 -4
- package/dist/charts/ChartLegend.js +90 -53
- package/dist/charts/ChartMarkTargets.d.ts +2 -2
- package/dist/charts/ChartMarkTargets.js +2 -1
- package/dist/charts/Heatmap.js +19 -7
- package/dist/charts/LineChart.js +19 -8
- package/dist/charts/PieChart.js +16 -7
- package/dist/charts/chartSelection.d.ts +15 -0
- package/dist/charts/chartSelection.js +22 -0
- package/dist/charts/constants.d.ts +4 -0
- package/dist/charts/constants.js +6 -2
- package/dist/charts/types.d.ts +10 -1
- package/dist/charts/useChartInteraction.d.ts +25 -3
- package/dist/charts/useChartInteraction.js +56 -10
- package/dist/drawer/Drawer.d.ts +3 -1
- package/dist/drawer/Drawer.js +43 -14
- package/dist/feedback/Alert.d.ts +1 -1
- package/dist/inputs/CheckboxGroup.js +1 -1
- package/dist/inputs/CheckboxInput.js +1 -1
- package/dist/inputs/ColorInput.js +1 -1
- package/dist/inputs/CronInput.js +1 -1
- package/dist/inputs/DateInput.js +1 -1
- package/dist/inputs/KeyValueInput.js +1 -1
- package/dist/inputs/SelectInput.js +1 -1
- package/dist/inputs/SwitchInput.js +1 -1
- package/dist/inputs/TextAreaInput.js +6 -0
- package/dist/inputs/internal/ownField.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/InfiniteSpreadsheet.js +1 -1
- package/dist/table/TableCore.js +69 -14
- package/dist/theme/tokens/light.js +4 -4
- package/dist/timeline/Timeline.d.ts +22 -1
- package/dist/timeline/Timeline.js +75 -43
- package/dist/tokens.css +4 -4
- package/package.json +5 -1
|
@@ -754,7 +754,7 @@ var InfiniteSpreadsheetInner = forwardRef(function InfiniteSpreadsheet(props, re
|
|
|
754
754
|
}), showAddRow && isMounted && /* @__PURE__ */ jsx(AddRow, {
|
|
755
755
|
role: "row",
|
|
756
756
|
"aria-rowindex": rowCount + 2,
|
|
757
|
-
className: "gx-TableCore-VIRTUAL_ROW_CSS-
|
|
757
|
+
className: "gx-TableCore-VIRTUAL_ROW_CSS-v1emgwoo",
|
|
758
758
|
style: startStyle(totalSize),
|
|
759
759
|
children: /* @__PURE__ */ jsx(AddRowCell, {
|
|
760
760
|
role: "gridcell",
|
package/dist/table/TableCore.js
CHANGED
|
@@ -192,7 +192,12 @@ var DropIndicator = /*#__PURE__*/ styled("span")({
|
|
|
192
192
|
class: "gx-TableCore-DropIndicator-d1po1i5a",
|
|
193
193
|
propsAsIs: false
|
|
194
194
|
});
|
|
195
|
-
/**
|
|
195
|
+
/**
|
|
196
|
+
* Follows the table, inside the scroll container; observed for `onEndReached`. Zero height: a 1px
|
|
197
|
+
* sentinel made every table overflow its scroll box by a pixel, so the wheel scrolled that pixel
|
|
198
|
+
* and a trackpad gesture latched onto the table instead of scrolling the page.
|
|
199
|
+
* `IntersectionObserver` reports a zero-area target that touches the root's edge.
|
|
200
|
+
*/
|
|
196
201
|
var Sentinel = /*#__PURE__*/ styled("div")({
|
|
197
202
|
name: "Sentinel",
|
|
198
203
|
class: "gx-TableCore-Sentinel-scxvgum",
|
|
@@ -284,26 +289,71 @@ var ROW_SELECTED_CSS = "gx-TableCore-ROW_SELECTED_CSS-r1g7lrfg";
|
|
|
284
289
|
var ROW_ACTIVE_CSS = "gx-TableCore-ROW_ACTIVE_CSS-r10dstoh";
|
|
285
290
|
/** @internal The last row, or a row whose panel is open: no bottom hairline. */
|
|
286
291
|
var ROW_NO_BORDER_CSS = "gx-TableCore-ROW_NO_BORDER_CSS-rpsswqs";
|
|
292
|
+
/**
|
|
293
|
+
* The rows end above the bottom of the scroll box (a full-height table with a few rows): the last
|
|
294
|
+
* row keeps its hairline, so the list reads as finished instead of floating in empty space. Set by
|
|
295
|
+
* `useRowsEndAboveBottom`; it outranks `ROW_NO_BORDER_CSS` and the panel rule by specificity, and
|
|
296
|
+
* sits inside each row's fixed height, so nothing moves when it toggles.
|
|
297
|
+
*/
|
|
298
|
+
var ROWS_END_ABOVE_BOTTOM_CSS = "gx-TableCore-ROWS_END_ABOVE_BOTTOM_CSS-rwbqwrq";
|
|
299
|
+
/**
|
|
300
|
+
* Whether the table's rows end above the bottom of its scroll box. The last row drops its hairline
|
|
301
|
+
* only when it lands on the box's bottom edge, where the container's frame (or a scrolled table's
|
|
302
|
+
* end) already draws the line; above the edge, the hairline closes the list. Watches the scroll box
|
|
303
|
+
* and every row group, so rows loading, expanding or the box resizing re-measure it.
|
|
304
|
+
*/
|
|
305
|
+
function useRowsEndAboveBottom(scrollRef, tableRef, isEnabled, bodyKey) {
|
|
306
|
+
const [isAbove, setIsAbove] = useState(false);
|
|
307
|
+
useIsomorphicLayoutEffect(() => {
|
|
308
|
+
const scroll = scrollRef.current;
|
|
309
|
+
const table = tableRef.current;
|
|
310
|
+
if (!isEnabled || scroll === null || table === null) {
|
|
311
|
+
setIsAbove(false);
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
const measure = () => {
|
|
315
|
+
const rows = table.querySelectorAll(":scope > tbody > tr");
|
|
316
|
+
const last = rows[rows.length - 1];
|
|
317
|
+
if (last === void 0) {
|
|
318
|
+
setIsAbove(false);
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
setIsAbove(last.getBoundingClientRect().bottom - scroll.getBoundingClientRect().top + scroll.scrollTop < scroll.clientHeight - 1);
|
|
322
|
+
};
|
|
323
|
+
measure();
|
|
324
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
325
|
+
const observer = new ResizeObserver(measure);
|
|
326
|
+
observer.observe(scroll);
|
|
327
|
+
for (const body of Array.from(table.tBodies)) observer.observe(body);
|
|
328
|
+
return () => observer.disconnect();
|
|
329
|
+
}, [
|
|
330
|
+
scrollRef,
|
|
331
|
+
tableRef,
|
|
332
|
+
isEnabled,
|
|
333
|
+
bodyKey
|
|
334
|
+
]);
|
|
335
|
+
return isAbove;
|
|
336
|
+
}
|
|
287
337
|
/** The last expanded panel: no bottom hairline. */
|
|
288
|
-
var EXPANDED_LAST_CSS = "gx-TableCore-EXPANDED_LAST_CSS-
|
|
338
|
+
var EXPANDED_LAST_CSS = "gx-TableCore-EXPANDED_LAST_CSS-e1jxalmm";
|
|
289
339
|
/** The dragged header while reordering. 0.5 is a state, not a color token. */
|
|
290
|
-
var HEADER_DRAGGING_CSS = "gx-TableCore-HEADER_DRAGGING_CSS-
|
|
340
|
+
var HEADER_DRAGGING_CSS = "gx-TableCore-HEADER_DRAGGING_CSS-h1fx3qlj";
|
|
291
341
|
/** The label wrapper grows when a trailing control (column actions) follows it. */
|
|
292
|
-
var LABEL_GROW_CSS = "gx-TableCore-LABEL_GROW_CSS-
|
|
293
|
-
var DROP_START_CSS = "gx-TableCore-DROP_START_CSS-
|
|
294
|
-
var DROP_END_CSS = "gx-TableCore-DROP_END_CSS-
|
|
342
|
+
var LABEL_GROW_CSS = "gx-TableCore-LABEL_GROW_CSS-l2nd1ne";
|
|
343
|
+
var DROP_START_CSS = "gx-TableCore-DROP_START_CSS-darqcf0";
|
|
344
|
+
var DROP_END_CSS = "gx-TableCore-DROP_END_CSS-d132cb1v";
|
|
295
345
|
/** Shows on hover, while dragged and on keyboard focus; straddles the column edge. */
|
|
296
|
-
var COLUMN_RESIZE_HANDLE_CSS = "gx-TableCore-COLUMN_RESIZE_HANDLE_CSS-
|
|
346
|
+
var COLUMN_RESIZE_HANDLE_CSS = "gx-TableCore-COLUMN_RESIZE_HANDLE_CSS-c1vn45v6";
|
|
297
347
|
/** Hovering a header cell reveals its resize handle. */
|
|
298
|
-
var HEADER_HOVER_CSS = "gx-TableCore-HEADER_HOVER_CSS-
|
|
348
|
+
var HEADER_HOVER_CSS = "gx-TableCore-HEADER_HOVER_CSS-h14za3v2";
|
|
299
349
|
/** The expand caret button: a square of its rung. */
|
|
300
|
-
var EXPAND_BUTTON_CSS = "gx-TableCore-EXPAND_BUTTON_CSS-
|
|
350
|
+
var EXPAND_BUTTON_CSS = "gx-TableCore-EXPAND_BUTTON_CSS-e1w0t3ir";
|
|
301
351
|
/** @internal A virtual body: as tall as every row, which are positioned inside it. */
|
|
302
|
-
var VIRTUAL_BODY_CSS = "gx-TableCore-VIRTUAL_BODY_CSS-
|
|
352
|
+
var VIRTUAL_BODY_CSS = "gx-TableCore-VIRTUAL_BODY_CSS-vb9km4t";
|
|
303
353
|
/** @internal A virtual row, placed at `--gx-table-row-start`. */
|
|
304
|
-
var VIRTUAL_ROW_CSS = "gx-TableCore-VIRTUAL_ROW_CSS-
|
|
354
|
+
var VIRTUAL_ROW_CSS = "gx-TableCore-VIRTUAL_ROW_CSS-v1emgwoo";
|
|
305
355
|
/** @internal Default cells and footer strings: shrink to truncate. */
|
|
306
|
-
var CELL_TEXT_CSS = "gx-TableCore-CELL_TEXT_CSS-
|
|
356
|
+
var CELL_TEXT_CSS = "gx-TableCore-CELL_TEXT_CSS-cw38cm1";
|
|
307
357
|
/** "Oct 3, 2026": the DateInput default. */
|
|
308
358
|
var DATE_FORMAT_OPTIONS = { dateStyle: "medium" };
|
|
309
359
|
/** @internal The default cell renderer: one truncating line of formatted text. */
|
|
@@ -739,6 +789,9 @@ function TableFrame({ metrics, columnLayout, leadingHeaders, trailingHeader, has
|
|
|
739
789
|
const colCount = leadingCount + visibleColumns.length + (hasTrailingColumn ? 1 : 0);
|
|
740
790
|
const surface = useTableSurface(ownRootRef);
|
|
741
791
|
const { width: viewportWidth } = useElementClientSize(scrollRef);
|
|
792
|
+
const tableRef = useRef(null);
|
|
793
|
+
const hasFooterRow = columnLayout.visibleColumns.some(({ column }) => column.footer !== void 0 && column.footer !== null);
|
|
794
|
+
const doRowsEndAboveBottom = useRowsEndAboveBottom(scrollRef, tableRef, !hasFooterRow && (rowCount > 0 || isLoading), `${rowCount}:${isLoading}:${error ?? ""}`);
|
|
742
795
|
const sentinelRef = useInfiniteScrollSentinel({
|
|
743
796
|
scrollRef,
|
|
744
797
|
onEndReached,
|
|
@@ -867,7 +920,7 @@ function TableFrame({ metrics, columnLayout, leadingHeaders, trailingHeader, has
|
|
|
867
920
|
if (drag.beforeId === null && ids.at(-1) === columnId) return "end";
|
|
868
921
|
return null;
|
|
869
922
|
};
|
|
870
|
-
const hasFooter =
|
|
923
|
+
const hasFooter = hasFooterRow;
|
|
871
924
|
const footerRowIndex = ariaRowCount;
|
|
872
925
|
const variables = { ...columnLayout.variables };
|
|
873
926
|
if (viewportWidth !== void 0) variables["--gx-table-viewport-width"] = `${viewportWidth}px`;
|
|
@@ -943,6 +996,8 @@ function TableFrame({ metrics, columnLayout, leadingHeaders, trailingHeader, has
|
|
|
943
996
|
children: [/* @__PURE__ */ jsxs(Scroll, {
|
|
944
997
|
ref: scrollRef,
|
|
945
998
|
children: [/* @__PURE__ */ jsxs(TableElement, {
|
|
999
|
+
ref: tableRef,
|
|
1000
|
+
className: cx(doRowsEndAboveBottom && ROWS_END_ABOVE_BOTTOM_CSS),
|
|
946
1001
|
...tableAria,
|
|
947
1002
|
role,
|
|
948
1003
|
...ariaLabel === void 0 ? {} : { "aria-label": ariaLabel },
|
|
@@ -1038,7 +1093,7 @@ function TableFrame({ metrics, columnLayout, leadingHeaders, trailingHeader, has
|
|
|
1038
1093
|
size: metrics.textSize,
|
|
1039
1094
|
weight: TextWeight.MEDIUM,
|
|
1040
1095
|
lineClamp: 1,
|
|
1041
|
-
className: "gx-TableCore-CELL_TEXT_CSS-
|
|
1096
|
+
className: "gx-TableCore-CELL_TEXT_CSS-cw38cm1",
|
|
1042
1097
|
children: column.footer
|
|
1043
1098
|
}) : column.footer
|
|
1044
1099
|
}, column.id)),
|
|
@@ -30,12 +30,12 @@ var LIGHT_THEME = {
|
|
|
30
30
|
background: {
|
|
31
31
|
base: "#ffffff",
|
|
32
32
|
primary: "#fafafb",
|
|
33
|
-
secondary: "#
|
|
34
|
-
tertiary: "#
|
|
33
|
+
secondary: "#f3f3f4",
|
|
34
|
+
tertiary: "#efeff0",
|
|
35
35
|
hovered: "#f5f5f5",
|
|
36
36
|
pressed: "#eeeeee",
|
|
37
37
|
selected: "#e2e2e2",
|
|
38
|
-
disabled: "#
|
|
38
|
+
disabled: "#f3f3f4",
|
|
39
39
|
success: "#ecfcf0",
|
|
40
40
|
warning: "#fff8eb",
|
|
41
41
|
error: "#fff2f2",
|
|
@@ -119,7 +119,7 @@ var LIGHT_THEME = {
|
|
|
119
119
|
pressed: "#494949"
|
|
120
120
|
},
|
|
121
121
|
neutral: {
|
|
122
|
-
background: "#
|
|
122
|
+
background: "#f3f3f4",
|
|
123
123
|
text: "#101010",
|
|
124
124
|
hovered: "#e5e5e6",
|
|
125
125
|
pressed: "#dcdcdd"
|
|
@@ -10,6 +10,15 @@ export declare enum TimelineSize {
|
|
|
10
10
|
/** body_lg text, 24px box, 6px dot, 14px icon, 24px between events. */
|
|
11
11
|
LARGE = "LARGE"
|
|
12
12
|
}
|
|
13
|
+
/** The frame around every event's dot or icon. One shape per timeline. */
|
|
14
|
+
export declare enum TimelineMarkerShape {
|
|
15
|
+
/** A square hairline box with control-radius corners. The default. */
|
|
16
|
+
SQUARE = "SQUARE",
|
|
17
|
+
/** A round hairline box. */
|
|
18
|
+
CIRCLE = "CIRCLE",
|
|
19
|
+
/** No box: the dot or icon sits on the rail, 4px clear of the line above and below it. */
|
|
20
|
+
NONE = "NONE"
|
|
21
|
+
}
|
|
13
22
|
/** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
|
|
14
23
|
export declare enum TimelineVariant {
|
|
15
24
|
/** `text.primary` marker in a `border.primary` box. */
|
|
@@ -85,6 +94,18 @@ export interface TimelineProps extends AriaAttributes {
|
|
|
85
94
|
* @default TimelineSize.MEDIUM
|
|
86
95
|
*/
|
|
87
96
|
size?: TimelineSize;
|
|
97
|
+
/**
|
|
98
|
+
* The frame around each dot or icon: a square box, a round box, or none (the rail runs straight
|
|
99
|
+
* into the marker). The marker keeps its 16 / 20 / 24px slot in every shape, so text never moves.
|
|
100
|
+
* @default TimelineMarkerShape.SQUARE
|
|
101
|
+
*/
|
|
102
|
+
markerShape?: TimelineMarkerShape;
|
|
103
|
+
/**
|
|
104
|
+
* Fill each box with its item's background role: a neutral step, `background.<status>` or
|
|
105
|
+
* `background.<family>`, the way a `Chip` fills. Ignored with `TimelineMarkerShape.NONE`.
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
isFilled?: boolean;
|
|
88
109
|
/** DOM id on the root `<ol>`. */
|
|
89
110
|
id?: string;
|
|
90
111
|
/** Any `data-*` attribute, forwarded to the root `<ol>`. */
|
|
@@ -94,6 +115,6 @@ export interface TimelineProps extends AriaAttributes {
|
|
|
94
115
|
/** Inline style on the root `<ol>`; only for setting CSS custom properties. */
|
|
95
116
|
style?: CSSProperties;
|
|
96
117
|
}
|
|
97
|
-
/** A vertical list of events with
|
|
118
|
+
/** A vertical list of events with dot or icon markers (boxed or bare) on a hairline rail. */
|
|
98
119
|
declare const Timeline: import("react").ForwardRefExoticComponent<TimelineProps & import("react").RefAttributes<HTMLOListElement>>;
|
|
99
120
|
export default Timeline;
|
|
@@ -10,12 +10,12 @@ import { cx } from "@linaria/core";
|
|
|
10
10
|
/**
|
|
11
11
|
* A sequence of events in time order, top to bottom: a pipeline run's history, a sync's steps, an
|
|
12
12
|
* audit trail, an activity feed. Each item is a marker on a vertical rail (a `Beacon` dot, or an
|
|
13
|
-
* `Icon` when `icon` is set, inside a small
|
|
14
|
-
* centered on the
|
|
13
|
+
* `Icon` when `icon` is set, inside a small hairline box: square, round, or no box at all with
|
|
14
|
+
* `markerShape`, unfilled unless `isFilled`), a one-line label centered on the marker, an optional time at the end of the label line, an optional description and
|
|
15
15
|
* an optional footer. A 0.5px rail runs from the bottom edge of each box to the top edge of the
|
|
16
16
|
* next, whatever the item's height. Only the marker takes the item's color-set `variant` (a
|
|
17
17
|
* meaning) or categorical `color` (a palette family): the dot or icon its text color, the box its
|
|
18
|
-
* border color. The words stay primary and secondary.
|
|
18
|
+
* border color (and its fill with `isFilled`). The words stay primary and secondary.
|
|
19
19
|
*
|
|
20
20
|
* Read-only: it does not order, group, fetch or format anything. An ordered list (`<ol>`, kept a
|
|
21
21
|
* list in Safari with `role="list"` because the package reset removes list styling); the rail is
|
|
@@ -31,6 +31,16 @@ var TimelineSize = /* @__PURE__ */ function(TimelineSize) {
|
|
|
31
31
|
TimelineSize["LARGE"] = "LARGE";
|
|
32
32
|
return TimelineSize;
|
|
33
33
|
}({});
|
|
34
|
+
/** The frame around every event's dot or icon. One shape per timeline. */
|
|
35
|
+
var TimelineMarkerShape = /* @__PURE__ */ function(TimelineMarkerShape) {
|
|
36
|
+
/** A square hairline box with control-radius corners. The default. */
|
|
37
|
+
TimelineMarkerShape["SQUARE"] = "SQUARE";
|
|
38
|
+
/** A round hairline box. */
|
|
39
|
+
TimelineMarkerShape["CIRCLE"] = "CIRCLE";
|
|
40
|
+
/** No box: the dot or icon sits on the rail, 4px clear of the line above and below it. */
|
|
41
|
+
TimelineMarkerShape["NONE"] = "NONE";
|
|
42
|
+
return TimelineMarkerShape;
|
|
43
|
+
}({});
|
|
34
44
|
/** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
|
|
35
45
|
var TimelineVariant = /* @__PURE__ */ function(TimelineVariant) {
|
|
36
46
|
/** `text.primary` marker in a `border.primary` box. */
|
|
@@ -84,10 +94,29 @@ var Marker = /*#__PURE__*/ styled("span")({
|
|
|
84
94
|
class: "gx-Timeline-Marker-m11eshsv",
|
|
85
95
|
propsAsIs: false
|
|
86
96
|
});
|
|
97
|
+
/**
|
|
98
|
+
* The rail is a hairline from a zero-width box centered on the marker. Browsers paint it a whole CSS
|
|
99
|
+
* pixel wide, starting at the center and snapped to the right of it, so on a 2× screen it sits one
|
|
100
|
+
* device pixel right of the dot or icon. Half a pixel back centers it exactly and stays crisp at 2×
|
|
101
|
+
* and up; at 1× a 1px line cannot center on an even-width mark, so it stays put.
|
|
102
|
+
*/
|
|
103
|
+
/**
|
|
104
|
+
* The marker frame per shape. `NONE` drops the box and draws the rail through the empty slot, above
|
|
105
|
+
* and below the dot or icon, stopping 4px short of it, so the line leads to the marker instead of an
|
|
106
|
+
* invisible box edge. The first event has no line above its marker and the last none below (the
|
|
107
|
+
* stubs keep their space, so the marker stays centered on its label).
|
|
108
|
+
*/
|
|
109
|
+
var TIMELINE_MARKER_SHAPE_TO_CSS_MAP = {
|
|
110
|
+
["SQUARE"]: "gx-Timeline-SQUARE-s1u5y4o2",
|
|
111
|
+
["CIRCLE"]: "gx-Timeline-CIRCLE-c132ryei",
|
|
112
|
+
["NONE"]: "gx-Timeline-NONE-n1j1o23c"
|
|
113
|
+
};
|
|
114
|
+
/** `isFilled`: the box takes its item's fill role (`--gx-timeline-fill`, set per variant and color). */
|
|
115
|
+
var FILLED_CSS = "gx-Timeline-FILLED_CSS-f6c9753";
|
|
87
116
|
/** The 0.5px hairline from the bottom of this box to the top of the next one. */
|
|
88
117
|
var Connector = /*#__PURE__*/ styled("span")({
|
|
89
118
|
name: "Connector",
|
|
90
|
-
class: "gx-Timeline-Connector-
|
|
119
|
+
class: "gx-Timeline-Connector-c1fj1oub",
|
|
91
120
|
propsAsIs: false
|
|
92
121
|
});
|
|
93
122
|
/**
|
|
@@ -96,13 +125,13 @@ var Connector = /*#__PURE__*/ styled("span")({
|
|
|
96
125
|
*/
|
|
97
126
|
var Body = /*#__PURE__*/ styled("div")({
|
|
98
127
|
name: "Body",
|
|
99
|
-
class: "gx-Timeline-Body-
|
|
128
|
+
class: "gx-Timeline-Body-b1whgn5t",
|
|
100
129
|
propsAsIs: false
|
|
101
130
|
});
|
|
102
131
|
/** The label wraps; the time stays at the end of the first line. */
|
|
103
132
|
var Heading = /*#__PURE__*/ styled("div")({
|
|
104
133
|
name: "Heading",
|
|
105
|
-
class: "gx-Timeline-Heading-
|
|
134
|
+
class: "gx-Timeline-Heading-h1j9kdi1",
|
|
106
135
|
propsAsIs: false
|
|
107
136
|
});
|
|
108
137
|
/**
|
|
@@ -111,19 +140,19 @@ var Heading = /*#__PURE__*/ styled("div")({
|
|
|
111
140
|
*/
|
|
112
141
|
var Footer = /*#__PURE__*/ styled("div")({
|
|
113
142
|
name: "Footer",
|
|
114
|
-
class: "gx-Timeline-Footer-
|
|
143
|
+
class: "gx-Timeline-Footer-feakmyp",
|
|
115
144
|
propsAsIs: false
|
|
116
145
|
});
|
|
117
146
|
/**
|
|
118
147
|
* The time in the second column, on one line. A flex box, so a `<time>` wrapper has no line strut
|
|
119
148
|
* of its own (the inherited font size) and shares the label's baseline at every size.
|
|
120
149
|
*/
|
|
121
|
-
var TIME_CSS = "gx-Timeline-TIME_CSS-
|
|
150
|
+
var TIME_CSS = "gx-Timeline-TIME_CSS-t1vcatjx";
|
|
122
151
|
/** Line height, marker box (16 / 20 / 24px), column gap and event spacing per rung. */
|
|
123
152
|
var TIMELINE_SIZE_TO_CSS_MAP = {
|
|
124
|
-
["SMALL"]: "gx-Timeline-SMALL-
|
|
125
|
-
["MEDIUM"]: "gx-Timeline-MEDIUM-
|
|
126
|
-
["LARGE"]: "gx-Timeline-LARGE-
|
|
153
|
+
["SMALL"]: "gx-Timeline-SMALL-s1195fxg",
|
|
154
|
+
["MEDIUM"]: "gx-Timeline-MEDIUM-m1oqbau9",
|
|
155
|
+
["LARGE"]: "gx-Timeline-LARGE-l11wi4d2"
|
|
127
156
|
};
|
|
128
157
|
/** The event text's type step. */
|
|
129
158
|
var TIMELINE_SIZE_TO_TEXT_SIZE_MAP = {
|
|
@@ -165,42 +194,45 @@ var TIMELINE_VARIANT_TO_ICON_VARIANT_MAP = {
|
|
|
165
194
|
["WARNING"]: IconVariant.WARNING,
|
|
166
195
|
["ERROR"]: IconVariant.ERROR
|
|
167
196
|
};
|
|
168
|
-
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
["
|
|
174
|
-
["
|
|
175
|
-
["
|
|
176
|
-
["
|
|
177
|
-
["
|
|
197
|
+
/**
|
|
198
|
+
* The marker box's hairline and fill per variant: neutral roles keep `border.primary` and fill
|
|
199
|
+
* `background.secondary`; statuses take their own border and background roles.
|
|
200
|
+
*/
|
|
201
|
+
var TIMELINE_VARIANT_TO_CSS_MAP = {
|
|
202
|
+
["PRIMARY"]: "gx-Timeline-PRIMARY-p1r53y3e",
|
|
203
|
+
["SECONDARY"]: "gx-Timeline-SECONDARY-s61v3n7",
|
|
204
|
+
["TERTIARY"]: "gx-Timeline-TERTIARY-t1tjq5mm",
|
|
205
|
+
["DISABLED"]: "gx-Timeline-DISABLED-da735oo",
|
|
206
|
+
["INHERIT"]: "gx-Timeline-INHERIT-i1ayi32k",
|
|
207
|
+
["SUCCESS"]: "gx-Timeline-SUCCESS-s155vzhv",
|
|
208
|
+
["WARNING"]: "gx-Timeline-WARNING-wtnc6wm",
|
|
209
|
+
["ERROR"]: "gx-Timeline-ERROR-e1q3p1vl"
|
|
178
210
|
};
|
|
179
211
|
/**
|
|
180
212
|
* Categorical `color` on the marker: `text.<family>`, which an icon marker (`IconVariant.INHERIT`)
|
|
181
|
-
* takes, and `border.<family>` on the box.
|
|
213
|
+
* takes, and `border.<family>` and the `background.<family>` fill on the box.
|
|
182
214
|
*/
|
|
183
215
|
var TIMELINE_COLOR_TO_CSS_MAP = {
|
|
184
|
-
red: "gx-Timeline-red-
|
|
185
|
-
orange: "gx-Timeline-orange-
|
|
186
|
-
amber: "gx-Timeline-amber-
|
|
187
|
-
yellow: "gx-Timeline-yellow-
|
|
188
|
-
lime: "gx-Timeline-lime-
|
|
189
|
-
green: "gx-Timeline-green-
|
|
190
|
-
emerald: "gx-Timeline-emerald-
|
|
191
|
-
teal: "gx-Timeline-teal-
|
|
192
|
-
cyan: "gx-Timeline-cyan-
|
|
193
|
-
sky: "gx-Timeline-sky-
|
|
194
|
-
blue: "gx-Timeline-blue-
|
|
195
|
-
indigo: "gx-Timeline-indigo-
|
|
196
|
-
violet: "gx-Timeline-violet-
|
|
197
|
-
purple: "gx-Timeline-purple-
|
|
198
|
-
fuchsia: "gx-Timeline-fuchsia-
|
|
199
|
-
pink: "gx-Timeline-pink-
|
|
200
|
-
rose: "gx-Timeline-rose-
|
|
216
|
+
red: "gx-Timeline-red-r1khc5e9",
|
|
217
|
+
orange: "gx-Timeline-orange-oob0jun",
|
|
218
|
+
amber: "gx-Timeline-amber-acpz10x",
|
|
219
|
+
yellow: "gx-Timeline-yellow-y1arc1uv",
|
|
220
|
+
lime: "gx-Timeline-lime-l1x7dvj6",
|
|
221
|
+
green: "gx-Timeline-green-g1fx1m3c",
|
|
222
|
+
emerald: "gx-Timeline-emerald-e1gy5gqm",
|
|
223
|
+
teal: "gx-Timeline-teal-ttyv4re",
|
|
224
|
+
cyan: "gx-Timeline-cyan-c1506u15",
|
|
225
|
+
sky: "gx-Timeline-sky-s2f8n55",
|
|
226
|
+
blue: "gx-Timeline-blue-b1bza0tc",
|
|
227
|
+
indigo: "gx-Timeline-indigo-i1vbt6lr",
|
|
228
|
+
violet: "gx-Timeline-violet-vjtm0e",
|
|
229
|
+
purple: "gx-Timeline-purple-pek3kdh",
|
|
230
|
+
fuchsia: "gx-Timeline-fuchsia-f13hn3pe",
|
|
231
|
+
pink: "gx-Timeline-pink-pdf3rdi",
|
|
232
|
+
rose: "gx-Timeline-rose-rjv99mk"
|
|
201
233
|
};
|
|
202
|
-
/** A vertical list of events with
|
|
203
|
-
var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", className, style, ...rest }, ref) {
|
|
234
|
+
/** A vertical list of events with dot or icon markers (boxed or bare) on a hairline rail. */
|
|
235
|
+
var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", markerShape = "SQUARE", isFilled = false, className, style, ...rest }, ref) {
|
|
204
236
|
const textSize = TIMELINE_SIZE_TO_TEXT_SIZE_MAP[size];
|
|
205
237
|
return /* @__PURE__ */ jsx(Root, {
|
|
206
238
|
...rest,
|
|
@@ -217,7 +249,7 @@ var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", className,
|
|
|
217
249
|
children: [/* @__PURE__ */ jsxs(Rail, {
|
|
218
250
|
"aria-hidden": true,
|
|
219
251
|
children: [/* @__PURE__ */ jsx(Marker, {
|
|
220
|
-
className: color !== void 0 ? TIMELINE_COLOR_TO_CSS_MAP[color] :
|
|
252
|
+
className: cx(color !== void 0 ? TIMELINE_COLOR_TO_CSS_MAP[color] : TIMELINE_VARIANT_TO_CSS_MAP[variant], TIMELINE_MARKER_SHAPE_TO_CSS_MAP[markerShape], isFilled && markerShape !== "NONE" && FILLED_CSS),
|
|
221
253
|
children: item.icon === void 0 ? /* @__PURE__ */ jsx(Beacon, {
|
|
222
254
|
size: TIMELINE_SIZE_TO_BEACON_SIZE_MAP[size],
|
|
223
255
|
...color !== void 0 ? { color } : { variant: TIMELINE_VARIANT_TO_BEACON_VARIANT_MAP[variant] },
|
|
@@ -266,4 +298,4 @@ var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", className,
|
|
|
266
298
|
});
|
|
267
299
|
Timeline.displayName = "Timeline";
|
|
268
300
|
//#endregion
|
|
269
|
-
export { TimelineSize, TimelineVariant, Timeline as default };
|
|
301
|
+
export { TimelineMarkerShape, TimelineSize, TimelineVariant, Timeline as default };
|
package/dist/tokens.css
CHANGED
|
@@ -386,12 +386,12 @@
|
|
|
386
386
|
[data-gx-theme="light"] {
|
|
387
387
|
--gx-color-background-base: #ffffff;
|
|
388
388
|
--gx-color-background-primary: #fafafb;
|
|
389
|
-
--gx-color-background-secondary: #
|
|
390
|
-
--gx-color-background-tertiary: #
|
|
389
|
+
--gx-color-background-secondary: #f3f3f4;
|
|
390
|
+
--gx-color-background-tertiary: #efeff0;
|
|
391
391
|
--gx-color-background-hovered: #f5f5f5;
|
|
392
392
|
--gx-color-background-pressed: #eeeeee;
|
|
393
393
|
--gx-color-background-selected: #e2e2e2;
|
|
394
|
-
--gx-color-background-disabled: #
|
|
394
|
+
--gx-color-background-disabled: #f3f3f4;
|
|
395
395
|
--gx-color-background-success: #ecfcf0;
|
|
396
396
|
--gx-color-background-warning: #fff8eb;
|
|
397
397
|
--gx-color-background-error: #fff2f2;
|
|
@@ -466,7 +466,7 @@
|
|
|
466
466
|
--gx-color-solid-primary-text: #ffffff;
|
|
467
467
|
--gx-color-solid-primary-hovered: #2d2d2d;
|
|
468
468
|
--gx-color-solid-primary-pressed: #494949;
|
|
469
|
-
--gx-color-solid-neutral-background: #
|
|
469
|
+
--gx-color-solid-neutral-background: #f3f3f4;
|
|
470
470
|
--gx-color-solid-neutral-text: #101010;
|
|
471
471
|
--gx-color-solid-neutral-hovered: #e5e5e6;
|
|
472
472
|
--gx-color-solid-neutral-pressed: #dcdcdd;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galaxy-io/dls",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Galaxy Design Language System",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -157,6 +157,10 @@
|
|
|
157
157
|
"types": "./dist/charts/chartScales.d.ts",
|
|
158
158
|
"import": "./dist/charts/chartScales.js"
|
|
159
159
|
},
|
|
160
|
+
"./charts/chartSelection": {
|
|
161
|
+
"types": "./dist/charts/chartSelection.d.ts",
|
|
162
|
+
"import": "./dist/charts/chartSelection.js"
|
|
163
|
+
},
|
|
160
164
|
"./charts/constants": {
|
|
161
165
|
"types": "./dist/charts/constants.d.ts",
|
|
162
166
|
"import": "./dist/charts/constants.js"
|