@protobase/ui 0.10.0 → 0.11.1

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 (75) hide show
  1. package/dist/app/app.d.ts +3 -0
  2. package/dist/app/app.js +84 -39
  3. package/dist/app/bottom-bar-from-meta.js +9 -2
  4. package/dist/app/breadcrumb-for.js +18 -9
  5. package/dist/app/create/create-page.js +12 -6
  6. package/dist/app/current-address.d.ts +26 -0
  7. package/dist/app/current-address.js +41 -0
  8. package/dist/app/custom-section.js +41 -0
  9. package/dist/app/displays/cards-display.js +76 -0
  10. package/dist/app/displays/custom-display.js +32 -0
  11. package/dist/app/displays/display-context.d.ts +21 -0
  12. package/dist/app/displays/display-context.js +21 -0
  13. package/dist/app/displays/display-controls.js +55 -0
  14. package/dist/app/displays/display-frame.js +30 -0
  15. package/dist/app/displays/list-displays.d.ts +11 -0
  16. package/dist/app/displays/list-displays.js +62 -0
  17. package/dist/app/displays/record-link.d.ts +19 -0
  18. package/dist/app/displays/record-link.js +25 -0
  19. package/dist/app/displays/use-display-rows.js +28 -0
  20. package/dist/app/field-editor.js +4 -4
  21. package/dist/app/list-page.js +87 -37
  22. package/dist/app/main.js +3 -2
  23. package/dist/app/nav-from-meta.js +9 -2
  24. package/dist/app/nav-recent.js +6 -2
  25. package/dist/app/pages/action-href.js +1 -3
  26. package/dist/app/pages/blocks/card-row.js +1 -1
  27. package/dist/app/pages/blocks/link.js +20 -11
  28. package/dist/app/pages/blocks/modal-form.js +1 -1
  29. package/dist/app/pages/blocks/record-card.js +1 -1
  30. package/dist/app/pages/blocks/stat.js +7 -4
  31. package/dist/app/pages/blocks/table.js +1 -1
  32. package/dist/app/pages/custom-boundary.js +17 -0
  33. package/dist/app/pages/field-value.js +8 -4
  34. package/dist/app/pages/merge-ui.js +9 -3
  35. package/dist/app/pages/problem.js +10 -0
  36. package/dist/app/pages/project-ui.d.ts +18 -4
  37. package/dist/app/pages/project-ui.js +8 -2
  38. package/dist/app/pages/record-actions.js +6 -3
  39. package/dist/app/pages/record-table.js +7 -3
  40. package/dist/app/pages/render-node.js +10 -9
  41. package/dist/app/pages/ui-from-module.d.ts +9 -0
  42. package/dist/app/pages/ui-from-module.js +23 -0
  43. package/dist/app/pages/use-run-action.js +7 -7
  44. package/dist/app/record-page.js +45 -22
  45. package/dist/app/related-section.js +1 -1
  46. package/dist/app/router.js +4 -20
  47. package/dist/app/search/search-model.js +6 -2
  48. package/dist/app/search/use-global-search.js +1 -1
  49. package/dist/app/use-app-address.d.ts +24 -0
  50. package/dist/app/use-app-address.js +47 -0
  51. package/dist/app/use-related-records.js +8 -2
  52. package/dist/app/user-menu-from-meta.js +9 -2
  53. package/dist/data/meta-data.d.ts +3 -1
  54. package/dist/data/use-meta.js +2 -1
  55. package/dist/index.d.ts +10 -2
  56. package/dist/index.js +8 -2
  57. package/dist/live/use-live-rows.js +7 -2
  58. package/dist/package.js +5 -0
  59. package/dist/plugins/load-plugin.d.ts +16 -0
  60. package/dist/plugins/load-plugin.js +73 -0
  61. package/dist/plugins/merge-plugins.js +36 -0
  62. package/dist/plugins/plugin-api.d.ts +10 -0
  63. package/dist/plugins/plugin-api.js +12 -0
  64. package/dist/plugins/plugin-context.d.ts +14 -0
  65. package/dist/plugins/plugin-context.js +12 -0
  66. package/dist/plugins/plugin-gate.js +35 -0
  67. package/dist/plugins/plugin-manifest.js +23 -0
  68. package/dist/plugins/plugin-notice.js +45 -0
  69. package/dist/plugins/plugin-ui.js +37 -0
  70. package/dist/plugins/use-plugin-loads.js +57 -0
  71. package/dist/primitives/segmented.js +8 -5
  72. package/dist/styles.css +1 -35
  73. package/dist/theme.css +39 -0
  74. package/package.json +9 -5
  75. package/dist/app/pages/project-ui-provider.js +0 -15
package/dist/styles.css CHANGED
@@ -1,4 +1,5 @@
1
1
  @import "tailwindcss";
2
+ @import "./theme.css";
2
3
  @source "./";
3
4
 
4
5
  @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
@@ -65,41 +66,6 @@
65
66
  --shadow-pop: 0 8px 24px -4px rgb(0 0 0 / 0.6), 0 2px 6px rgb(0 0 0 / 0.4);
66
67
  }
67
68
 
68
- @theme inline {
69
- --color-background: var(--background);
70
- --color-surface: var(--surface);
71
- --color-muted: var(--muted);
72
- --color-border: var(--border);
73
- --color-border-strong: var(--border-strong);
74
- --color-foreground: var(--foreground);
75
- --color-muted-foreground: var(--muted-foreground);
76
- --color-faint-foreground: var(--faint-foreground);
77
- --color-primary: var(--primary);
78
- --color-primary-hover: var(--primary-hover);
79
- --color-primary-foreground: var(--primary-foreground);
80
- --color-primary-soft: var(--primary-soft);
81
- --color-primary-border: var(--primary-border);
82
- --color-primary-text: var(--primary-text);
83
- --color-success: var(--success);
84
- --color-success-soft: var(--success-soft);
85
- --color-success-text: var(--success-text);
86
- --color-warning: var(--warning);
87
- --color-warning-soft: var(--warning-soft);
88
- --color-warning-text: var(--warning-text);
89
- --color-danger: var(--danger);
90
- --color-danger-soft: var(--danger-soft);
91
- --color-danger-text: var(--danger-text);
92
- --color-violet: var(--violet);
93
- --color-violet-soft: var(--violet-soft);
94
- --color-violet-text: var(--violet-text);
95
- --color-sidebar: var(--sidebar);
96
- --shadow-pop: var(--shadow-pop);
97
- --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
98
- --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
99
- --radius-md: 6px;
100
- --radius-lg: 8px;
101
- }
102
-
103
69
  @layer base {
104
70
  html {
105
71
  font-size: 16px;
package/dist/theme.css ADDED
@@ -0,0 +1,39 @@
1
+ /*
2
+ * The theme as Tailwind sees it: each token reads the app's CSS variable of its name (`--color-primary` is
3
+ * `var(--primary)`). The admin app's stylesheet imports it, and a plugin's stylesheet references it, so a plugin's
4
+ * utilities draw with the app's colors whatever version of the app loads them.
5
+ */
6
+ @theme inline {
7
+ --color-background: var(--background);
8
+ --color-surface: var(--surface);
9
+ --color-muted: var(--muted);
10
+ --color-border: var(--border);
11
+ --color-border-strong: var(--border-strong);
12
+ --color-foreground: var(--foreground);
13
+ --color-muted-foreground: var(--muted-foreground);
14
+ --color-faint-foreground: var(--faint-foreground);
15
+ --color-primary: var(--primary);
16
+ --color-primary-hover: var(--primary-hover);
17
+ --color-primary-foreground: var(--primary-foreground);
18
+ --color-primary-soft: var(--primary-soft);
19
+ --color-primary-border: var(--primary-border);
20
+ --color-primary-text: var(--primary-text);
21
+ --color-success: var(--success);
22
+ --color-success-soft: var(--success-soft);
23
+ --color-success-text: var(--success-text);
24
+ --color-warning: var(--warning);
25
+ --color-warning-soft: var(--warning-soft);
26
+ --color-warning-text: var(--warning-text);
27
+ --color-danger: var(--danger);
28
+ --color-danger-soft: var(--danger-soft);
29
+ --color-danger-text: var(--danger-text);
30
+ --color-violet: var(--violet);
31
+ --color-violet-soft: var(--violet-soft);
32
+ --color-violet-text: var(--violet-text);
33
+ --color-sidebar: var(--sidebar);
34
+ --shadow-pop: var(--shadow-pop);
35
+ --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
36
+ --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
37
+ --radius-md: 6px;
38
+ --radius-lg: 8px;
39
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protobase/ui",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "The Protobase admin app and the React hooks and components for custom UI.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -10,6 +10,9 @@
10
10
  },
11
11
  "homepage": "https://docs.protobase.net",
12
12
  "type": "module",
13
+ "protobase": {
14
+ "pluginApi": 1
15
+ },
13
16
  "sideEffects": [
14
17
  "*.css",
15
18
  "./dist/app/main.js"
@@ -18,7 +21,8 @@
18
21
  "node": ">=22.12.0"
19
22
  },
20
23
  "exports": {
21
- ".": "./dist/index.js"
24
+ ".": "./dist/index.js",
25
+ "./theme.css": "./dist/theme.css"
22
26
  },
23
27
  "types": "./dist/index.d.ts",
24
28
  "files": [
@@ -34,9 +38,9 @@
34
38
  "dependencies": {
35
39
  "@dnd-kit/core": "^6.3.1",
36
40
  "@dnd-kit/sortable": "^10.0.0",
37
- "@protobase/client": "0.10.0",
38
- "@protobase/layout": "0.10.0",
39
- "@protobase/schema": "0.10.0",
41
+ "@protobase/client": "0.11.1",
42
+ "@protobase/layout": "0.11.1",
43
+ "@protobase/schema": "0.11.1",
40
44
  "@tanstack/react-query": "^5.104.1",
41
45
  "@tanstack/react-table": "^9.2.6",
42
46
  "@tanstack/react-virtual": "^3.14.13",
@@ -1,15 +0,0 @@
1
- import { ProjectUiContext } from "./project-ui.js";
2
- import { mergeUi } from "./merge-ui.js";
3
- import { useMemo } from "react";
4
- import { jsx } from "react/jsx-runtime";
5
- //#region src/app/pages/project-ui-provider.tsx
6
- /** Provides `ui` merged with the UI configs it extends. */
7
- const ProjectUiProvider = ({ ui, children }) => {
8
- const merged = useMemo(() => ui ? mergeUi(ui) : {}, [ui]);
9
- return /* @__PURE__ */ jsx(ProjectUiContext.Provider, {
10
- value: merged,
11
- children
12
- });
13
- };
14
- //#endregion
15
- export { ProjectUiProvider };