@rsc-kit/press 0.0.0-stage → 0.30.43

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.
Files changed (180) hide show
  1. package/README.md +117 -2
  2. package/dist/admin/actions.d.ts +30 -0
  3. package/dist/admin/actions.js +171 -0
  4. package/dist/admin/actions.js.map +1 -0
  5. package/dist/admin/index.d.ts +5 -0
  6. package/dist/admin/index.js +2 -0
  7. package/dist/admin/index.js.map +1 -0
  8. package/dist/admin/panel.d.ts +96 -0
  9. package/dist/admin/panel.js +354 -0
  10. package/dist/admin/panel.js.map +1 -0
  11. package/dist/admin/registry.d.ts +58 -0
  12. package/dist/admin/registry.js +90 -0
  13. package/dist/admin/registry.js.map +1 -0
  14. package/dist/admin/theme.d.ts +251 -0
  15. package/dist/admin/theme.js +2 -0
  16. package/dist/admin/theme.js.map +1 -0
  17. package/dist/admin/url.d.ts +24 -0
  18. package/dist/admin/url.js +45 -0
  19. package/dist/admin/url.js.map +1 -0
  20. package/dist/blocks.d.ts +46 -0
  21. package/dist/blocks.js +33 -0
  22. package/dist/blocks.js.map +1 -0
  23. package/dist/forms/actions.d.ts +7 -0
  24. package/dist/forms/actions.js +26 -0
  25. package/dist/forms/actions.js.map +1 -0
  26. package/dist/forms/form.d.ts +42 -0
  27. package/dist/forms/form.js +44 -0
  28. package/dist/forms/form.js.map +1 -0
  29. package/dist/forms/honeypot.d.ts +2 -0
  30. package/dist/forms/honeypot.js +3 -0
  31. package/dist/forms/honeypot.js.map +1 -0
  32. package/dist/forms/index.d.ts +3 -0
  33. package/dist/forms/index.js +2 -0
  34. package/dist/forms/index.js.map +1 -0
  35. package/dist/forms/registry.d.ts +10 -0
  36. package/dist/forms/registry.js +17 -0
  37. package/dist/forms/registry.js.map +1 -0
  38. package/dist/forms/theme.d.ts +29 -0
  39. package/dist/forms/theme.js +2 -0
  40. package/dist/forms/theme.js.map +1 -0
  41. package/dist/index.d.ts +12 -0
  42. package/dist/index.js +8 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/installable.d.ts +173 -0
  45. package/dist/installable.js +490 -0
  46. package/dist/installable.js.map +1 -0
  47. package/dist/memory.d.ts +7 -0
  48. package/dist/memory.js +50 -0
  49. package/dist/memory.js.map +1 -0
  50. package/dist/pages/index.d.ts +2 -0
  51. package/dist/pages/index.js +2 -0
  52. package/dist/pages/index.js.map +1 -0
  53. package/dist/pages/pages.d.ts +78 -0
  54. package/dist/pages/pages.js +183 -0
  55. package/dist/pages/pages.js.map +1 -0
  56. package/dist/plugin.d.ts +51 -0
  57. package/dist/plugin.js +20 -0
  58. package/dist/plugin.js.map +1 -0
  59. package/dist/resource.d.ts +320 -0
  60. package/dist/resource.js +415 -0
  61. package/dist/resource.js.map +1 -0
  62. package/dist/shadcn/breadcrumbs.d.ts +6 -0
  63. package/dist/shadcn/breadcrumbs.js +21 -0
  64. package/dist/shadcn/breadcrumbs.js.map +1 -0
  65. package/dist/shadcn/components/ui/alert-dialog.d.ts +18 -0
  66. package/dist/shadcn/components/ui/alert-dialog.js +44 -0
  67. package/dist/shadcn/components/ui/alert-dialog.js.map +1 -0
  68. package/dist/shadcn/components/ui/avatar.d.ts +11 -0
  69. package/dist/shadcn/components/ui/avatar.js +25 -0
  70. package/dist/shadcn/components/ui/avatar.js.map +1 -0
  71. package/dist/shadcn/components/ui/badge.d.ts +7 -0
  72. package/dist/shadcn/components/ui/badge.js +34 -0
  73. package/dist/shadcn/components/ui/badge.js.map +1 -0
  74. package/dist/shadcn/components/ui/breadcrumb.d.ts +10 -0
  75. package/dist/shadcn/components/ui/breadcrumb.js +38 -0
  76. package/dist/shadcn/components/ui/breadcrumb.js.map +1 -0
  77. package/dist/shadcn/components/ui/button.d.ts +8 -0
  78. package/dist/shadcn/components/ui/button.js +35 -0
  79. package/dist/shadcn/components/ui/button.js.map +1 -0
  80. package/dist/shadcn/components/ui/card.d.ts +11 -0
  81. package/dist/shadcn/components/ui/card.js +26 -0
  82. package/dist/shadcn/components/ui/card.js.map +1 -0
  83. package/dist/shadcn/components/ui/checkbox.d.ts +3 -0
  84. package/dist/shadcn/components/ui/checkbox.js +10 -0
  85. package/dist/shadcn/components/ui/checkbox.js.map +1 -0
  86. package/dist/shadcn/components/ui/dropdown-menu.d.ts +29 -0
  87. package/dist/shadcn/components/ui/dropdown-menu.js +53 -0
  88. package/dist/shadcn/components/ui/dropdown-menu.js.map +1 -0
  89. package/dist/shadcn/components/ui/field.d.ts +24 -0
  90. package/dist/shadcn/components/ui/field.js +69 -0
  91. package/dist/shadcn/components/ui/field.js.map +1 -0
  92. package/dist/shadcn/components/ui/input.d.ts +3 -0
  93. package/dist/shadcn/components/ui/input.js +9 -0
  94. package/dist/shadcn/components/ui/input.js.map +1 -0
  95. package/dist/shadcn/components/ui/label.d.ts +3 -0
  96. package/dist/shadcn/components/ui/label.js +9 -0
  97. package/dist/shadcn/components/ui/label.js.map +1 -0
  98. package/dist/shadcn/components/ui/select.d.ts +15 -0
  99. package/dist/shadcn/components/ui/select.js +36 -0
  100. package/dist/shadcn/components/ui/select.js.map +1 -0
  101. package/dist/shadcn/components/ui/separator.d.ts +3 -0
  102. package/dist/shadcn/components/ui/separator.js +9 -0
  103. package/dist/shadcn/components/ui/separator.js.map +1 -0
  104. package/dist/shadcn/components/ui/sheet.d.ts +14 -0
  105. package/dist/shadcn/components/ui/sheet.js +39 -0
  106. package/dist/shadcn/components/ui/sheet.js.map +1 -0
  107. package/dist/shadcn/components/ui/sidebar.d.ts +63 -0
  108. package/dist/shadcn/components/ui/sidebar.js +257 -0
  109. package/dist/shadcn/components/ui/sidebar.js.map +1 -0
  110. package/dist/shadcn/components/ui/skeleton.d.ts +2 -0
  111. package/dist/shadcn/components/ui/skeleton.js +7 -0
  112. package/dist/shadcn/components/ui/skeleton.js.map +1 -0
  113. package/dist/shadcn/components/ui/sonner.d.ts +3 -0
  114. package/dist/shadcn/components/ui/sonner.js +38 -0
  115. package/dist/shadcn/components/ui/sonner.js.map +1 -0
  116. package/dist/shadcn/components/ui/switch.d.ts +5 -0
  117. package/dist/shadcn/components/ui/switch.js +9 -0
  118. package/dist/shadcn/components/ui/switch.js.map +1 -0
  119. package/dist/shadcn/components/ui/table.d.ts +10 -0
  120. package/dist/shadcn/components/ui/table.js +30 -0
  121. package/dist/shadcn/components/ui/table.js.map +1 -0
  122. package/dist/shadcn/components/ui/textarea.d.ts +3 -0
  123. package/dist/shadcn/components/ui/textarea.js +8 -0
  124. package/dist/shadcn/components/ui/textarea.js.map +1 -0
  125. package/dist/shadcn/components/ui/tooltip.d.ts +6 -0
  126. package/dist/shadcn/components/ui/tooltip.js +18 -0
  127. package/dist/shadcn/components/ui/tooltip.js.map +1 -0
  128. package/dist/shadcn/data-table.d.ts +12 -0
  129. package/dist/shadcn/data-table.js +195 -0
  130. package/dist/shadcn/data-table.js.map +1 -0
  131. package/dist/shadcn/fields.d.ts +20 -0
  132. package/dist/shadcn/fields.js +179 -0
  133. package/dist/shadcn/fields.js.map +1 -0
  134. package/dist/shadcn/flash-toasts.d.ts +2 -0
  135. package/dist/shadcn/flash-toasts.js +11 -0
  136. package/dist/shadcn/flash-toasts.js.map +1 -0
  137. package/dist/shadcn/hooks/use-mobile.d.ts +1 -0
  138. package/dist/shadcn/hooks/use-mobile.js +16 -0
  139. package/dist/shadcn/hooks/use-mobile.js.map +1 -0
  140. package/dist/shadcn/index.d.ts +10 -0
  141. package/dist/shadcn/index.js +31 -0
  142. package/dist/shadcn/index.js.map +1 -0
  143. package/dist/shadcn/mode-toggle.d.ts +7 -0
  144. package/dist/shadcn/mode-toggle.js +52 -0
  145. package/dist/shadcn/mode-toggle.js.map +1 -0
  146. package/dist/shadcn/nav.d.ts +5 -0
  147. package/dist/shadcn/nav.js +19 -0
  148. package/dist/shadcn/nav.js.map +1 -0
  149. package/dist/shadcn/pages.d.ts +15 -0
  150. package/dist/shadcn/pages.js +59 -0
  151. package/dist/shadcn/pages.js.map +1 -0
  152. package/dist/shadcn/plugin-forms.d.ts +16 -0
  153. package/dist/shadcn/plugin-forms.js +25 -0
  154. package/dist/shadcn/plugin-forms.js.map +1 -0
  155. package/dist/shadcn/public-form.d.ts +8 -0
  156. package/dist/shadcn/public-form.js +26 -0
  157. package/dist/shadcn/public-form.js.map +1 -0
  158. package/dist/shadcn/resource-form.d.ts +19 -0
  159. package/dist/shadcn/resource-form.js +30 -0
  160. package/dist/shadcn/resource-form.js.map +1 -0
  161. package/dist/shadcn/styles.css +12 -0
  162. package/dist/shadcn/tenant-switcher.d.ts +3 -0
  163. package/dist/shadcn/tenant-switcher.js +17 -0
  164. package/dist/shadcn/tenant-switcher.js.map +1 -0
  165. package/dist/shadcn/theme-script.d.ts +7 -0
  166. package/dist/shadcn/theme-script.js +10 -0
  167. package/dist/shadcn/theme-script.js.map +1 -0
  168. package/dist/shadcn/user-menu.d.ts +3 -0
  169. package/dist/shadcn/user-menu.js +23 -0
  170. package/dist/shadcn/user-menu.js.map +1 -0
  171. package/dist/signing.d.ts +43 -0
  172. package/dist/signing.js +82 -0
  173. package/dist/signing.js.map +1 -0
  174. package/dist/tenant.d.ts +12 -0
  175. package/dist/tenant.js +29 -0
  176. package/dist/tenant.js.map +1 -0
  177. package/dist/uploads.d.ts +32 -0
  178. package/dist/uploads.js +28 -0
  179. package/dist/uploads.js.map +1 -0
  180. package/package.json +74 -4
package/dist/tenant.js ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * A source per tenant, made the first time a tenant is asked for and kept.
3
+ * For data that is split by tenant before it reaches you - a database per
4
+ * team, an API key per customer, rows in memory for a demo:
5
+ *
6
+ * source: perTenant((tenant) => memorySource(seed(tenant), 'id', make))
7
+ *
8
+ * A source that filters one table by a tenant column needs none of this: it
9
+ * reads context.tenant in each call.
10
+ */
11
+ export function perTenant(make) {
12
+ const made = new Map();
13
+ const of = ({ tenant }) => {
14
+ if (!tenant)
15
+ throw new Error('[admin] perTenant() is for a panel with tenants; this request has none');
16
+ let source = made.get(tenant.id);
17
+ if (!source)
18
+ made.set(tenant.id, (source = make(tenant.id)));
19
+ return source;
20
+ };
21
+ return {
22
+ list: (query, context) => of(context).list(query, context),
23
+ find: (id, context) => of(context).find(id, context),
24
+ create: (values, context) => of(context).create(values, context),
25
+ update: (id, values, context) => of(context).update(id, values, context),
26
+ delete: (id, context) => of(context).delete(id, context),
27
+ };
28
+ }
29
+ //# sourceMappingURL=tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../src/tenant.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAc,IAAmD;IACxF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAA;IACvD,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAiB,EAAE,EAAE;QACvC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAEtG,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEhC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE5D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO;QACL,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QAC1D,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAChE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC;QACxE,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;KACzD,CAAA;AACH,CAAC","sourcesContent":["import type { DataSource, SourceContext } from './resource.js'\n\n/**\n * A source per tenant, made the first time a tenant is asked for and kept.\n * For data that is split by tenant before it reaches you - a database per\n * team, an API key per customer, rows in memory for a demo:\n *\n * source: perTenant((tenant) => memorySource(seed(tenant), 'id', make))\n *\n * A source that filters one table by a tenant column needs none of this: it\n * reads context.tenant in each call.\n */\nexport function perTenant<Row, Values>(make: (tenantId: string) => DataSource<Row, Values>): DataSource<Row, Values> {\n const made = new Map<string, DataSource<Row, Values>>()\n const of = ({ tenant }: SourceContext) => {\n if (!tenant) throw new Error('[admin] perTenant() is for a panel with tenants; this request has none')\n\n let source = made.get(tenant.id)\n\n if (!source) made.set(tenant.id, (source = make(tenant.id)))\n\n return source\n }\n\n return {\n list: (query, context) => of(context).list(query, context),\n find: (id, context) => of(context).find(id, context),\n create: (values, context) => of(context).create(values, context),\n update: (id, values, context) => of(context).update(id, values, context),\n delete: (id, context) => of(context).delete(id, context),\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import type { Tenant } from './resource.js';
2
+ /**
3
+ * Where an upload is kept. One function: given the file, keep it somewhere
4
+ * and answer what the record saves - usually the url it is served from. A
5
+ * bucket (S3, R2, Bun.s3), a disk, a backend: press calls this and nothing
6
+ * else, and ships none of them, as it ships no database.
7
+ *
8
+ * The file has been checked against the field's accept and maxSize, and the
9
+ * rest of the form has passed its schema, so a refused save does not leave
10
+ * a file behind. Its name and type are the browser's word: name what you
11
+ * keep yourself, and serve it with a type you chose.
12
+ */
13
+ export interface Storage {
14
+ put(file: File, context: StorageContext): Promise<string>;
15
+ }
16
+ export interface StorageContext {
17
+ /** The field it was uploaded to: `cover`, or `content.2.image` inside a block. */
18
+ field: string;
19
+ /** The tenant the visitor is working in; null outside a panel with tenants. */
20
+ tenant: Tenant | null;
21
+ }
22
+ /**
23
+ * What an image field takes unless it says otherwise: the formats a browser
24
+ * draws. Not SVG - an SVG is a document that can run script, and served from
25
+ * the app's own origin it runs as the app. A field that wants one says
26
+ * accept: 'image/svg+xml' and serves it from somewhere else.
27
+ */
28
+ export declare const IMAGE_TYPES = "image/png,image/jpeg,image/webp,image/gif,image/avif";
29
+ /** Whether a file is one the accept list names, as the attribute reads it: types, `type/*`, and `.extensions`. */
30
+ export declare function accepts(accept: string | undefined, file: File): boolean;
31
+ /** 2097152 as "2 MB": what a person reads a size limit as. */
32
+ export declare function sizeOf(bytes: number): string;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * What an image field takes unless it says otherwise: the formats a browser
3
+ * draws. Not SVG - an SVG is a document that can run script, and served from
4
+ * the app's own origin it runs as the app. A field that wants one says
5
+ * accept: 'image/svg+xml' and serves it from somewhere else.
6
+ */
7
+ export const IMAGE_TYPES = 'image/png,image/jpeg,image/webp,image/gif,image/avif';
8
+ /** Whether a file is one the accept list names, as the attribute reads it: types, `type/*`, and `.extensions`. */
9
+ export function accepts(accept, file) {
10
+ if (!accept)
11
+ return true;
12
+ const type = file.type.toLowerCase();
13
+ const name = file.name.toLowerCase();
14
+ return accept
15
+ .split(',')
16
+ .map((token) => token.trim().toLowerCase())
17
+ .filter(Boolean)
18
+ .some((token) => (token.startsWith('.') ? name.endsWith(token) : token.endsWith('/*') ? type.startsWith(token.slice(0, -1)) : type === token));
19
+ }
20
+ /** 2097152 as "2 MB": what a person reads a size limit as. */
21
+ export function sizeOf(bytes) {
22
+ if (bytes >= 1024 * 1024)
23
+ return `${+(bytes / (1024 * 1024)).toFixed(1)} MB`;
24
+ if (bytes >= 1024)
25
+ return `${Math.round(bytes / 1024)} KB`;
26
+ return `${bytes} bytes`;
27
+ }
28
+ //# sourceMappingURL=uploads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../src/uploads.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,sDAAsD,CAAA;AAEjF,kHAAkH;AAClH,MAAM,UAAU,OAAO,CAAC,MAA0B,EAAE,IAAU;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAEpC,OAAO,MAAM;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAC1C,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAA;AAClJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAE1D,OAAO,GAAG,KAAK,QAAQ,CAAA;AACzB,CAAC","sourcesContent":["import type { Tenant } from './resource.js'\n\n/**\n * Where an upload is kept. One function: given the file, keep it somewhere\n * and answer what the record saves - usually the url it is served from. A\n * bucket (S3, R2, Bun.s3), a disk, a backend: press calls this and nothing\n * else, and ships none of them, as it ships no database.\n *\n * The file has been checked against the field's accept and maxSize, and the\n * rest of the form has passed its schema, so a refused save does not leave\n * a file behind. Its name and type are the browser's word: name what you\n * keep yourself, and serve it with a type you chose.\n */\nexport interface Storage {\n put(file: File, context: StorageContext): Promise<string>\n}\n\nexport interface StorageContext {\n /** The field it was uploaded to: `cover`, or `content.2.image` inside a block. */\n field: string\n /** The tenant the visitor is working in; null outside a panel with tenants. */\n tenant: Tenant | null\n}\n\n/**\n * What an image field takes unless it says otherwise: the formats a browser\n * draws. Not SVG - an SVG is a document that can run script, and served from\n * the app's own origin it runs as the app. A field that wants one says\n * accept: 'image/svg+xml' and serves it from somewhere else.\n */\nexport const IMAGE_TYPES = 'image/png,image/jpeg,image/webp,image/gif,image/avif'\n\n/** Whether a file is one the accept list names, as the attribute reads it: types, `type/*`, and `.extensions`. */\nexport function accepts(accept: string | undefined, file: File): boolean {\n if (!accept) return true\n\n const type = file.type.toLowerCase()\n const name = file.name.toLowerCase()\n\n return accept\n .split(',')\n .map((token) => token.trim().toLowerCase())\n .filter(Boolean)\n .some((token) => (token.startsWith('.') ? name.endsWith(token) : token.endsWith('/*') ? type.startsWith(token.slice(0, -1)) : type === token))\n}\n\n/** 2097152 as \"2 MB\": what a person reads a size limit as. */\nexport function sizeOf(bytes: number): string {\n if (bytes >= 1024 * 1024) return `${+(bytes / (1024 * 1024)).toFixed(1)} MB`\n if (bytes >= 1024) return `${Math.round(bytes / 1024)} KB`\n\n return `${bytes} bytes`\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,76 @@
1
1
  {
2
2
  "name": "@rsc-kit/press",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.30.43",
4
+ "description": "Admin panels, public forms and pages built from blocks for rsc-kit: resources, data sources, tenants and plugins, with the drawing in a theme - shadcn/ui is the one that ships.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/rsc-kit/rsc-kit.git",
10
+ "directory": "packages/press"
11
+ },
12
+ "homepage": "https://rsc-kit.dev",
13
+ "bugs": {
14
+ "url": "https://github.com/rsc-kit/rsc-kit/issues"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ },
21
+ "./admin": {
22
+ "types": "./dist/admin/index.d.ts",
23
+ "default": "./dist/admin/index.js"
24
+ },
25
+ "./forms": {
26
+ "types": "./dist/forms/index.d.ts",
27
+ "default": "./dist/forms/index.js"
28
+ },
29
+ "./pages": {
30
+ "types": "./dist/pages/index.d.ts",
31
+ "default": "./dist/pages/index.js"
32
+ },
33
+ "./shadcn": {
34
+ "types": "./dist/shadcn/index.d.ts",
35
+ "default": "./dist/shadcn/index.js"
36
+ },
37
+ "./signing": {
38
+ "types": "./dist/signing.d.ts",
39
+ "default": "./dist/signing.js"
40
+ },
41
+ "./shadcn.css": "./dist/shadcn/styles.css"
42
+ },
43
+ "files": [
44
+ "dist"
45
+ ],
46
+ "scripts": {
47
+ "test": "tsc --noEmit && bun test tests",
48
+ "typecheck": "tsc --noEmit",
49
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp src/shadcn/styles.css dist/shadcn/styles.css",
50
+ "prepack": "bun run build"
51
+ },
52
+ "peerDependencies": {
53
+ "@rsc-kit/core": "^0.30.43",
54
+ "react": "^19.2.0",
55
+ "react-dom": "^19.2.0",
56
+ "tailwindcss": "^4.0.0"
57
+ },
58
+ "devDependencies": {
59
+ "@rsc-kit/core": "workspace:*",
60
+ "@types/bun": "^1.4.2",
61
+ "@types/react": "^19.3.0",
62
+ "react": "^19.3.0",
63
+ "typescript": "^7.0.2",
64
+ "zod": "^4.6.5",
65
+ "react-dom": "^19.3.0",
66
+ "@types/react-dom": "^19.3.0"
67
+ },
68
+ "dependencies": {
69
+ "@base-ui/react": "^1.9.0",
70
+ "class-variance-authority": "^0.7.1",
71
+ "cn": "^0.5.1",
72
+ "lucide-react": "^1.66.0",
73
+ "@tanstack/react-table": "^9.3.1",
74
+ "sonner": "^2.0.8"
75
+ }
76
+ }