tembro 2.1.6 → 2.1.7

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.
@@ -1 +1 @@
1
- var e={$schema:`https://tembro.dev/registry.schema.json`,name:`tembro`,version:`2.1.6`,description:`Reusable React + TypeScript UI kit registry`,groups:{ui:[`badge`,`button`,`card`,`checkbox`,`accordion`,`collapse`,`dialog`,`divider`,`dropdown-menu`,`input`,`kbd`,`popover`,`radio-group`,`right-click-menu`,`scroll-box`,`select`,`segmented-control`,`skeleton`,`spinner`,`switch`,`table`,`tabs`,`textarea`,`tooltip`],overlay:[`alert-dialog`,`confirm-dialog`,`drawer`,`modal-shell`,`sheet-shell`],navigation:[`nav-tabs`,`page-tabs`,`pagination`,`stepper-tabs`,`command-bar`],inputs:[`async-select`,`combobox`,`masked-input`,`money-input`,`number-input`,`otp-input`,`password-input`,`phone-input`,`quantity-input`,`quantity-stepper`,`rating`,`search-input`,`simple-select`,`slider`,`tag-input`,`inline-editable`],form:[`form-field-shell`,`form-input`,`form-select`,`form-textarea`,`form-switch`,`form-async-select`],feedback:[`alert`,`loading-state`,`page-state`,`data-state`],display:[`activity-feed`,`avatar`,`code-block`,`data-list`,`data-state`,`info-card`,`kanban`,`list`,`metric-grid`,`progress`,`progress-circle`,`property-grid`,`result`,`statistic`,`status-dot`,`status-legend`,`timeline`,`tree-view`,`user-card`,`trend-card`],actions:[`action-menu`,`button-group`,`copy-button`,`quick-action-grid`],layout:[`app-header`,`sidebar`,`breadcrumbs`,`page-container`,`section`,`section-header`,`sidebar-nav`,`stat-card`,`sticky-footer-bar`],filters:[`filter-bar`,`saved-filter-select`],"data-table":[`data-table`],calendar:[`calendar`,`date-picker`,`date-range-picker`],upload:[`file-upload`,`image-upload`,`file-dropzone`],wizard:[`stepper`,`wizard`],notifications:[`toast`,`notification-center`],command:[],patterns:[`resource-page`,`resource-detail-page`],modern:[`calendar-scheduler`,`dual-list-picker`,`menubar`,`navigation-menu`,`resizable-panel`,`rich-text-editor`,`tour`,`qr-code`,`tag`,`carousel`,`typography`,`json-input`,`time-picker`],hooks:[`use-session-storage-state`,`use-before-unload-when-dirty`,`use-is-mobile`,`use-disclosure`,`use-debounce`,`use-data-table-view-state`],kits:[`dashboard`,`calendar-kit`,`wizard-kit`,`all`]},recommended:`button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.sidebar-nav.breadcrumbs.data-state.loading-state.progress.progress-circle.metric-grid.stat-card.activity-feed.data-list.user-card.action-menu.filter-bar.trend-card.notification-center.command-bar`.split(`.`),recommendedByMode:{foundation:[`button`,`input`,`textarea`,`checkbox`,`switch`,`radio-group`,`dialog`,`popover`,`select`,`table`,`badge`,`card`,`tabs`,`kbd`,`scroll-box`],sourceCopy:[`sidebar`,`sidebar-nav`,`breadcrumbs`,`data-state`,`loading-state`,`progress-circle`,`stat-card`,`metric-grid`,`activity-feed`,`user-card`,`action-menu`,`filter-bar`,`date-picker`,`date-range-picker`,`file-upload`,`file-dropzone`,`use-data-table-view-state`,`data-table`,`form-input`,`form-select`,`form-textarea`,`form-switch`,`trend-card`,`notification-center`,`command-bar`],system:[`data-table`,`data-table-view-presets`,`sidebar`,`sidebar-nav`]},publicSurface:{documented:[`button`,`input`,`select`,`card`,`badge`,`checkbox`,`dialog`,`form-field-shell`,`data-table`,`calendar`,`date-picker`,`date-range-picker`,`alert`,`charts`,`sidebar`,`file-upload`,`progress`],standalone:`accordion.divider.segmented-control.skeleton.spinner.command-bar.quantity-stepper.inline-editable.avatar.code-block.data-state.kanban.list.property-grid.statistic.tree-view.copy-button.section.sticky-footer-bar.calendar-scheduler.dual-list-picker.menubar.navigation-menu.resizable-panel.rich-text-editor.tour.qr-code.tag.carousel.typography.json-input.time-picker`.split(`.`)},migrationAliases:{"clearable-input":`input`,"search-input":`input`,"password-input":`input`,"number-input":`input`,"money-input":`input`,"phone-input":`input`,"masked-input":`input`,"quantity-input":`input`,"date-input":`input`,"date-range-input":`input`,"simple-select":`select`,combobox:`select`,"async-multi-select":`async-select`,"form-async-select":`form-select`,"app-sidebar":`sidebar`,"smart-card":`info-card`}};exports.default=e;
1
+ var e={$schema:`https://tembro.dev/registry.schema.json`,name:`tembro`,version:`2.1.7`,description:`Reusable React + TypeScript UI kit registry`,groups:{ui:[`badge`,`button`,`card`,`checkbox`,`accordion`,`collapse`,`dialog`,`divider`,`dropdown-menu`,`input`,`kbd`,`popover`,`radio-group`,`right-click-menu`,`scroll-box`,`select`,`segmented-control`,`skeleton`,`spinner`,`switch`,`table`,`tabs`,`textarea`,`tooltip`],overlay:[`alert-dialog`,`confirm-dialog`,`drawer`,`modal-shell`,`sheet-shell`],navigation:[`nav-tabs`,`page-tabs`,`pagination`,`stepper-tabs`,`command-bar`],inputs:[`async-select`,`combobox`,`masked-input`,`money-input`,`number-input`,`otp-input`,`password-input`,`phone-input`,`quantity-stepper`,`rating`,`search-input`,`slider`,`tag-input`,`inline-editable`],form:[],feedback:[`alert`,`loading-state`,`page-state`,`data-state`],display:[`activity-feed`,`avatar`,`code-block`,`data-list`,`data-state`,`info-card`,`kanban`,`list`,`metric-grid`,`progress`,`progress-circle`,`property-grid`,`result`,`statistic`,`status-dot`,`status-legend`,`timeline`,`tree-view`,`user-card`,`trend-card`],actions:[`action-menu`,`button-group`,`copy-button`,`quick-action-grid`],layout:[`sidebar`,`breadcrumbs`,`section`],filters:[`filter-bar`,`saved-filter-select`],"data-table":[`data-table`],calendar:[`calendar`,`date-picker`,`date-range-picker`],upload:[`file-upload`,`image-upload`],wizard:[`stepper`,`wizard`],notifications:[`toast`,`notification-center`],command:[],patterns:[`resource-page`,`resource-detail-page`],modern:[`calendar-scheduler`,`dual-list-picker`,`menubar`,`navigation-menu`,`resizable-panel`,`rich-text-editor`,`tour`,`qr-code`,`tag`,`carousel`,`typography`,`json-input`,`time-picker`],hooks:[`use-session-storage-state`,`use-before-unload-when-dirty`,`use-is-mobile`,`use-disclosure`,`use-debounce`,`use-data-table-view-state`],kits:[`dashboard`,`calendar-kit`,`wizard-kit`,`all`]},recommended:`button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.breadcrumbs.data-state.loading-state.progress.progress-circle.metric-grid.activity-feed.data-list.user-card.action-menu.filter-bar.trend-card.notification-center.command-bar`.split(`.`),recommendedByMode:{foundation:[`button`,`input`,`textarea`,`checkbox`,`switch`,`radio-group`,`dialog`,`popover`,`select`,`table`,`badge`,`card`,`tabs`,`kbd`,`scroll-box`],sourceCopy:[`sidebar`,`breadcrumbs`,`data-state`,`loading-state`,`progress-circle`,`metric-grid`,`activity-feed`,`user-card`,`action-menu`,`filter-bar`,`date-picker`,`date-range-picker`,`file-upload`,`use-data-table-view-state`,`data-table`,`trend-card`,`notification-center`,`command-bar`],system:[`data-table`,`data-table-view-presets`,`sidebar`]},publicSurface:{documented:[`button`,`input`,`select`,`card`,`badge`,`checkbox`,`dialog`,`data-table`,`calendar`,`date-picker`,`date-range-picker`,`alert`,`charts`,`sidebar`,`file-upload`,`progress`],standalone:`accordion.divider.segmented-control.skeleton.spinner.command-bar.quantity-stepper.inline-editable.avatar.code-block.data-state.kanban.list.property-grid.statistic.tree-view.copy-button.section.calendar-scheduler.dual-list-picker.menubar.navigation-menu.resizable-panel.rich-text-editor.tour.qr-code.tag.carousel.typography.json-input.time-picker`.split(`.`)},migrationAliases:{"clearable-input":`input`,"search-input":`input`,"password-input":`input`,"number-input":`input`,"money-input":`input`,"phone-input":`input`,"masked-input":`input`,"quantity-input":`input`,"date-input":`input`,"date-range-input":`input`,"simple-select":`select`,combobox:`select`,"async-multi-select":`async-select`,"form-async-select":`select`,"app-sidebar":`sidebar`,"smart-card":`info-card`,"app-header":`sidebar`,"app-shell":`sidebar`,"copy-field":`copy-button`,"file-dropzone":`file-upload`,"form-field-shell":`input`,"form-input":`input`,"form-select":`select`,"form-switch":`switch`,"form-textarea":`textarea`,"hover-card":`tooltip`,"page-container":`sidebar`,"page-header":`breadcrumbs`,"section-header":`section`,"sidebar-nav":`sidebar`,"stat-card":`metric-grid`,"sticky-footer-bar":`sidebar`}};exports.default=e;
@@ -1,7 +1,7 @@
1
1
  var e = {
2
2
  $schema: "https://tembro.dev/registry.schema.json",
3
3
  name: "tembro",
4
- version: "2.1.6",
4
+ version: "2.1.7",
5
5
  description: "Reusable React + TypeScript UI kit registry",
6
6
  groups: {
7
7
  ui: [
@@ -53,23 +53,14 @@ var e = {
53
53
  "otp-input",
54
54
  "password-input",
55
55
  "phone-input",
56
- "quantity-input",
57
56
  "quantity-stepper",
58
57
  "rating",
59
58
  "search-input",
60
- "simple-select",
61
59
  "slider",
62
60
  "tag-input",
63
61
  "inline-editable"
64
62
  ],
65
- form: [
66
- "form-field-shell",
67
- "form-input",
68
- "form-select",
69
- "form-textarea",
70
- "form-switch",
71
- "form-async-select"
72
- ],
63
+ form: [],
73
64
  feedback: [
74
65
  "alert",
75
66
  "loading-state",
@@ -105,15 +96,9 @@ var e = {
105
96
  "quick-action-grid"
106
97
  ],
107
98
  layout: [
108
- "app-header",
109
99
  "sidebar",
110
100
  "breadcrumbs",
111
- "page-container",
112
- "section",
113
- "section-header",
114
- "sidebar-nav",
115
- "stat-card",
116
- "sticky-footer-bar"
101
+ "section"
117
102
  ],
118
103
  filters: ["filter-bar", "saved-filter-select"],
119
104
  "data-table": ["data-table"],
@@ -122,11 +107,7 @@ var e = {
122
107
  "date-picker",
123
108
  "date-range-picker"
124
109
  ],
125
- upload: [
126
- "file-upload",
127
- "image-upload",
128
- "file-dropzone"
129
- ],
110
+ upload: ["file-upload", "image-upload"],
130
111
  wizard: ["stepper", "wizard"],
131
112
  notifications: ["toast", "notification-center"],
132
113
  command: [],
@@ -161,7 +142,7 @@ var e = {
161
142
  "all"
162
143
  ]
163
144
  },
164
- recommended: /* @__PURE__ */ "button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.sidebar-nav.breadcrumbs.data-state.loading-state.progress.progress-circle.metric-grid.stat-card.activity-feed.data-list.user-card.action-menu.filter-bar.trend-card.notification-center.command-bar".split("."),
145
+ recommended: /* @__PURE__ */ "button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.breadcrumbs.data-state.loading-state.progress.progress-circle.metric-grid.activity-feed.data-list.user-card.action-menu.filter-bar.trend-card.notification-center.command-bar".split("."),
165
146
  recommendedByMode: {
166
147
  foundation: [
167
148
  "button",
@@ -182,12 +163,10 @@ var e = {
182
163
  ],
183
164
  sourceCopy: [
184
165
  "sidebar",
185
- "sidebar-nav",
186
166
  "breadcrumbs",
187
167
  "data-state",
188
168
  "loading-state",
189
169
  "progress-circle",
190
- "stat-card",
191
170
  "metric-grid",
192
171
  "activity-feed",
193
172
  "user-card",
@@ -196,13 +175,8 @@ var e = {
196
175
  "date-picker",
197
176
  "date-range-picker",
198
177
  "file-upload",
199
- "file-dropzone",
200
178
  "use-data-table-view-state",
201
179
  "data-table",
202
- "form-input",
203
- "form-select",
204
- "form-textarea",
205
- "form-switch",
206
180
  "trend-card",
207
181
  "notification-center",
208
182
  "command-bar"
@@ -210,8 +184,7 @@ var e = {
210
184
  system: [
211
185
  "data-table",
212
186
  "data-table-view-presets",
213
- "sidebar",
214
- "sidebar-nav"
187
+ "sidebar"
215
188
  ]
216
189
  },
217
190
  publicSurface: {
@@ -223,7 +196,6 @@ var e = {
223
196
  "badge",
224
197
  "checkbox",
225
198
  "dialog",
226
- "form-field-shell",
227
199
  "data-table",
228
200
  "calendar",
229
201
  "date-picker",
@@ -234,7 +206,7 @@ var e = {
234
206
  "file-upload",
235
207
  "progress"
236
208
  ],
237
- standalone: /* @__PURE__ */ "accordion.divider.segmented-control.skeleton.spinner.command-bar.quantity-stepper.inline-editable.avatar.code-block.data-state.kanban.list.property-grid.statistic.tree-view.copy-button.section.sticky-footer-bar.calendar-scheduler.dual-list-picker.menubar.navigation-menu.resizable-panel.rich-text-editor.tour.qr-code.tag.carousel.typography.json-input.time-picker".split(".")
209
+ standalone: /* @__PURE__ */ "accordion.divider.segmented-control.skeleton.spinner.command-bar.quantity-stepper.inline-editable.avatar.code-block.data-state.kanban.list.property-grid.statistic.tree-view.copy-button.section.calendar-scheduler.dual-list-picker.menubar.navigation-menu.resizable-panel.rich-text-editor.tour.qr-code.tag.carousel.typography.json-input.time-picker".split(".")
238
210
  },
239
211
  migrationAliases: {
240
212
  "clearable-input": "input",
@@ -250,9 +222,25 @@ var e = {
250
222
  "simple-select": "select",
251
223
  combobox: "select",
252
224
  "async-multi-select": "async-select",
253
- "form-async-select": "form-select",
225
+ "form-async-select": "select",
254
226
  "app-sidebar": "sidebar",
255
- "smart-card": "info-card"
227
+ "smart-card": "info-card",
228
+ "app-header": "sidebar",
229
+ "app-shell": "sidebar",
230
+ "copy-field": "copy-button",
231
+ "file-dropzone": "file-upload",
232
+ "form-field-shell": "input",
233
+ "form-input": "input",
234
+ "form-select": "select",
235
+ "form-switch": "switch",
236
+ "form-textarea": "textarea",
237
+ "hover-card": "tooltip",
238
+ "page-container": "sidebar",
239
+ "page-header": "breadcrumbs",
240
+ "section-header": "section",
241
+ "sidebar-nav": "sidebar",
242
+ "stat-card": "metric-grid",
243
+ "sticky-footer-bar": "sidebar"
256
244
  }
257
245
  };
258
246
  //#endregion
package/package.json CHANGED
@@ -1,189 +1,189 @@
1
- {
2
- "name": "tembro",
3
- "version": "2.1.6",
4
- "description": "Reusable React UI kit with dashboard-ready components, CLI registry helpers, and TypeScript support.",
5
- "keywords": [
6
- "react",
7
- "typescript",
8
- "ui",
9
- "component-library",
10
- "design-system",
11
- "dashboard",
12
- "tailwindcss",
13
- "registry",
14
- "cli"
15
- ],
16
- "homepage": "https://github.com/AzamatJurayev-dev/tembro#readme",
17
- "repository": {
18
- "type": "git",
19
- "url": "git+https://github.com/AzamatJurayev-dev/tembro.git"
20
- },
21
- "bugs": {
22
- "url": "https://github.com/AzamatJurayev-dev/tembro/issues"
23
- },
24
- "license": "MIT",
25
- "author": "Azamat Jurayev",
26
- "type": "module",
27
- "bin": {
28
- "tembro": "bin/tembro.cjs"
29
- },
30
- "publishConfig": {
31
- "access": "public"
32
- },
33
- "engines": {
34
- "node": ">=18"
35
- },
36
- "workspaces": [
37
- "packages/cli"
38
- ],
39
- "main": "./dist/index.cjs",
40
- "module": "./dist/index.js",
41
- "types": "./dist/index.d.ts",
42
- "sideEffects": [
43
- "**/*.css"
44
- ],
45
- "exports": {
46
- ".": {
47
- "types": "./dist/index.d.ts",
48
- "import": "./dist/index.js",
49
- "require": "./dist/index.cjs"
50
- },
51
- "./ui/*": {
52
- "types": "./dist/components/ui/*.d.ts",
53
- "import": "./dist/components/ui/*.js",
54
- "require": "./dist/components/ui/*.cjs"
55
- },
56
- "./actions/*": {
57
- "types": "./dist/components/actions/*.d.ts",
58
- "import": "./dist/components/actions/*.js",
59
- "require": "./dist/components/actions/*.cjs"
60
- },
61
- "./patterns/*": {
62
- "types": "./dist/components/patterns/*.d.ts",
63
- "import": "./dist/components/patterns/*.js",
64
- "require": "./dist/components/patterns/*.cjs"
65
- },
66
- "./display/*": {
67
- "types": "./dist/components/display/*.d.ts",
68
- "import": "./dist/components/display/*.js",
69
- "require": "./dist/components/display/*.cjs"
70
- },
71
- "./form/*": {
72
- "types": "./dist/components/form/*.d.ts",
73
- "import": "./dist/components/form/*.js",
74
- "require": "./dist/components/form/*.cjs"
75
- },
76
- "./layout/*": {
77
- "types": "./dist/components/layout/*.d.ts",
78
- "import": "./dist/components/layout/*.js",
79
- "require": "./dist/components/layout/*.cjs"
80
- },
81
- "./inputs/*": {
82
- "types": "./dist/components/inputs/*.d.ts",
83
- "import": "./dist/components/inputs/*.js",
84
- "require": "./dist/components/inputs/*.cjs"
85
- },
86
- "./charts/*": {
87
- "types": "./dist/components/charts/*.d.ts",
88
- "import": "./dist/components/charts/*.js",
89
- "require": "./dist/components/charts/*.cjs"
90
- },
91
- "./data-table/*": {
92
- "types": "./dist/components/data-table/*.d.ts",
93
- "import": "./dist/components/data-table/*.js",
94
- "require": "./dist/components/data-table/*.cjs"
95
- },
96
- "./showcase": {
97
- "types": "./dist/showcase/index.d.ts",
98
- "import": "./dist/showcase/index.js",
99
- "require": "./dist/showcase/index.cjs"
100
- },
101
- "./showcase/*": {
102
- "types": "./dist/showcase/*.d.ts",
103
- "import": "./dist/showcase/*.js",
104
- "require": "./dist/showcase/*.cjs"
105
- },
106
- "./registry.json": "./registry.json",
107
- "./package.json": "./package.json"
108
- },
109
- "files": [
110
- "bin",
111
- "dist",
112
- "packages/cli/dist",
113
- "packages/cli/vendor",
114
- "registry.json",
115
- "README.md",
116
- "CHANGELOG.md",
117
- "LICENSE"
118
- ],
119
- "scripts": {
120
- "prepublishOnly": "npm run release:gate",
121
- "clean": "node scripts/clean-dist.mjs",
122
- "build": "npm run clean && vite build && tsc -p tsconfig.build.json && npm run test:build-output",
123
- "build:lib": "vite build && tsc -p tsconfig.build.json",
124
- "build:cli": "npm run build --workspace tembro-cli-internal",
125
- "build:all": "npm run build && npm run build:cli",
126
- "prepack": "node scripts/prepack-root.mjs",
127
- "pack:dry-run": "npm pack --dry-run && npm pack --dry-run --workspace tembro-cli-internal",
128
- "check-version-sync": "node scripts/check-version-sync.mjs",
129
- "check-neutral-palette": "node scripts/check-neutral-palette.mjs",
130
- "check:showcase-quality": "node scripts/check-showcase-quality.mjs",
131
- "test:cli": "node scripts/test-cli.mjs",
132
- "lint": "eslint .",
133
- "test:types": "tsc -p tsconfig.test.json --noEmit",
134
- "test:a11y": "vitest run tests/a11y/render-accessibility.test.tsx --config vitest.config.ts",
135
- "test:registry": "node scripts/validate-registry.mjs",
136
- "test:build-output": "node scripts/check-build-output.mjs",
137
- "test:root-exports": "node scripts/check-root-exports.mjs",
138
- "test:render": "vitest run --config vitest.config.ts",
139
- "test:fixtures": "node scripts/fixture-smoke.mjs",
140
- "test:run": "npm run test:types && npm run test:render && npm run test:a11y && npm run test:registry && npm run test:root-exports && node scripts/ensure-build-output.mjs && npm run test:build-output && npm run check:showcase-quality",
141
- "release:quick": "npm run test:types && npm run test:registry && npm run test:root-exports && npx vitest run tests/render/async-select.test.tsx tests/render/form-select.test.tsx tests/render/base-primitives.test.tsx tests/render/calendar-upload.test.tsx tests/render/data-table.test.tsx --config vitest.config.ts && npm run build:all && npm run check-version-sync && npm run pack:dry-run",
142
- "release:gate": "npm run lint && npm run build:all && npm run check-version-sync && npm run test:run && npm run test:cli && npm run test:fixtures && npm run pack:dry-run"
143
- },
144
- "peerDependencies": {
145
- "react": "^18.0.0 || ^19.0.0",
146
- "react-dom": "^18.0.0 || ^19.0.0",
147
- "react-hook-form": "^7.0.0"
148
- },
149
- "dependencies": {
150
- "@base-ui/react": "^1.5.0",
151
- "@tanstack/react-table": "^8.21.3",
152
- "class-variance-authority": "^0.7.1",
153
- "clsx": "^2.1.1",
154
- "cmdk": "^1.1.1",
155
- "lucide-react": "^1.17.0",
156
- "tailwind-merge": "^3.6.0"
157
- },
158
- "devDependencies": {
159
- "@babel/core": "^7.29.0",
160
- "@eslint/js": "^10.0.1",
161
- "@rolldown/plugin-babel": "^0.2.3",
162
- "@tailwindcss/vite": "^4.3.0",
163
- "@testing-library/jest-dom": "^6.9.1",
164
- "@testing-library/react": "^16.3.2",
165
- "@testing-library/user-event": "^14.6.1",
166
- "@types/babel__core": "^7.20.5",
167
- "@types/fs-extra": "^11.0.4",
168
- "@types/node": "^24.13.2",
169
- "@types/react": "^19.2.14",
170
- "@types/react-dom": "^19.2.3",
171
- "@vitejs/plugin-react": "^6.0.1",
172
- "babel-plugin-react-compiler": "^1.0.0",
173
- "eslint": "^10.3.0",
174
- "eslint-plugin-react-hooks": "^7.1.1",
175
- "eslint-plugin-react-refresh": "^0.5.2",
176
- "execa": "^9.6.1",
177
- "fs-extra": "^11.3.5",
178
- "globals": "^17.6.0",
179
- "jsdom": "^27.4.0",
180
- "react": "^19.2.6",
181
- "react-dom": "^19.2.6",
182
- "react-hook-form": "^7.75.0",
183
- "tailwindcss": "^4.3.0",
184
- "typescript": "~6.0.2",
185
- "typescript-eslint": "^8.59.2",
186
- "vite": "^8.0.12",
187
- "vitest": "^3.2.6"
188
- }
189
- }
1
+ {
2
+ "name": "tembro",
3
+ "version": "2.1.7",
4
+ "description": "Reusable React UI kit with dashboard-ready components, CLI registry helpers, and TypeScript support.",
5
+ "keywords": [
6
+ "react",
7
+ "typescript",
8
+ "ui",
9
+ "component-library",
10
+ "design-system",
11
+ "dashboard",
12
+ "tailwindcss",
13
+ "registry",
14
+ "cli"
15
+ ],
16
+ "homepage": "https://github.com/AzamatJurayev-dev/tembro#readme",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/AzamatJurayev-dev/tembro.git"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/AzamatJurayev-dev/tembro/issues"
23
+ },
24
+ "license": "MIT",
25
+ "author": "Azamat Jurayev",
26
+ "type": "module",
27
+ "bin": {
28
+ "tembro": "bin/tembro.cjs"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "engines": {
34
+ "node": ">=18"
35
+ },
36
+ "workspaces": [
37
+ "packages/cli"
38
+ ],
39
+ "main": "./dist/index.cjs",
40
+ "module": "./dist/index.js",
41
+ "types": "./dist/index.d.ts",
42
+ "sideEffects": [
43
+ "**/*.css"
44
+ ],
45
+ "exports": {
46
+ ".": {
47
+ "types": "./dist/index.d.ts",
48
+ "import": "./dist/index.js",
49
+ "require": "./dist/index.cjs"
50
+ },
51
+ "./ui/*": {
52
+ "types": "./dist/components/ui/*.d.ts",
53
+ "import": "./dist/components/ui/*.js",
54
+ "require": "./dist/components/ui/*.cjs"
55
+ },
56
+ "./actions/*": {
57
+ "types": "./dist/components/actions/*.d.ts",
58
+ "import": "./dist/components/actions/*.js",
59
+ "require": "./dist/components/actions/*.cjs"
60
+ },
61
+ "./patterns/*": {
62
+ "types": "./dist/components/patterns/*.d.ts",
63
+ "import": "./dist/components/patterns/*.js",
64
+ "require": "./dist/components/patterns/*.cjs"
65
+ },
66
+ "./display/*": {
67
+ "types": "./dist/components/display/*.d.ts",
68
+ "import": "./dist/components/display/*.js",
69
+ "require": "./dist/components/display/*.cjs"
70
+ },
71
+ "./form/*": {
72
+ "types": "./dist/components/form/*.d.ts",
73
+ "import": "./dist/components/form/*.js",
74
+ "require": "./dist/components/form/*.cjs"
75
+ },
76
+ "./layout/*": {
77
+ "types": "./dist/components/layout/*.d.ts",
78
+ "import": "./dist/components/layout/*.js",
79
+ "require": "./dist/components/layout/*.cjs"
80
+ },
81
+ "./inputs/*": {
82
+ "types": "./dist/components/inputs/*.d.ts",
83
+ "import": "./dist/components/inputs/*.js",
84
+ "require": "./dist/components/inputs/*.cjs"
85
+ },
86
+ "./charts/*": {
87
+ "types": "./dist/components/charts/*.d.ts",
88
+ "import": "./dist/components/charts/*.js",
89
+ "require": "./dist/components/charts/*.cjs"
90
+ },
91
+ "./data-table/*": {
92
+ "types": "./dist/components/data-table/*.d.ts",
93
+ "import": "./dist/components/data-table/*.js",
94
+ "require": "./dist/components/data-table/*.cjs"
95
+ },
96
+ "./showcase": {
97
+ "types": "./dist/showcase/index.d.ts",
98
+ "import": "./dist/showcase/index.js",
99
+ "require": "./dist/showcase/index.cjs"
100
+ },
101
+ "./showcase/*": {
102
+ "types": "./dist/showcase/*.d.ts",
103
+ "import": "./dist/showcase/*.js",
104
+ "require": "./dist/showcase/*.cjs"
105
+ },
106
+ "./registry.json": "./registry.json",
107
+ "./package.json": "./package.json"
108
+ },
109
+ "files": [
110
+ "bin",
111
+ "dist",
112
+ "packages/cli/dist",
113
+ "packages/cli/vendor",
114
+ "registry.json",
115
+ "README.md",
116
+ "CHANGELOG.md",
117
+ "LICENSE"
118
+ ],
119
+ "scripts": {
120
+ "prepublishOnly": "npm run release:gate",
121
+ "clean": "node scripts/clean-dist.mjs",
122
+ "build": "npm run clean && vite build && tsc -p tsconfig.build.json && npm run test:build-output",
123
+ "build:lib": "vite build && tsc -p tsconfig.build.json",
124
+ "build:cli": "npm run build --workspace tembro-cli-internal",
125
+ "build:all": "npm run build && npm run build:cli",
126
+ "prepack": "node scripts/prepack-root.mjs",
127
+ "pack:dry-run": "npm pack --dry-run && npm pack --dry-run --workspace tembro-cli-internal",
128
+ "check-version-sync": "node scripts/check-version-sync.mjs",
129
+ "check-neutral-palette": "node scripts/check-neutral-palette.mjs",
130
+ "check:showcase-quality": "node scripts/check-showcase-quality.mjs",
131
+ "test:cli": "node scripts/test-cli.mjs",
132
+ "lint": "eslint .",
133
+ "test:types": "tsc -p tsconfig.test.json --noEmit",
134
+ "test:a11y": "vitest run tests/a11y/render-accessibility.test.tsx --config vitest.config.ts",
135
+ "test:registry": "node scripts/validate-registry.mjs",
136
+ "test:build-output": "node scripts/check-build-output.mjs",
137
+ "test:root-exports": "node scripts/check-root-exports.mjs",
138
+ "test:render": "vitest run --config vitest.config.ts",
139
+ "test:fixtures": "node scripts/fixture-smoke.mjs",
140
+ "test:run": "npm run test:types && npm run test:render && npm run test:a11y && npm run test:registry && npm run test:root-exports && node scripts/ensure-build-output.mjs && npm run test:build-output && npm run check:showcase-quality",
141
+ "release:quick": "npm run test:types && npm run test:registry && npm run test:root-exports && npx vitest run tests/render/async-select.test.tsx tests/render/form-select.test.tsx tests/render/base-primitives.test.tsx tests/render/calendar-upload.test.tsx tests/render/data-table.test.tsx --config vitest.config.ts && npm run build:all && npm run check-version-sync && npm run pack:dry-run",
142
+ "release:gate": "npm run lint && npm run build:all && npm run check-version-sync && npm run test:run && npm run test:cli && npm run test:fixtures && npm run pack:dry-run"
143
+ },
144
+ "peerDependencies": {
145
+ "react": "^18.0.0 || ^19.0.0",
146
+ "react-dom": "^18.0.0 || ^19.0.0",
147
+ "react-hook-form": "^7.0.0"
148
+ },
149
+ "dependencies": {
150
+ "@base-ui/react": "^1.5.0",
151
+ "@tanstack/react-table": "^8.21.3",
152
+ "class-variance-authority": "^0.7.1",
153
+ "clsx": "^2.1.1",
154
+ "cmdk": "^1.1.1",
155
+ "lucide-react": "^1.17.0",
156
+ "tailwind-merge": "^3.6.0"
157
+ },
158
+ "devDependencies": {
159
+ "@babel/core": "^7.29.0",
160
+ "@eslint/js": "^10.0.1",
161
+ "@rolldown/plugin-babel": "^0.2.3",
162
+ "@tailwindcss/vite": "^4.3.0",
163
+ "@testing-library/jest-dom": "^6.9.1",
164
+ "@testing-library/react": "^16.3.2",
165
+ "@testing-library/user-event": "^14.6.1",
166
+ "@types/babel__core": "^7.20.5",
167
+ "@types/fs-extra": "^11.0.4",
168
+ "@types/node": "^24.13.2",
169
+ "@types/react": "^19.2.14",
170
+ "@types/react-dom": "^19.2.3",
171
+ "@vitejs/plugin-react": "^6.0.1",
172
+ "babel-plugin-react-compiler": "^1.0.0",
173
+ "eslint": "^10.3.0",
174
+ "eslint-plugin-react-hooks": "^7.1.1",
175
+ "eslint-plugin-react-refresh": "^0.5.2",
176
+ "execa": "^9.6.1",
177
+ "fs-extra": "^11.3.5",
178
+ "globals": "^17.6.0",
179
+ "jsdom": "^27.4.0",
180
+ "react": "^19.2.6",
181
+ "react-dom": "^19.2.6",
182
+ "react-hook-form": "^7.75.0",
183
+ "tailwindcss": "^4.3.0",
184
+ "typescript": "~6.0.2",
185
+ "typescript-eslint": "^8.59.2",
186
+ "vite": "^8.0.12",
187
+ "vitest": "^3.2.6"
188
+ }
189
+ }