@vsn-ux/gaia-styles 0.6.3 → 0.6.5

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.
@@ -0,0 +1,6 @@
1
+ import * as _$ag_grid_community0 from "ag-grid-community";
2
+
3
+ //#region src/integrations/ag-grid/theme.d.ts
4
+ declare const gaiaTheme: _$ag_grid_community0.Theme<_$ag_grid_community0.ThemeDefaultParams>;
5
+ //#endregion
6
+ export { gaiaTheme };
@@ -0,0 +1,262 @@
1
+ import { themeQuartz } from "ag-grid-community";
2
+ //#region src/integrations/ag-grid/theme.ts
3
+ const gaiaTheme = themeQuartz.withParams({
4
+ accentColor: "var(--ga-color-primary)",
5
+ advancedFilterBuilderButtonBarBorder: {
6
+ width: "var(--ga-size-border-width-sm)",
7
+ color: "var(--ga-color-neutral-30)",
8
+ style: "solid"
9
+ },
10
+ advancedFilterBuilderColumnPillColor: "var(--ga-color-green-10)",
11
+ advancedFilterBuilderIndentSize: "var(--ga-size-32)",
12
+ advancedFilterBuilderJoinPillColor: "var(--ga-color-red-10)",
13
+ advancedFilterBuilderOptionPillColor: "var(--ga-color-orange-20)",
14
+ advancedFilterBuilderValuePillColor: "var(--ga-color-blue-10)",
15
+ backgroundColor: "var(--ga-color-white)",
16
+ borderColor: "var(--ga-color-neutral-30)",
17
+ borderRadius: "var(--ga-radius)",
18
+ browserColorScheme: "light",
19
+ buttonActiveBackgroundColor: "var(--ga-color-orange-30)",
20
+ buttonActiveTextColor: "var(--ga-color-text-body)",
21
+ buttonBackgroundColor: "var(--ga-color-white)",
22
+ buttonBorder: {
23
+ width: "var(--ga-size-border-width-sm)",
24
+ color: "var(--ga-color-neutral-30)",
25
+ style: "solid"
26
+ },
27
+ buttonBorderRadius: "var(--ga-radius)",
28
+ buttonDisabledBackgroundColor: "var(--ga-color-neutral-20)",
29
+ buttonDisabledTextColor: "var(--ga-color-neutral-60)",
30
+ buttonFontWeight: "var(--ga-font-weight-medium)",
31
+ buttonHorizontalPadding: "var(--ga-size-spacing-05)",
32
+ buttonHoverBackgroundColor: "var(--ga-color-orange-20)",
33
+ buttonHoverTextColor: "var(--ga-color-text-body)",
34
+ buttonTextColor: "var(--ga-color-text-body)",
35
+ buttonVerticalPadding: "var(--ga-size-spacing-03)",
36
+ cellEditingBorder: false,
37
+ cellFontFamily: "var(--ga-font-family-primary)",
38
+ cellHorizontalPadding: "var(--ga-size-spacing-04)",
39
+ cellHorizontalPaddingScale: 1,
40
+ cellTextColor: "var(--ga-color-text-body)",
41
+ cellWidgetSpacing: "var(--ga-size-spacing-03)",
42
+ chartMenuPanelWidth: "var(--ga-size-256)",
43
+ checkboxBorderRadius: "var(--ga-radius)",
44
+ checkboxBorderWidth: "var(--ga-size-border-width-sm)",
45
+ checkboxCheckedBackgroundColor: "var(--ga-color-primary)",
46
+ checkboxCheckedShapeColor: "var(--ga-color-white)",
47
+ checkboxIndeterminateShapeColor: "var(--ga-color-white)",
48
+ checkboxUncheckedBackgroundColor: "var(--ga-color-white)",
49
+ checkboxUncheckedBorderColor: "var(--ga-color-neutral-60)",
50
+ columnBorder: {
51
+ width: "var(--ga-size-border-width-sm)",
52
+ color: "transparent",
53
+ style: "solid"
54
+ },
55
+ columnDropCellBackgroundColor: "color-mix(in srgb, var(--ga-color-primary) 7%, transparent)",
56
+ columnDropCellBorder: {
57
+ width: "var(--ga-size-border-width-sm)",
58
+ color: "var(--ga-color-neutral-30)",
59
+ style: "solid"
60
+ },
61
+ columnDropCellDragHandleColor: "var(--ga-color-text-body)",
62
+ columnDropCellTextColor: "var(--ga-color-text-body)",
63
+ columnHoverColor: "color-mix(in srgb, var(--ga-color-primary) 8%, transparent)",
64
+ columnSelectIndentSize: "var(--ga-size-16)",
65
+ dataFontSize: "var(--ga-text-md-font-size)",
66
+ dialogBorder: {
67
+ width: "var(--ga-size-border-width-sm)",
68
+ color: "var(--ga-color-neutral-30)",
69
+ style: "solid"
70
+ },
71
+ dragAndDropImageBackgroundColor: "var(--ga-color-white)",
72
+ dragAndDropImageBorder: {
73
+ width: "var(--ga-size-border-width-sm)",
74
+ color: "var(--ga-color-neutral-30)",
75
+ style: "solid"
76
+ },
77
+ dragHandleColor: "var(--ga-color-neutral-60)",
78
+ filterToolPanelGroupIndent: "var(--ga-size-8)",
79
+ findActiveMatchBackgroundColor: "var(--ga-color-primary)",
80
+ findActiveMatchColor: "var(--ga-color-white)",
81
+ findMatchBackgroundColor: "var(--ga-color-orange-20)",
82
+ findMatchColor: "var(--ga-color-text-body)",
83
+ focusShadow: "none",
84
+ fontFamily: "var(--ga-font-family-primary)",
85
+ fontSize: "var(--ga-text-md-font-size)",
86
+ footerRowBorder: {
87
+ width: "var(--ga-size-border-width-sm)",
88
+ color: "var(--ga-color-neutral-30)",
89
+ style: "solid"
90
+ },
91
+ foregroundColor: "var(--ga-color-neutral-60)",
92
+ headerBackgroundColor: "var(--ga-color-neutral-10)",
93
+ headerCellHoverBackgroundColor: "var(--ga-color-neutral-20)",
94
+ headerColumnBorder: true,
95
+ headerColumnBorderHeight: 0,
96
+ headerColumnResizeHandleHeight: "var(--ga-size-16)",
97
+ headerColumnResizeHandleWidth: "var(--ga-size-border-width-md)",
98
+ headerFontFamily: "var(--ga-font-family-primary)",
99
+ headerFontSize: "var(--ga-text-md-font-size)",
100
+ headerFontWeight: "var(--ga-font-weight-semibold)",
101
+ headerHeight: "var(--ga-size-40)",
102
+ headerRowBorder: {
103
+ width: "var(--ga-size-border-width-sm)",
104
+ color: "var(--ga-color-neutral-30)",
105
+ style: "solid"
106
+ },
107
+ headerTextColor: "var(--ga-color-text-body)",
108
+ headerVerticalPaddingScale: 1,
109
+ iconButtonActiveBackgroundColor: "var(--ga-color-orange-30)",
110
+ iconButtonActiveColor: "var(--ga-color-primary)",
111
+ iconButtonActiveIndicatorColor: "var(--ga-color-primary)",
112
+ iconButtonBackgroundColor: "transparent",
113
+ iconButtonBackgroundSpread: "var(--ga-size-4)",
114
+ iconButtonBorderRadius: "var(--ga-radius)",
115
+ iconButtonColor: "var(--ga-color-primary)",
116
+ iconButtonHoverBackgroundColor: "var(--ga-color-orange-20)",
117
+ iconButtonHoverColor: "var(--ga-color-text-body)",
118
+ iconColor: "var(--ga-color-primary)",
119
+ iconSize: "var(--ga-size-16)",
120
+ inputBackgroundColor: "var(--ga-color-white)",
121
+ inputBorder: {
122
+ width: "var(--ga-size-border-width-sm)",
123
+ color: "var(--ga-color-neutral-60)",
124
+ style: "solid"
125
+ },
126
+ inputBorderRadius: "var(--ga-radius)",
127
+ inputDisabledBackgroundColor: "var(--ga-color-neutral-20)",
128
+ inputDisabledBorder: {
129
+ width: "var(--ga-size-border-width-sm)",
130
+ color: "var(--ga-color-neutral-30)",
131
+ style: "solid"
132
+ },
133
+ inputDisabledTextColor: "var(--ga-color-neutral-60)",
134
+ inputFocusBorder: false,
135
+ inputFocusShadow: "none",
136
+ inputHeight: "var(--ga-size-32)",
137
+ inputIconColor: "var(--ga-color-neutral-60)",
138
+ inputInvalidBorder: {
139
+ width: "var(--ga-size-border-width-md)",
140
+ color: "var(--ga-color-error)",
141
+ style: "solid"
142
+ },
143
+ inputPaddingStart: "var(--ga-size-spacing-03)",
144
+ inputPlaceholderTextColor: "var(--ga-color-neutral-60)",
145
+ inputTextColor: "var(--ga-color-text-body)",
146
+ invalidColor: "var(--ga-color-error)",
147
+ listItemHeight: "var(--ga-size-32)",
148
+ menuBackgroundColor: "var(--ga-color-white)",
149
+ menuBorder: {
150
+ width: "var(--ga-size-border-width-sm)",
151
+ color: "var(--ga-color-neutral-30)",
152
+ style: "solid"
153
+ },
154
+ menuShadow: "none",
155
+ oddRowBackgroundColor: "color-mix(in srgb, var(--ga-color-neutral-10) 75%, transparent)",
156
+ panelTitleBarBorder: {
157
+ width: "var(--ga-size-border-width-sm)",
158
+ color: "var(--ga-color-neutral-30)",
159
+ style: "solid"
160
+ },
161
+ panelTitleBarFontWeight: "var(--ga-font-weight-semibold)",
162
+ pinnedColumnBorder: {
163
+ width: "var(--ga-size-border-width-sm)",
164
+ color: "var(--ga-color-neutral-30)",
165
+ style: "solid"
166
+ },
167
+ pinnedRowBorder: {
168
+ width: "var(--ga-size-border-width-sm)",
169
+ color: "var(--ga-color-neutral-30)",
170
+ style: "solid"
171
+ },
172
+ popupShadow: "none",
173
+ rangeHeaderHighlightColor: "color-mix(in srgb, var(--ga-color-primary) 10%, transparent)",
174
+ rangeSelectionBackgroundColor: "color-mix(in srgb, var(--ga-color-primary) 10%, transparent)",
175
+ rangeSelectionBorderColor: "var(--ga-color-primary)",
176
+ rangeSelectionHighlightColor: "color-mix(in srgb, var(--ga-color-green-40) 40%, transparent)",
177
+ rowBorder: {
178
+ width: "var(--ga-size-border-width-sm)",
179
+ color: "var(--ga-color-neutral-30)",
180
+ style: "solid"
181
+ },
182
+ rowGroupIndentSize: "var(--ga-size-28)",
183
+ rowHeight: "var(--ga-size-40)",
184
+ rowHoverColor: "var(--ga-color-orange-20)",
185
+ rowLoadingSkeletonEffectColor: "var(--ga-color-neutral-20)",
186
+ rowVerticalPaddingScale: 16,
187
+ selectCellBorder: {
188
+ width: "var(--ga-size-border-width-sm)",
189
+ color: "var(--ga-color-primary)",
190
+ style: "solid"
191
+ },
192
+ selectedRowBackgroundColor: "var(--ga-color-green-10)",
193
+ setFilterIndentSize: "var(--ga-size-16)",
194
+ sideBarBackgroundColor: "var(--ga-color-neutral-10)",
195
+ sideBarPanelWidth: "var(--ga-size-224)",
196
+ sideButtonBarTopPadding: 0,
197
+ sideButtonHoverBackgroundColor: "var(--ga-color-neutral-20)",
198
+ sideButtonSelectedBackgroundColor: "var(--ga-color-white)",
199
+ sideButtonSelectedUnderlineColor: "var(--ga-color-primary)",
200
+ sidePanelBorder: {
201
+ width: "var(--ga-size-border-width-sm)",
202
+ color: "var(--ga-color-neutral-30)",
203
+ style: "solid"
204
+ },
205
+ spacing: 8,
206
+ statusBarLabelColor: "var(--ga-color-text-body-secondary)",
207
+ statusBarLabelFontWeight: "var(--ga-font-weight-medium)",
208
+ statusBarValueColor: "var(--ga-color-text-body)",
209
+ statusBarValueFontWeight: "var(--ga-font-weight-semibold)",
210
+ subtleTextColor: "var(--ga-color-text-body-secondary)",
211
+ tabBackgroundColor: "var(--ga-color-neutral-20)",
212
+ tabBarBackgroundColor: "var(--ga-color-neutral-10)",
213
+ tabBarBorder: {
214
+ width: "var(--ga-size-border-width-sm)",
215
+ color: "var(--ga-color-neutral-30)",
216
+ style: "solid"
217
+ },
218
+ tabBarHorizontalPadding: "var(--ga-size-spacing-03)",
219
+ tabBarTopPadding: "var(--ga-size-spacing-03)",
220
+ tabBottomPadding: "var(--ga-size-spacing-03)",
221
+ tabHorizontalPadding: "var(--ga-size-spacing-04)",
222
+ tabHoverBackgroundColor: "var(--ga-color-orange-20)",
223
+ tabSelectedBorderWidth: "var(--ga-size-border-width-md)",
224
+ tabSelectedTextColor: "var(--ga-color-primary)",
225
+ tabSelectedUnderlineColor: "var(--ga-color-primary)",
226
+ tabSelectedUnderlineTransitionDuration: "var(--ga-duration-0)",
227
+ tabSelectedUnderlineWidth: "var(--ga-size-border-width-sm)",
228
+ tabSpacing: "var(--ga-size-spacing-02)",
229
+ tabTopPadding: "var(--ga-size-spacing-03)",
230
+ toggleButtonHeight: "var(--ga-size-20)",
231
+ toggleButtonOffBackgroundColor: "var(--ga-color-neutral-30)",
232
+ toggleButtonOnBackgroundColor: "var(--ga-color-primary)",
233
+ toggleButtonSwitchBackgroundColor: "var(--ga-color-white)",
234
+ toggleButtonSwitchInset: "var(--ga-size-2)",
235
+ toggleButtonWidth: "var(--ga-size-36)",
236
+ toolPanelSeparatorBorder: {
237
+ width: "var(--ga-size-border-width-sm)",
238
+ color: "var(--ga-color-neutral-30)",
239
+ style: "solid"
240
+ },
241
+ tooltipBackgroundColor: "var(--ga-color-white)",
242
+ tooltipBorder: {
243
+ width: "var(--ga-size-border-width-sm)",
244
+ color: "var(--ga-color-neutral-30)",
245
+ style: "solid"
246
+ },
247
+ valueChangeDeltaDownColor: "var(--ga-color-error)",
248
+ valueChangeDeltaUpColor: "var(--ga-color-success)",
249
+ valueChangeValueHighlightBackgroundColor: "var(--ga-color-orange-20)",
250
+ widgetContainerHorizontalPadding: "var(--ga-size-spacing-04)",
251
+ widgetContainerVerticalPadding: "var(--ga-size-spacing-03)",
252
+ widgetHorizontalSpacing: "var(--ga-size-spacing-03)",
253
+ widgetVerticalSpacing: "var(--ga-size-spacing-03)",
254
+ wrapperBorder: {
255
+ width: "var(--ga-size-border-width-sm)",
256
+ color: "var(--ga-color-neutral-30)",
257
+ style: "solid"
258
+ },
259
+ wrapperBorderRadius: "var(--ga-size-8)"
260
+ });
261
+ //#endregion
262
+ export { gaiaTheme };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vsn-ux/gaia-styles",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -9,6 +9,7 @@
9
9
  "build-tokens": "tz build",
10
10
  "build-storybook": "storybook build",
11
11
  "build-lib": "node ./build-component-styles.js --clean",
12
+ "build-integrations": "tsdown",
12
13
  "build-docs": "tsx --tsconfig tsconfig.app.json build-docs.js",
13
14
  "commitlint": "commitlint --edit",
14
15
  "prepare": "husky"
@@ -20,6 +21,10 @@
20
21
  "./tailwindcss/components.css": "./src/styles/components.css",
21
22
  "./design-tokens.json": "./src/design-tokens/dtcg-tokens.json",
22
23
  "./font/*": "./src/font/*",
24
+ "./integrations/ag-grid": {
25
+ "types": "./dist/integrations/ag-grid.d.mts",
26
+ "default": "./dist/integrations/ag-grid.mjs"
27
+ },
23
28
  "./*": "./dist/*"
24
29
  },
25
30
  "devDependencies": {
@@ -37,6 +42,7 @@
37
42
  "@types/react": "^19.2.14",
38
43
  "@types/react-dom": "^19.2.3",
39
44
  "@vitejs/plugin-react": "^6.0.1",
45
+ "ag-grid-community": "^35.2.1",
40
46
  "chokidar": "^5.0.0",
41
47
  "chromatic": "^15.3.0",
42
48
  "glob": "^13.0.6",
@@ -52,6 +58,7 @@
52
58
  "storybook": "10.3.0",
53
59
  "storybook-addon-pseudo-states": "10.3.0",
54
60
  "tailwindcss": "^4.2.2",
61
+ "tsdown": "^0.21.9",
55
62
  "tsx": "^4.21.0",
56
63
  "typescript": "~5.9.3",
57
64
  "typescript-eslint": "^8.57.1",
@@ -0,0 +1,158 @@
1
+ .ga-breadcrumb {
2
+ @apply flex flex-wrap content-start items-start gap-6;
3
+ }
4
+
5
+ .ga-breadcrumb-item {
6
+ @apply relative inline-flex items-center gap-6;
7
+
8
+ /* Explorer button: mouse-only target for sibling navigation menu.
9
+ tabindex="-1" must be set on the element to remove it from tab order.
10
+ Focus ring is handled by the parent __group via :focus-within. */
11
+ .ga-breadcrumb-item__explorer {
12
+ @apply animate-hover cursor-pointer rounded text-lg transition-colors outline-none;
13
+
14
+ .ga-icon {
15
+ @apply text-(--ga-color-icon-action);
16
+ }
17
+
18
+ &:hover .ga-icon {
19
+ @apply text-(--ga-color-icon-action-hover);
20
+ }
21
+ }
22
+
23
+ &.ga-breadcrumb-item--overflow {
24
+ @apply items-center gap-3;
25
+
26
+ .ga-breadcrumb-item__menu {
27
+ @apply -left-(--ga-size-spacing-02);
28
+ }
29
+
30
+ .ga-breadcrumb-item__trigger {
31
+ @apply animate-hover flex cursor-pointer items-center justify-center gap-2 rounded text-lg font-normal text-(--ga-color-text-action) transition-colors;
32
+
33
+ .ga-breadcrumb-item__label {
34
+ @apply max-w-80 truncate text-(--ga-color-text-action);
35
+ }
36
+
37
+ .ga-icon {
38
+ @apply text-(--ga-color-icon-action);
39
+ }
40
+
41
+ &:hover {
42
+ .ga-breadcrumb-item__label {
43
+ @apply underline;
44
+ }
45
+ }
46
+
47
+ &:focus-visible {
48
+ @apply outline-none;
49
+
50
+ .ga-breadcrumb-item__label {
51
+ @apply rounded-[2px] no-underline outline-2 outline-offset-2 outline-(--ga-color-border-focus);
52
+ }
53
+ }
54
+
55
+ &[aria-expanded='true'] {
56
+ @apply outline-none;
57
+
58
+ .ga-breadcrumb-item__label {
59
+ @apply rounded-[2px] no-underline outline-2 outline-offset-2 outline-(--ga-color-border-focus);
60
+ }
61
+ }
62
+ }
63
+
64
+ .ga-breadcrumb-item__separator {
65
+ @apply text-lg text-(--ga-color-text-body);
66
+ }
67
+ }
68
+
69
+ &.ga-breadcrumb-item--current-page {
70
+ @apply gap-3;
71
+
72
+ .ga-breadcrumb-item__trigger {
73
+ @apply pr-1 text-lg font-semibold text-(--ga-color-text-body);
74
+
75
+ .ga-breadcrumb-item__label {
76
+ @apply max-w-80 truncate;
77
+ }
78
+ }
79
+ }
80
+
81
+ &.ga-breadcrumb-item--back {
82
+ @apply items-center gap-2;
83
+
84
+ .ga-breadcrumb-item__trigger {
85
+ @apply animate-hover inline-flex cursor-pointer items-center rounded text-lg transition-colors;
86
+
87
+ .ga-icon {
88
+ @apply text-(--ga-color-icon-action);
89
+ }
90
+
91
+ &:hover {
92
+ .ga-icon {
93
+ @apply text-(--ga-color-icon-action-hover);
94
+ }
95
+ }
96
+
97
+ &:focus-visible {
98
+ @apply outline-2 outline-offset-2 outline-(--ga-color-border-focus);
99
+ }
100
+ }
101
+
102
+ .ga-breadcrumb-item__label {
103
+ @apply text-lg font-semibold text-(--ga-color-text-body);
104
+ }
105
+ }
106
+
107
+ &.ga-breadcrumb-item--link {
108
+ @apply gap-3;
109
+
110
+ .ga-breadcrumb-item__trigger {
111
+ @apply animate-hover inline-flex cursor-pointer items-center rounded pr-1 text-lg font-normal text-(--ga-color-text-action) transition-colors;
112
+
113
+ .ga-breadcrumb-item__label {
114
+ @apply max-w-80 truncate text-(--ga-color-text-action);
115
+ }
116
+
117
+ &:hover {
118
+ @apply text-(--ga-color-text-action-hover) underline;
119
+
120
+ .ga-breadcrumb-item__label {
121
+ @apply text-(--ga-color-text-action-hover) underline;
122
+ }
123
+ }
124
+
125
+ &:active {
126
+ @apply text-(--ga-color-text-action-hover);
127
+
128
+ .ga-breadcrumb-item__label {
129
+ @apply text-(--ga-color-text-action-hover);
130
+ }
131
+ }
132
+
133
+ &:focus-visible {
134
+ @apply outline-2 outline-offset-2 outline-(--ga-color-border-focus);
135
+ }
136
+ }
137
+
138
+ .ga-breadcrumb-item__explorer {
139
+ @apply pr-1;
140
+ }
141
+
142
+ .ga-breadcrumb-item__separator {
143
+ @apply text-lg text-(--ga-color-text-body);
144
+ }
145
+ }
146
+
147
+ .ga-breadcrumb-item__group {
148
+ @apply inline-flex items-center rounded;
149
+
150
+ &:focus-within {
151
+ @apply outline-2 outline-offset-2 outline-(--ga-color-border-focus);
152
+ }
153
+
154
+ .ga-breadcrumb-item__trigger:focus-visible {
155
+ @apply outline-none;
156
+ }
157
+ }
158
+ }
@@ -1,5 +1,6 @@
1
1
  @import './components/avatar.css';
2
2
  @import './components/badge.css';
3
+ @import './components/breadcrumbs.css';
3
4
  @import './components/button.css';
4
5
  @import './components/card.css';
5
6
  @import './components/calendar.css';