@grampro/kit 2.4.0 → 2.4.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/CHANGELOG.md +214 -139
- package/index.cjs +53 -13
- package/package.json +77 -76
- package/source/components/accordion/passport.json +2 -2
- package/source/components/accordion/styles.css +9 -9
- package/source/components/alert/passport.json +2 -2
- package/source/components/alert/styles.css +6 -6
- package/source/components/avatar/passport.json +2 -2
- package/source/components/avatar/styles.css +21 -21
- package/source/components/badge/passport.json +2 -2
- package/source/components/badge/styles.css +22 -22
- package/source/components/breadcrumb/passport.json +2 -2
- package/source/components/breadcrumb/styles.css +2 -2
- package/source/components/button/passport.json +2 -2
- package/source/components/button/styles.css +10 -10
- package/source/components/card/passport.json +2 -2
- package/source/components/card/styles.css +8 -8
- package/source/components/checkbox/passport.json +2 -2
- package/source/components/checkbox/styles.css +3 -3
- package/source/components/combobox/passport.json +2 -2
- package/source/components/combobox/styles.css +2 -2
- package/source/components/data-grid/passport.json +2 -2
- package/source/components/data-grid/styles.css +7 -7
- package/source/components/date-picker/passport.json +2 -2
- package/source/components/date-picker/styles.css +2 -2
- package/source/components/dialog/passport.json +2 -2
- package/source/components/dialog/styles.css +9 -9
- package/source/components/file-uploader/passport.json +2 -2
- package/source/components/file-uploader/styles.css +10 -10
- package/source/components/input/passport.json +2 -2
- package/source/components/input/styles.css +3 -3
- package/source/components/menu/passport.json +2 -2
- package/source/components/menu/styles.css +3 -3
- package/source/components/modal/passport.json +2 -2
- package/source/components/modal/styles.css +9 -9
- package/source/components/number-input/passport.json +2 -2
- package/source/components/number-input/styles.css +3 -3
- package/source/components/popover/passport.json +2 -2
- package/source/components/popover/styles.css +3 -3
- package/source/components/progress/passport.json +2 -2
- package/source/components/progress/styles.css +8 -8
- package/source/components/radio-group/passport.json +2 -2
- package/source/components/radio-group/styles.css +14 -14
- package/source/components/skeleton/passport.json +2 -2
- package/source/components/skeleton/styles.css +12 -12
- package/source/components/spinner/passport.json +2 -2
- package/source/components/spinner/styles.css +1 -1
- package/source/components/switch/passport.json +2 -2
- package/source/components/switch/styles.css +3 -3
- package/source/components/tabs/passport.json +2 -2
- package/source/components/tabs/styles.css +17 -17
- package/source/components/textarea/passport.json +2 -2
- package/source/components/textarea/styles.css +7 -7
- package/source/components/toaster/passport.json +2 -2
- package/source/components/toaster/styles.css +7 -7
- package/source/components/tooltip/passport.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,139 +1,214 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 2.4.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
The
|
|
62
|
-
`
|
|
63
|
-
`
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 2.4.2
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
**Your own class now beats a component's variant.**
|
|
8
|
+
|
|
9
|
+
Restyling a variant used to fail silently. A rule like
|
|
10
|
+
|
|
11
|
+
```css
|
|
12
|
+
.btn-brand { --bt-fill: #7c3aed; }
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
worked on a plain button and was ignored the moment anyone wrote
|
|
16
|
+
`variant="outline"`, because the shipped rule named two things
|
|
17
|
+
(`.bt-root[data-variant="outline"]`) where yours named one, and the browser
|
|
18
|
+
prefers the more specific selector. No error, nothing in devtools -- the
|
|
19
|
+
colour simply did not apply.
|
|
20
|
+
|
|
21
|
+
Selectors that carry an option you chose -- `variant`, `size`, `orientation`,
|
|
22
|
+
`appearance`, `placement` and the rest -- are now written so they add no
|
|
23
|
+
weight of their own. One class from you is enough, on any variant, in any
|
|
24
|
+
setup:
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<Button variant="outline" className="btn-brand">Save</Button>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**State deliberately still wins.** Disabled, invalid, selected, loading and
|
|
31
|
+
the other runtime states keep their weight, because a brand colour has no
|
|
32
|
+
business painting over a disabled control. To restyle a state, name the
|
|
33
|
+
state: `.btn-brand[data-disabled] { ... }`.
|
|
34
|
+
|
|
35
|
+
215 selectors across 26 stylesheets. Verified by capturing the computed
|
|
36
|
+
styles of 3,716 elements across every demo in light and dark before and
|
|
37
|
+
after: the only differences were opacity on the shimmer and spinner, which
|
|
38
|
+
differ between two runs of the same build because they are mid-animation.
|
|
39
|
+
Nothing else moved.
|
|
40
|
+
|
|
41
|
+
Nothing in your code needs to change. If you had already worked around this
|
|
42
|
+
with a more specific selector, that still wins.
|
|
43
|
+
|
|
44
|
+
## 2.4.1
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
**The stylesheet import printed after an install is now one you can paste.**
|
|
49
|
+
|
|
50
|
+
2.4.0 could put the components under `src/`, and printed the path to the
|
|
51
|
+
barrel from the project root -- which is correct from nowhere in particular.
|
|
52
|
+
In a Next.js app it read:
|
|
53
|
+
|
|
54
|
+
```css
|
|
55
|
+
@import "./src/component-lib/gbs.css" layer(components);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
while the file to edit was `src/app/globals.css`, two directories away. You
|
|
59
|
+
had to work out the `../` yourself.
|
|
60
|
+
|
|
61
|
+
The installer now finds your global stylesheet in the usual places
|
|
62
|
+
(`src/app/globals.css`, `app/globals.css`, `src/styles/globals.css`,
|
|
63
|
+
`src/index.css` and friends), names it, and writes the path from there:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Add this to src/app/globals.css:
|
|
67
|
+
|
|
68
|
+
@import "tailwindcss";
|
|
69
|
+
@import "../component-lib/gbs.css" layer(components);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Where no stylesheet is found it falls back to the path from the project root,
|
|
73
|
+
as before. The header inside the generated `gbs.css` follows the same rule.
|
|
74
|
+
|
|
75
|
+
Nothing about the installed components changed; this is the installer's
|
|
76
|
+
output only.
|
|
77
|
+
|
|
78
|
+
## 2.4.0
|
|
79
|
+
|
|
80
|
+
The first release published as **`@grampro/kit`**. `gbs-add-block` keeps
|
|
81
|
+
working for now and installs the same components, but new work happens here.
|
|
82
|
+
|
|
83
|
+
### The package has a new name
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx @grampro/kit add DataGrid
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`npx gbs-add-block` still resolves, and the `gbs-add-block` binary is still
|
|
90
|
+
installed, so existing scripts keep running. Both will stay for a few
|
|
91
|
+
releases before the old name is deprecated.
|
|
92
|
+
|
|
93
|
+
### Commands read as commands
|
|
94
|
+
|
|
95
|
+
`add`, `list`, `skill` and `passport` are verbs now:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npx @grampro/kit add Button DataGrid
|
|
99
|
+
npx @grampro/kit list
|
|
100
|
+
npx @grampro/kit skill --for claude
|
|
101
|
+
npx @grampro/kit passport --check
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The old flag spellings (`-a Button`, `-skill`, `-passport`) still work and
|
|
105
|
+
print the new spelling once. `--legacy` reaches the 1.x component set, which
|
|
106
|
+
is where `--beta` went: it used to opt *in* to the current components, and
|
|
107
|
+
there is nothing left to opt into.
|
|
108
|
+
|
|
109
|
+
### You choose where components land
|
|
110
|
+
|
|
111
|
+
The destination was fixed at `component-lib/` in the directory you ran the
|
|
112
|
+
command from, which put it beside `src/` rather than inside it for most
|
|
113
|
+
projects. Now:
|
|
114
|
+
|
|
115
|
+
- `--dest <path>` puts them wherever you want.
|
|
116
|
+
- Failing that, an install already in the project wins, so a second `add`
|
|
117
|
+
lands beside the first. That is how a custom `--dest` is remembered; no
|
|
118
|
+
config file is written into your project.
|
|
119
|
+
- Failing that, a project with a `src/` folder gets `src/component-lib/`,
|
|
120
|
+
and everything else keeps `component-lib/` at the root.
|
|
121
|
+
|
|
122
|
+
Nothing moves on its own: if you already have `component-lib/`, that is
|
|
123
|
+
still where components go.
|
|
124
|
+
|
|
125
|
+
The stylesheet import printed after an install now names the path the files
|
|
126
|
+
actually landed at, relative to your project root.
|
|
127
|
+
|
|
128
|
+
### Fixed
|
|
129
|
+
|
|
130
|
+
- `add Button --dest app/ui` tried to install a component called `app/ui`.
|
|
131
|
+
A flag's value was being read as a component name; the same was true of
|
|
132
|
+
`--for`.
|
|
133
|
+
|
|
134
|
+
### Internal
|
|
135
|
+
|
|
136
|
+
The library source moved from `source/beta-components` to
|
|
137
|
+
`source/components`, and the 1.x set from `source/components` to
|
|
138
|
+
`source/legacy-components`. This changes nothing for installed components —
|
|
139
|
+
the files you receive and their import paths are identical — but every
|
|
140
|
+
`passport.json` has a new `sourceHash`, because that hash covers
|
|
141
|
+
repo-relative paths.
|
|
142
|
+
|
|
143
|
+
## 2.3.0
|
|
144
|
+
|
|
145
|
+
Published as a minor, but **it contains one breaking change to styling**. Read
|
|
146
|
+
the upgrade note below before updating.
|
|
147
|
+
|
|
148
|
+
### Breaking: component CSS is no longer in a cascade layer
|
|
149
|
+
|
|
150
|
+
Component rules used to live in `@layer gbs`, and 2.1.0 asked Tailwind v4
|
|
151
|
+
projects to add `@layer gbs, utilities;` to their global CSS. Both are gone.
|
|
152
|
+
|
|
153
|
+
A cascade layer loses to *any* unlayered stylesheet regardless of specificity,
|
|
154
|
+
and Tailwind v3's preflight and Bootstrap's Reboot are both unlayered. Measured
|
|
155
|
+
on 2.2.0: under Tailwind v3 the components rendered with `border: 0` and
|
|
156
|
+
`padding-left: 0`; under Bootstrap every button was square. No host-side
|
|
157
|
+
declaration could fix either, because nothing layered can outrank unlayered CSS.
|
|
158
|
+
|
|
159
|
+
Component CSS now ships unlayered and wins on ordinary specificity, so Tailwind
|
|
160
|
+
v3, Bootstrap and framework-free projects work with no setup at all.
|
|
161
|
+
|
|
162
|
+
**What to change:**
|
|
163
|
+
|
|
164
|
+
- Delete any `@layer gbs, utilities;` (or similar) line you added for 2.1.0.
|
|
165
|
+
- Import the generated barrel instead of individual stylesheets:
|
|
166
|
+
`@import "./component-lib/gbs.css";`
|
|
167
|
+
- **Tailwind v4 only** — import it after the framework and into its components
|
|
168
|
+
layer, or utilities stop overriding component rules:
|
|
169
|
+
```css
|
|
170
|
+
@import "tailwindcss";
|
|
171
|
+
@import "./component-lib/gbs.css" layer(components);
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
The installer detects which line you need and prints it.
|
|
175
|
+
|
|
176
|
+
### Added
|
|
177
|
+
|
|
178
|
+
- **`<DataGrid ai />`** — a natural-language input above the grid, driven by an
|
|
179
|
+
adapter the application supplies through `<GramproAIProvider>`. No model is
|
|
180
|
+
bundled, downloaded or named, and with no provider the prop renders nothing.
|
|
181
|
+
- **WebMCP** — `registerGridTool(agent)` exposes one tool, `operate_grid`, to a
|
|
182
|
+
browser agent. Its schema is generated from the live grid. Needs no model.
|
|
183
|
+
- **Generated stylesheet barrel** — the CLI writes `component-lib/gbs.css` on
|
|
184
|
+
every install, so the import list stays correct as you add components.
|
|
185
|
+
- **Thin scrollbars** across every scrolling surface, themeable from `:root`
|
|
186
|
+
via `--gbs-scrollbar-width`, `--gbs-scrollbar-thumb`,
|
|
187
|
+
`--gbs-scrollbar-thumb-hover` and `--gbs-scrollbar-track`. Add
|
|
188
|
+
`class="gbs-scroll"` to your own scroll areas to match. Scroll containers the
|
|
189
|
+
kit does not own are left alone.
|
|
190
|
+
|
|
191
|
+
### Security
|
|
192
|
+
|
|
193
|
+
- Pinned `dompurify` to `^3.4.16` via `overrides`, clearing two DOM XSS
|
|
194
|
+
advisories reachable through `@grampro/headless-helpers → jspdf`. The 2.0 beta
|
|
195
|
+
components never used that chain. `npm audit` is now clean.
|
|
196
|
+
- Removed the `path` dependency. `require("path")` resolves to Node's built-in,
|
|
197
|
+
so the npm package was inert — a deprecated userland shim sitting in the
|
|
198
|
+
dependency tree for no reason.
|
|
199
|
+
|
|
200
|
+
### Documentation
|
|
201
|
+
|
|
202
|
+
- Documented what leaves the page with a remote AI adapter: the runtime contract
|
|
203
|
+
carries real values from low-cardinality columns. Mark personal columns
|
|
204
|
+
`semantics: { email: { pii: true } }` — a PII column is denied *and* never
|
|
205
|
+
summarised — or pass `stats: false`. Note that `policy.denyFilter` governs what
|
|
206
|
+
may be *done* with a column, not whether it may be *described*.
|
|
207
|
+
- Corrected the agent skill's install instructions, which still told agents to
|
|
208
|
+
import each stylesheet individually with no `layer()`.
|
|
209
|
+
|
|
210
|
+
### Packaging
|
|
211
|
+
|
|
212
|
+
- Test files are no longer published (35 files, 233 KB). They were filtered out
|
|
213
|
+
at install time anyway.
|
|
214
|
+
- Added `repository`, `homepage` and `bugs` metadata.
|
package/index.cjs
CHANGED
|
@@ -222,6 +222,36 @@ const folderFor = (component, beta = false) =>
|
|
|
222
222
|
* imports this inside Tailwind's `components` layer, after the framework,
|
|
223
223
|
* which is the standard way to place third-party CSS.
|
|
224
224
|
*/
|
|
225
|
+
/**
|
|
226
|
+
* The stylesheet a project imports globally, in the usual places.
|
|
227
|
+
*
|
|
228
|
+
* Ordered so the framework conventions come first: whichever exists is the
|
|
229
|
+
* file the printed import line is written relative to, so it can be pasted
|
|
230
|
+
* as-is rather than counting `../` by hand.
|
|
231
|
+
*/
|
|
232
|
+
const GLOBAL_CSS_CANDIDATES = [
|
|
233
|
+
"src/app/globals.css",
|
|
234
|
+
"app/globals.css",
|
|
235
|
+
"src/styles/globals.css",
|
|
236
|
+
"styles/globals.css",
|
|
237
|
+
"src/app/global.css",
|
|
238
|
+
"src/index.css",
|
|
239
|
+
"src/main.css",
|
|
240
|
+
"src/global.css",
|
|
241
|
+
];
|
|
242
|
+
|
|
243
|
+
const findGlobalStylesheet = () =>
|
|
244
|
+
GLOBAL_CSS_CANDIDATES.map((rel) => path.join(process.cwd(), rel)).find((file) =>
|
|
245
|
+
fs.existsSync(file),
|
|
246
|
+
) ?? null;
|
|
247
|
+
|
|
248
|
+
/** The folder's path as written from inside `file`, posix-style. */
|
|
249
|
+
const relativeFrom = (file, dir) => {
|
|
250
|
+
const rel = path.relative(path.dirname(file), dir).split(path.sep).join("/");
|
|
251
|
+
if (!rel) return ".";
|
|
252
|
+
return rel.startsWith(".") ? rel : "./" + rel;
|
|
253
|
+
};
|
|
254
|
+
|
|
225
255
|
const writeStyleBarrel = async (destPath, beta) => {
|
|
226
256
|
if (!beta) return null;
|
|
227
257
|
|
|
@@ -234,28 +264,27 @@ const writeStyleBarrel = async (destPath, beta) => {
|
|
|
234
264
|
.filter((folder) => fs.existsSync(path.join(destPath, folder, "styles.css")))
|
|
235
265
|
.sort();
|
|
236
266
|
|
|
237
|
-
|
|
238
|
-
// components under src/ the bare name would point somewhere they are not.
|
|
239
|
-
const dir =
|
|
267
|
+
const fromRoot =
|
|
240
268
|
path.relative(process.cwd(), destPath).split(path.sep).join("/") ||
|
|
241
269
|
path.basename(destPath);
|
|
270
|
+
const globalCss = findGlobalStylesheet();
|
|
271
|
+
const dir = globalCss ? relativeFrom(globalCss, destPath) : fromRoot;
|
|
242
272
|
const lines = [
|
|
243
273
|
"/*",
|
|
244
274
|
" * Generated by @grampro/kit. Rewritten on every install.",
|
|
245
275
|
" *",
|
|
246
|
-
" * Import this once in your global CSS
|
|
247
|
-
" * the project root, so adjust them if your global CSS sits deeper.",
|
|
276
|
+
" * Import this once in your global CSS:",
|
|
248
277
|
" *",
|
|
249
278
|
" * With Tailwind v4, import it after the framework and inside its",
|
|
250
279
|
" * components layer:",
|
|
251
280
|
" *",
|
|
252
281
|
' * @import "tailwindcss";',
|
|
253
|
-
' * @import "
|
|
282
|
+
' * @import "' + dir + '/gbs.css" layer(components);',
|
|
254
283
|
" *",
|
|
255
284
|
" * With Tailwind v3, Bootstrap, or no framework, the plain import is all",
|
|
256
285
|
" * you need:",
|
|
257
286
|
" *",
|
|
258
|
-
' * @import "
|
|
287
|
+
' * @import "' + dir + '/gbs.css";',
|
|
259
288
|
" *",
|
|
260
289
|
" * A component with no styles.css is not listed, which is normal - not",
|
|
261
290
|
" * every component ships CSS.",
|
|
@@ -281,7 +310,14 @@ const writeStyleBarrel = async (destPath, beta) => {
|
|
|
281
310
|
/* No package.json, or unreadable: fall through to showing both. */
|
|
282
311
|
}
|
|
283
312
|
|
|
284
|
-
return {
|
|
313
|
+
return {
|
|
314
|
+
count: folders.length,
|
|
315
|
+
dir,
|
|
316
|
+
tailwindMajor,
|
|
317
|
+
globalCss: globalCss
|
|
318
|
+
? path.relative(process.cwd(), globalCss).split(path.sep).join("/")
|
|
319
|
+
: null,
|
|
320
|
+
};
|
|
285
321
|
};
|
|
286
322
|
|
|
287
323
|
/** Printed after an install, so the one manual step is impossible to miss. */
|
|
@@ -290,16 +326,20 @@ const reportStyleBarrel = (barrel) => {
|
|
|
290
326
|
console.log(
|
|
291
327
|
NL + "Styles: wrote gbs.css, importing " + barrel.count + " stylesheet(s).",
|
|
292
328
|
);
|
|
293
|
-
console.log(
|
|
329
|
+
console.log(
|
|
330
|
+
barrel.globalCss
|
|
331
|
+
? "Add this to " + barrel.globalCss + ":"
|
|
332
|
+
: "Add this to your global CSS (paths from the project root):",
|
|
333
|
+
);
|
|
294
334
|
|
|
295
335
|
if (barrel.tailwindMajor === null) {
|
|
296
|
-
console.log(NL + " @import \"
|
|
336
|
+
console.log(NL + " @import \"" + barrel.dir + "/gbs.css\";");
|
|
297
337
|
console.log(
|
|
298
338
|
NL + " With Tailwind v4, put it after the framework and in its layer:",
|
|
299
339
|
);
|
|
300
340
|
console.log(" @import \"tailwindcss\";");
|
|
301
341
|
console.log(
|
|
302
|
-
" @import \"
|
|
342
|
+
" @import \"" + barrel.dir + "/gbs.css\" layer(components);",
|
|
303
343
|
);
|
|
304
344
|
return;
|
|
305
345
|
}
|
|
@@ -307,7 +347,7 @@ const reportStyleBarrel = (barrel) => {
|
|
|
307
347
|
if (barrel.tailwindMajor >= 4) {
|
|
308
348
|
console.log(NL + " @import \"tailwindcss\";");
|
|
309
349
|
console.log(
|
|
310
|
-
" @import \"
|
|
350
|
+
" @import \"" + barrel.dir + "/gbs.css\" layer(components);",
|
|
311
351
|
);
|
|
312
352
|
console.log(
|
|
313
353
|
NL + " (after the framework, and in its components layer - Tailwind v4" +
|
|
@@ -316,7 +356,7 @@ const reportStyleBarrel = (barrel) => {
|
|
|
316
356
|
return;
|
|
317
357
|
}
|
|
318
358
|
|
|
319
|
-
console.log(NL + " @import \"
|
|
359
|
+
console.log(NL + " @import \"" + barrel.dir + "/gbs.css\";");
|
|
320
360
|
console.log(NL + " (Tailwind v" + barrel.tailwindMajor + ": nothing else to do)");
|
|
321
361
|
};
|
|
322
362
|
|
package/package.json
CHANGED
|
@@ -1,76 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@grampro/kit",
|
|
3
|
-
"version": "2.4.
|
|
4
|
-
"description": "GramproKit \u2014 an agent-native UI runtime for React. Copy-in components you own, each publishing a contract that software can read.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"index.cjs",
|
|
8
|
-
"source",
|
|
9
|
-
".gbs",
|
|
10
|
-
"tools",
|
|
11
|
-
"schema",
|
|
12
|
-
"!tools/eval",
|
|
13
|
-
"!source/**/__tests__",
|
|
14
|
-
"!**/*.test.ts",
|
|
15
|
-
"!**/*.test.tsx",
|
|
16
|
-
"CHANGELOG.md"
|
|
17
|
-
],
|
|
18
|
-
"engines": {
|
|
19
|
-
"node": ">=17"
|
|
20
|
-
},
|
|
21
|
-
"bin": {
|
|
22
|
-
"grampro-kit": "index.cjs",
|
|
23
|
-
"gbs-add-block": "index.cjs"
|
|
24
|
-
},
|
|
25
|
-
"scripts": {
|
|
26
|
-
"prepublishOnly": "npm test && npm run passport:check",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"passport
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"react
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"@huggingface/transformers
|
|
55
|
-
"@
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"react
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@grampro/kit",
|
|
3
|
+
"version": "2.4.2",
|
|
4
|
+
"description": "GramproKit \u2014 an agent-native UI runtime for React. Copy-in components you own, each publishing a contract that software can read.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"index.cjs",
|
|
8
|
+
"source",
|
|
9
|
+
".gbs",
|
|
10
|
+
"tools",
|
|
11
|
+
"schema",
|
|
12
|
+
"!tools/eval",
|
|
13
|
+
"!source/**/__tests__",
|
|
14
|
+
"!**/*.test.ts",
|
|
15
|
+
"!**/*.test.tsx",
|
|
16
|
+
"CHANGELOG.md"
|
|
17
|
+
],
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=17"
|
|
20
|
+
},
|
|
21
|
+
"bin": {
|
|
22
|
+
"grampro-kit": "index.cjs",
|
|
23
|
+
"gbs-add-block": "index.cjs"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"prepublishOnly": "npm test && npm run passport:check",
|
|
27
|
+
"version": "npm run passport && git add -A source",
|
|
28
|
+
"test": "pnpm -C playground test",
|
|
29
|
+
"passport": "node tools/passport/cli.cjs",
|
|
30
|
+
"passport:check": "node tools/passport/cli.cjs --check",
|
|
31
|
+
"eval:grid": "node tools/eval/grid/cli.cjs"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"react",
|
|
35
|
+
"react-19",
|
|
36
|
+
"component-library",
|
|
37
|
+
"agent-native",
|
|
38
|
+
"ui-runtime",
|
|
39
|
+
"ai-agents",
|
|
40
|
+
"webmcp",
|
|
41
|
+
"data-grid",
|
|
42
|
+
"copy-in",
|
|
43
|
+
"accessibility"
|
|
44
|
+
],
|
|
45
|
+
"author": "Anandhu Remanan",
|
|
46
|
+
"license": "ISC",
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@grampro/headless-helpers": "^1.0.21",
|
|
49
|
+
"fs-extra": "^11.0.4",
|
|
50
|
+
"tailwind-merge": "^3.6.0",
|
|
51
|
+
"yargs": "^17.7.2"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@huggingface/transformers": "^4.3.1",
|
|
55
|
+
"@huggingface/transformers-structured-output": "^4.3.1",
|
|
56
|
+
"@types/fs-extra": "^11.0.4",
|
|
57
|
+
"typescript": "^6.0.3"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"react": "^19.0.0",
|
|
61
|
+
"react-dom": "^19.0.0"
|
|
62
|
+
},
|
|
63
|
+
"overrides": {
|
|
64
|
+
"dompurify": "^3.4.16"
|
|
65
|
+
},
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "git+https://github.com/gramproindia/kit.git"
|
|
69
|
+
},
|
|
70
|
+
"homepage": "https://kit.gramproindia.com",
|
|
71
|
+
"bugs": {
|
|
72
|
+
"url": "https://github.com/gramproindia/kit/issues"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
}
|
|
77
|
+
}
|