@zukhruf/shadcn 0.3.25 → 0.3.26
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/README.md +15 -2
- package/dist/hand-written/sidebar-cookie.d.ts +8 -0
- package/dist/hand-written/sidebar-cookie.d.ts.map +1 -0
- package/dist/hand-written/sidebar-cookie.js +8 -0
- package/dist/hand-written/sidebar-cookie.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,6 +61,18 @@ The theme is the values of a set of CSS variables, for example `--primary`, `--b
|
|
|
61
61
|
|
|
62
62
|
The preset is fixed. The class strings of each component contain the preset, for example the rounded corners and the spacing of the dialog. Thus an app cannot change the preset. An app changes only the theme. See [ADR 0004](./docs/adr/0004-the-components-use-base-ui-and-the-nova-preset.md).
|
|
63
63
|
|
|
64
|
+
## The open state of the sidebar
|
|
65
|
+
|
|
66
|
+
`SidebarProvider` keeps its open state in a cookie. `SIDEBAR_COOKIE_NAME` is the name of that cookie. Use it to read the open state of the sidebar on the server, and give the value to `defaultOpen`:
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
import { SIDEBAR_COOKIE_NAME, SidebarProvider } from '@zukhruf/shadcn';
|
|
70
|
+
|
|
71
|
+
const defaultOpen = cookies.get(SIDEBAR_COOKIE_NAME)?.value !== 'false';
|
|
72
|
+
|
|
73
|
+
<SidebarProvider defaultOpen={defaultOpen}>{children}</SidebarProvider>;
|
|
74
|
+
```
|
|
75
|
+
|
|
64
76
|
## Composition
|
|
65
77
|
|
|
66
78
|
Base UI uses the `render` prop where Radix UI uses `asChild`. The `render` prop sets the element that the component renders.
|
|
@@ -132,7 +144,7 @@ This package does not export `cn`. Each symbol has one home ([zukhruf ADR 0001](
|
|
|
132
144
|
|
|
133
145
|
## One entry
|
|
134
146
|
|
|
135
|
-
The package has one entry, `@zukhruf/shadcn`. It exports all components
|
|
147
|
+
The package has one entry, `@zukhruf/shadcn`. It exports all components, all hooks and the hand-written modules, for example `SIDEBAR_COOKIE_NAME`. There are no subpaths such as `@zukhruf/shadcn/button`.
|
|
136
148
|
|
|
137
149
|
- A development server and plain Node.js load all components and their dependencies.
|
|
138
150
|
- A production bundle has only the components that the app uses. The `sideEffects` field of `package.json` lets the bundler remove the others.
|
|
@@ -168,6 +180,7 @@ src/
|
|
|
168
180
|
hooks/ generated: the hooks that the components use
|
|
169
181
|
lib/ generated: the helpers that the components use
|
|
170
182
|
index.ts generated: the entry
|
|
183
|
+
hand-written/ written by hand: the exports that the generated source does not give
|
|
171
184
|
theme.css generated: the CSS variables and the dark variant; imports shadcn/tailwind.css
|
|
172
185
|
styles.css written by hand: imports theme.css, registers dist, holds the patches
|
|
173
186
|
components.json the configuration of the shadcn CLI
|
|
@@ -188,7 +201,7 @@ The sync does these steps, in this order:
|
|
|
188
201
|
|
|
189
202
|
1. It resets `theme.css` to one line: `@import "tw-animate-css";`.
|
|
190
203
|
2. It runs `shadcn add index`, then `shadcn add --all`.
|
|
191
|
-
3. It writes `src/index.ts`: one `export *` line for each component and each
|
|
204
|
+
3. It writes `src/index.ts`: one `export *` line for each component, each hook and each hand-written module.
|
|
192
205
|
4. It formats the generated source with Prettier.
|
|
193
206
|
|
|
194
207
|
Known facts about the sync:
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of the cookie in which `SidebarProvider` keeps its open state.
|
|
3
|
+
* A server reads this cookie and gives its value to `defaultOpen`. The
|
|
4
|
+
* generated `sidebar.tsx` does not export its own constant, so this module
|
|
5
|
+
* repeats the name, and `sidebar-cookie.test.ts` fails when the two differ.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
8
|
+
//# sourceMappingURL=sidebar-cookie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-cookie.d.ts","sourceRoot":"","sources":["../../src/hand-written/sidebar-cookie.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of the cookie in which `SidebarProvider` keeps its open state.
|
|
3
|
+
* A server reads this cookie and gives its value to `defaultOpen`. The
|
|
4
|
+
* generated `sidebar.tsx` does not export its own constant, so this module
|
|
5
|
+
* repeats the name, and `sidebar-cookie.test.ts` fails when the two differ.
|
|
6
|
+
*/
|
|
7
|
+
export const SIDEBAR_COOKIE_NAME = 'sidebar_state';
|
|
8
|
+
//# sourceMappingURL=sidebar-cookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-cookie.js","sourceRoot":"","sources":["../../src/hand-written/sidebar-cookie.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export * from './components/toggle-group.tsx';
|
|
|
61
61
|
export * from './components/toggle.tsx';
|
|
62
62
|
export * from './components/tooltip.tsx';
|
|
63
63
|
export * from './components/trace.tsx';
|
|
64
|
+
export * from './hand-written/sidebar-cookie.ts';
|
|
64
65
|
export * from './hooks/use-highlighted-code.ts';
|
|
65
66
|
export * from './hooks/use-mobile.ts';
|
|
66
67
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -61,6 +61,7 @@ export * from "./components/toggle-group.js";
|
|
|
61
61
|
export * from "./components/toggle.js";
|
|
62
62
|
export * from "./components/tooltip.js";
|
|
63
63
|
export * from "./components/trace.js";
|
|
64
|
+
export * from "./hand-written/sidebar-cookie.js";
|
|
64
65
|
export * from "./hooks/use-highlighted-code.js";
|
|
65
66
|
export * from "./hooks/use-mobile.js";
|
|
66
67
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA4B,CAAC;AAC3C,cAAc,8BAA+B,CAAC;AAC9C,cAAc,uBAAwB,CAAC;AACvC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,4BAA6B,CAAC;AAC5C,cAAc,wBAAyB,CAAC;AACxC,cAAc,uBAAwB,CAAC;AACvC,cAAc,4BAA6B,CAAC;AAC5C,cAAc,wBAAyB,CAAC;AACxC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,sBAAuB,CAAC;AACtC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,uBAAwB,CAAC;AACvC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,4BAA6B,CAAC;AAC5C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,0BAA2B,CAAC;AAC1C,cAAc,yBAA0B,CAAC;AACzC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,2BAA4B,CAAC;AAC3C,cAAc,wBAAyB,CAAC;AACxC,cAAc,+BAAgC,CAAC;AAC/C,cAAc,uBAAwB,CAAC;AACvC,cAAc,uBAAwB,CAAC;AACvC,cAAc,4BAA6B,CAAC;AAC5C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,2BAA4B,CAAC;AAC3C,cAAc,uBAAwB,CAAC;AACvC,cAAc,sBAAuB,CAAC;AACtC,cAAc,qBAAsB,CAAC;AACrC,cAAc,uBAAwB,CAAC;AACvC,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,kCAAmC,CAAC;AAClD,cAAc,yBAA0B,CAAC;AACzC,cAAc,+BAAgC,CAAC;AAC/C,cAAc,iCAAkC,CAAC;AACjD,cAAc,4BAA6B,CAAC;AAC5C,cAAc,yBAA0B,CAAC;AACzC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,+BAAgC,CAAC;AAC/C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,2BAA4B,CAAC;AAC3C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,wBAAyB,CAAC;AACxC,cAAc,2BAA4B,CAAC;AAC3C,cAAc,uBAAwB,CAAC;AACvC,cAAc,yBAA0B,CAAC;AACzC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,wBAAyB,CAAC;AACxC,cAAc,uBAAwB,CAAC;AACvC,cAAc,sBAAuB,CAAC;AACtC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,uBAAwB,CAAC;AACvC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,uBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA4B,CAAC;AAC3C,cAAc,8BAA+B,CAAC;AAC9C,cAAc,uBAAwB,CAAC;AACvC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,4BAA6B,CAAC;AAC5C,cAAc,wBAAyB,CAAC;AACxC,cAAc,uBAAwB,CAAC;AACvC,cAAc,4BAA6B,CAAC;AAC5C,cAAc,wBAAyB,CAAC;AACxC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,sBAAuB,CAAC;AACtC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,uBAAwB,CAAC;AACvC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,4BAA6B,CAAC;AAC5C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,0BAA2B,CAAC;AAC1C,cAAc,yBAA0B,CAAC;AACzC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,2BAA4B,CAAC;AAC3C,cAAc,wBAAyB,CAAC;AACxC,cAAc,+BAAgC,CAAC;AAC/C,cAAc,uBAAwB,CAAC;AACvC,cAAc,uBAAwB,CAAC;AACvC,cAAc,4BAA6B,CAAC;AAC5C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,2BAA4B,CAAC;AAC3C,cAAc,uBAAwB,CAAC;AACvC,cAAc,sBAAuB,CAAC;AACtC,cAAc,qBAAsB,CAAC;AACrC,cAAc,uBAAwB,CAAC;AACvC,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,kCAAmC,CAAC;AAClD,cAAc,yBAA0B,CAAC;AACzC,cAAc,+BAAgC,CAAC;AAC/C,cAAc,iCAAkC,CAAC;AACjD,cAAc,4BAA6B,CAAC;AAC5C,cAAc,yBAA0B,CAAC;AACzC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,+BAAgC,CAAC;AAC/C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,2BAA4B,CAAC;AAC3C,cAAc,6BAA8B,CAAC;AAC7C,cAAc,wBAAyB,CAAC;AACxC,cAAc,2BAA4B,CAAC;AAC3C,cAAc,uBAAwB,CAAC;AACvC,cAAc,yBAA0B,CAAC;AACzC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,wBAAyB,CAAC;AACxC,cAAc,uBAAwB,CAAC;AACvC,cAAc,sBAAuB,CAAC;AACtC,cAAc,0BAA2B,CAAC;AAC1C,cAAc,uBAAwB,CAAC;AACvC,cAAc,8BAA+B,CAAC;AAC9C,cAAc,wBAAyB,CAAC;AACxC,cAAc,yBAA0B,CAAC;AACzC,cAAc,uBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zukhruf/shadcn",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.26",
|
|
4
4
|
"description": "Every shadcn/ui component for Base UI with the nova preset, as one package: import the components from one entry and the styles from one stylesheet.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|