@xenosystem/components 0.9.1 → 0.9.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/catalog.json +23 -3
- package/dist/chrome/index.d.ts +14 -1
- package/dist/chrome/index.js +20 -0
- package/package.json +1 -1
package/dist/catalog.json
CHANGED
|
@@ -730,7 +730,7 @@
|
|
|
730
730
|
{
|
|
731
731
|
"name": "PanelFrame",
|
|
732
732
|
"file": "frame.tsx",
|
|
733
|
-
"doc": "The canonical standalone panel frame — header bar + content well, separated by the panel gap.\
|
|
733
|
+
"doc": "The canonical standalone panel frame — header bar + content well, separated by the panel gap.\n\n@example\n```tsx\n<PanelFrame title=\"Layers\" actions={<IconButton icon={<PlusIcon />} label=\"Add layer\" />}>\n <RowList>…</RowList>\n</PanelFrame>\n```",
|
|
734
734
|
"props": "PanelFrameProps",
|
|
735
735
|
"propList": [
|
|
736
736
|
{
|
|
@@ -774,7 +774,7 @@
|
|
|
774
774
|
{
|
|
775
775
|
"name": "Toolbar",
|
|
776
776
|
"file": "frame.tsx",
|
|
777
|
-
"doc": "A dense horizontal control strip. Height matches the panel header so a toolbar stacked under a\
|
|
777
|
+
"doc": "A dense horizontal control strip. Height matches the panel header so a toolbar stacked under a\nframe header reads as one continuous chrome band.\n\n@example\n```tsx\n<Toolbar left={<SearchField value={q} onChange={setQ} />} right={<IconButton … />} />\n```",
|
|
778
778
|
"props": "ToolbarProps",
|
|
779
779
|
"propList": [
|
|
780
780
|
{
|
|
@@ -858,7 +858,7 @@
|
|
|
858
858
|
{
|
|
859
859
|
"name": "ScrollArea",
|
|
860
860
|
"file": "frame.tsx",
|
|
861
|
-
"doc": "A flex-filling scroll container with the canonical thin rectangular thumb and an unbroken\
|
|
861
|
+
"doc": "A flex-filling scroll container with the canonical thin rectangular thumb and an unbroken\nheight chain (`flex: 1 1 0; min-height: 0`) — the shape DESIGN_SYSTEM §3.1 requires so panels\nnever reach for `max-height: calc(100vh - N)`.",
|
|
862
862
|
"props": "ScrollAreaProps",
|
|
863
863
|
"propList": [
|
|
864
864
|
{
|
|
@@ -875,6 +875,26 @@
|
|
|
875
875
|
}
|
|
876
876
|
]
|
|
877
877
|
},
|
|
878
|
+
{
|
|
879
|
+
"name": "Column",
|
|
880
|
+
"file": "frame.tsx",
|
|
881
|
+
"doc": "The panel's vertical stack — a toolbar, a flexing body, a status bar — filling the panel with an\nunbroken height chain (`height: 100%; min-height: 0`). Every block wrote `<div style={{ display:\n'flex', flexDirection: 'column', height: '100%', minHeight: 0 }}>` by hand; as a unit it is the root\na declaration can name.",
|
|
882
|
+
"props": "ColumnProps",
|
|
883
|
+
"propList": [
|
|
884
|
+
{
|
|
885
|
+
"name": "children",
|
|
886
|
+
"type": "ReactNode",
|
|
887
|
+
"optional": true,
|
|
888
|
+
"doc": ""
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"name": "className",
|
|
892
|
+
"type": "string",
|
|
893
|
+
"optional": true,
|
|
894
|
+
"doc": ""
|
|
895
|
+
}
|
|
896
|
+
]
|
|
897
|
+
},
|
|
878
898
|
{
|
|
879
899
|
"name": "Badge",
|
|
880
900
|
"file": "indicators.tsx",
|
package/dist/chrome/index.d.ts
CHANGED
|
@@ -93,6 +93,18 @@ interface ScrollAreaProps {
|
|
|
93
93
|
* never reach for `max-height: calc(100vh - N)`.
|
|
94
94
|
*/
|
|
95
95
|
declare function ScrollArea({ children, className }: ScrollAreaProps): ReactNode;
|
|
96
|
+
/** Props for {@link Column}. */
|
|
97
|
+
interface ColumnProps {
|
|
98
|
+
children?: ReactNode;
|
|
99
|
+
className?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The panel's vertical stack — a toolbar, a flexing body, a status bar — filling the panel with an
|
|
103
|
+
* unbroken height chain (`height: 100%; min-height: 0`). Every block wrote `<div style={{ display:
|
|
104
|
+
* 'flex', flexDirection: 'column', height: '100%', minHeight: 0 }}>` by hand; as a unit it is the root
|
|
105
|
+
* a declaration can name.
|
|
106
|
+
*/
|
|
107
|
+
declare function Column({ children, className }: ColumnProps): ReactNode;
|
|
96
108
|
|
|
97
109
|
/**
|
|
98
110
|
* `Section` — the collapsible titled group.
|
|
@@ -1170,6 +1182,7 @@ declare const COMPONENTS: {
|
|
|
1170
1182
|
readonly 'chrome/ToolbarGroup': typeof ToolbarGroup;
|
|
1171
1183
|
readonly 'chrome/Divider': typeof Divider;
|
|
1172
1184
|
readonly 'chrome/ScrollArea': typeof ScrollArea;
|
|
1185
|
+
readonly 'chrome/Column': typeof Column;
|
|
1173
1186
|
readonly 'chrome/Badge': typeof Badge;
|
|
1174
1187
|
readonly 'chrome/StatusDot': typeof StatusDot;
|
|
1175
1188
|
readonly 'chrome/StatusBadge': typeof StatusBadge;
|
|
@@ -1205,4 +1218,4 @@ interface GalleryEntry {
|
|
|
1205
1218
|
/** The entries, one per unit × state. Adding a unit to {@link COMPONENTS} without an entry here fails the family's test. */
|
|
1206
1219
|
declare function gallery(): GalleryEntry[];
|
|
1207
1220
|
|
|
1208
|
-
export { Badge, type BadgeProps, CLS_BADGE, CLS_BAR, CLS_BAR_SEGMENT, CLS_DIVIDER, CLS_DOT, CLS_EMPTY, CLS_ERROR, CLS_FIELD, CLS_FIELD_CONTROL, CLS_FIELD_GROUP, CLS_FIELD_HINT, CLS_FIELD_LABEL, CLS_ICON_BUTTON, CLS_ICON_FRAME, CLS_LOADING, CLS_PANEL, CLS_PANEL_CONTENT, CLS_PANEL_CONTENT_NO_HEADER, CLS_PANEL_HEADER, CLS_PANEL_TITLE, CLS_ROW, CLS_ROWLIST, CLS_ROW_ICON, CLS_ROW_LABEL, CLS_ROW_META, CLS_ROW_TRAILING, CLS_SCROLL, CLS_SEARCH, CLS_SEARCH_INPUT, CLS_SECTION, CLS_SECTION_ACTIONS, CLS_SECTION_BODY, CLS_SECTION_CHEVRON, CLS_SECTION_HEADER, CLS_SECTION_TITLE, CLS_SECTION_TRIGGER, CLS_SEGMENT, CLS_SEGMENTED, CLS_STAT, CLS_STATE, CLS_STATE_HINT, CLS_STATE_ICON, CLS_STATE_PROGRESS, CLS_STATE_TITLE, CLS_STATUSBAR, CLS_STAT_LABEL, CLS_STAT_SUB, CLS_STAT_VALUE, CLS_TEXT_BUTTON, CLS_TOGGLE, CLS_TOGGLE_KNOB, CLS_TOOLBAR, CLS_TOOLBAR_GROUP, COMPONENTS, ChevronGlyph, ClearGlyph, Composer, type ComposerProps, Divider, type DividerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FieldGroup, type FieldGroupProps, type FieldProps, type GalleryEntry, IconButton, type IconButtonProps, IconFrame, type IconFrameProps, LoadingState, type LoadingStateProps, PANEL_COLORS, PANEL_DISABLED_OPACITY, PANEL_METRICS, PANEL_PRIMITIVES_CSS, PANEL_PRIMITIVES_STYLE_ID, PANEL_TONES, type PanelColors, PanelFrame, type PanelFrameProps, type PanelMetrics, type PanelTone, type PrimitivesInjectTarget, ProportionBar, type ProportionBarProps, type ProportionSegment, Row, RowList, type RowListProps, type RowProps, type RowState, ScrollArea, type ScrollAreaProps, SearchField, type SearchFieldProps, SearchGlyph, Section, type SectionProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Sparkline, type SparklineProps, StatTile, type StatTileProps, StatusBadge, type StatusBadgeProps, StatusBar, type StatusBarProps, StatusDot, type StatusDotProps, TextButton, type TextButtonProps, Toggle, type ToggleProps, Toolbar, ToolbarGroup, type ToolbarGroupProps, type ToolbarProps, badgeClass, composerWantsSubmit, cx, dotClass, ensurePanelPrimitivesInjected, gallery, iconButtonClass, nextSegmentValue, rowClass, sectionClass, usePanelPrimitives };
|
|
1221
|
+
export { Badge, type BadgeProps, CLS_BADGE, CLS_BAR, CLS_BAR_SEGMENT, CLS_DIVIDER, CLS_DOT, CLS_EMPTY, CLS_ERROR, CLS_FIELD, CLS_FIELD_CONTROL, CLS_FIELD_GROUP, CLS_FIELD_HINT, CLS_FIELD_LABEL, CLS_ICON_BUTTON, CLS_ICON_FRAME, CLS_LOADING, CLS_PANEL, CLS_PANEL_CONTENT, CLS_PANEL_CONTENT_NO_HEADER, CLS_PANEL_HEADER, CLS_PANEL_TITLE, CLS_ROW, CLS_ROWLIST, CLS_ROW_ICON, CLS_ROW_LABEL, CLS_ROW_META, CLS_ROW_TRAILING, CLS_SCROLL, CLS_SEARCH, CLS_SEARCH_INPUT, CLS_SECTION, CLS_SECTION_ACTIONS, CLS_SECTION_BODY, CLS_SECTION_CHEVRON, CLS_SECTION_HEADER, CLS_SECTION_TITLE, CLS_SECTION_TRIGGER, CLS_SEGMENT, CLS_SEGMENTED, CLS_STAT, CLS_STATE, CLS_STATE_HINT, CLS_STATE_ICON, CLS_STATE_PROGRESS, CLS_STATE_TITLE, CLS_STATUSBAR, CLS_STAT_LABEL, CLS_STAT_SUB, CLS_STAT_VALUE, CLS_TEXT_BUTTON, CLS_TOGGLE, CLS_TOGGLE_KNOB, CLS_TOOLBAR, CLS_TOOLBAR_GROUP, COMPONENTS, ChevronGlyph, ClearGlyph, Column, type ColumnProps, Composer, type ComposerProps, Divider, type DividerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FieldGroup, type FieldGroupProps, type FieldProps, type GalleryEntry, IconButton, type IconButtonProps, IconFrame, type IconFrameProps, LoadingState, type LoadingStateProps, PANEL_COLORS, PANEL_DISABLED_OPACITY, PANEL_METRICS, PANEL_PRIMITIVES_CSS, PANEL_PRIMITIVES_STYLE_ID, PANEL_TONES, type PanelColors, PanelFrame, type PanelFrameProps, type PanelMetrics, type PanelTone, type PrimitivesInjectTarget, ProportionBar, type ProportionBarProps, type ProportionSegment, Row, RowList, type RowListProps, type RowProps, type RowState, ScrollArea, type ScrollAreaProps, SearchField, type SearchFieldProps, SearchGlyph, Section, type SectionProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Sparkline, type SparklineProps, StatTile, type StatTileProps, StatusBadge, type StatusBadgeProps, StatusBar, type StatusBarProps, StatusDot, type StatusDotProps, TextButton, type TextButtonProps, Toggle, type ToggleProps, Toolbar, ToolbarGroup, type ToolbarGroupProps, type ToolbarProps, badgeClass, composerWantsSubmit, cx, dotClass, ensurePanelPrimitivesInjected, gallery, iconButtonClass, nextSegmentValue, rowClass, sectionClass, usePanelPrimitives };
|
package/dist/chrome/index.js
CHANGED
|
@@ -53,6 +53,7 @@ var CLS_STAT_SUB = "xc-stat-sub";
|
|
|
53
53
|
var CLS_BAR = "xc-bar";
|
|
54
54
|
var CLS_BAR_SEGMENT = "xc-bar-segment";
|
|
55
55
|
var CLS_SCROLL = "xc-scroll";
|
|
56
|
+
var CLS_COLUMN = "xc-column";
|
|
56
57
|
var PANEL_TONES = Object.freeze([
|
|
57
58
|
"neutral",
|
|
58
59
|
"info",
|
|
@@ -655,6 +656,14 @@ div.xc-section-trigger {
|
|
|
655
656
|
color: ${DIM};
|
|
656
657
|
}
|
|
657
658
|
|
|
659
|
+
/* \u2500\u2500 Column \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
660
|
+
.xc-column {
|
|
661
|
+
display: flex;
|
|
662
|
+
flex-direction: column;
|
|
663
|
+
height: 100%;
|
|
664
|
+
min-height: 0;
|
|
665
|
+
}
|
|
666
|
+
|
|
658
667
|
/* \u2500\u2500 Composer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
659
668
|
.xc-composer {
|
|
660
669
|
display: block;
|
|
@@ -1150,6 +1159,10 @@ function ScrollArea({ children, className }) {
|
|
|
1150
1159
|
usePanelPrimitives();
|
|
1151
1160
|
return /* @__PURE__ */ jsx("div", { className: cx(CLS_SCROLL, className), children });
|
|
1152
1161
|
}
|
|
1162
|
+
function Column({ children, className }) {
|
|
1163
|
+
usePanelPrimitives();
|
|
1164
|
+
return /* @__PURE__ */ jsx("div", { className: cx(CLS_COLUMN, className), children });
|
|
1165
|
+
}
|
|
1153
1166
|
|
|
1154
1167
|
// src/chrome/section.tsx
|
|
1155
1168
|
import { useState as useState3 } from "react";
|
|
@@ -1792,6 +1805,7 @@ var COMPONENTS = {
|
|
|
1792
1805
|
"chrome/ToolbarGroup": ToolbarGroup,
|
|
1793
1806
|
"chrome/Divider": Divider,
|
|
1794
1807
|
"chrome/ScrollArea": ScrollArea,
|
|
1808
|
+
"chrome/Column": Column,
|
|
1795
1809
|
"chrome/Badge": Badge,
|
|
1796
1810
|
"chrome/StatusDot": StatusDot,
|
|
1797
1811
|
"chrome/StatusBadge": StatusBadge,
|
|
@@ -1857,6 +1871,11 @@ function gallery() {
|
|
|
1857
1871
|
/* @__PURE__ */ jsx7(Divider, { vertical: true }),
|
|
1858
1872
|
/* @__PURE__ */ jsx7("span", { children: "b" })
|
|
1859
1873
|
] }));
|
|
1874
|
+
door("Column", "default", () => /* @__PURE__ */ jsxs7(Column, { children: [
|
|
1875
|
+
/* @__PURE__ */ jsx7(Toolbar, { left: /* @__PURE__ */ jsx7(TextButton, { onClick: noop, children: "Action" }) }),
|
|
1876
|
+
/* @__PURE__ */ jsx7(ScrollArea, { children: /* @__PURE__ */ jsx7("p", { style: { margin: 8 }, children: "body" }) }),
|
|
1877
|
+
/* @__PURE__ */ jsx7(StatusBar, { left: "status" })
|
|
1878
|
+
] }));
|
|
1860
1879
|
door("ScrollArea", "default", () => /* @__PURE__ */ jsx7(ScrollArea, { children: Array.from({ length: 30 }, (_, i) => /* @__PURE__ */ jsxs7("p", { style: { margin: 4 }, children: [
|
|
1861
1880
|
"line ",
|
|
1862
1881
|
i + 1
|
|
@@ -1947,6 +1966,7 @@ export {
|
|
|
1947
1966
|
COMPONENTS,
|
|
1948
1967
|
ChevronGlyph,
|
|
1949
1968
|
ClearGlyph,
|
|
1969
|
+
Column,
|
|
1950
1970
|
Composer,
|
|
1951
1971
|
Divider,
|
|
1952
1972
|
EmptyState,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/components",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "XENO Components \u2014 rung 2 of the front ladder: molecules composed from @xenosystem/elements, with no host contract. Families as subpaths: /auth, /navigation, /feedback, /data.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|