aeon-ui-engine 1.3.0 → 1.3.5

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 (80) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/package.json +7 -2
  3. package/packages/react/src/combobox/index.tsx +13 -8
  4. package/packages/react/src/tooltip/index.tsx +48 -22
  5. package/packages/schemas/dist/index.d.ts +69 -24
  6. package/packages/schemas/dist/index.js +447 -49
  7. package/packages/schemas/json/appNav.json +146 -0
  8. package/packages/schemas/json/appShell.json +151 -0
  9. package/packages/schemas/json/avatar.json +130 -0
  10. package/packages/schemas/json/bar.json +126 -0
  11. package/packages/schemas/json/catalog.json +3163 -15
  12. package/packages/schemas/json/combobox.json +19 -7
  13. package/packages/schemas/json/composer.json +125 -0
  14. package/packages/schemas/json/content.json +167 -0
  15. package/packages/schemas/json/conversation.json +166 -0
  16. package/packages/schemas/json/entry.json +182 -0
  17. package/packages/schemas/json/identity.json +147 -0
  18. package/packages/schemas/json/listRow.json +131 -0
  19. package/packages/schemas/json/metricStrip.json +132 -0
  20. package/packages/schemas/json/nav.json +136 -0
  21. package/packages/schemas/json/panel.json +143 -0
  22. package/packages/schemas/json/pinInput.json +112 -0
  23. package/packages/schemas/json/profileHeader.json +138 -0
  24. package/packages/schemas/json/prompt.json +155 -0
  25. package/packages/schemas/json/radioGroup.json +130 -0
  26. package/packages/schemas/json/separator.json +105 -0
  27. package/packages/schemas/json/slider.json +147 -0
  28. package/packages/schemas/json/statusBanner.json +149 -0
  29. package/packages/schemas/json/stickyBar.json +153 -0
  30. package/packages/schemas/json/thread.json +129 -0
  31. package/packages/schemas/json/tooltip.json +21 -7
  32. package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  33. package/packages/schemas/prompts/cursorrules.md +6 -4
  34. package/packages/schemas/prompts/statecharts.md +23 -2
  35. package/packages/schemas/prompts/system.md +2 -2
  36. package/packages/schemas/registry/catalog.json +295 -4
  37. package/packages/schemas/registry/components/appNav.json +146 -0
  38. package/packages/schemas/registry/components/appShell.json +151 -0
  39. package/packages/schemas/registry/components/avatar.json +130 -0
  40. package/packages/schemas/registry/components/bar.json +126 -0
  41. package/packages/schemas/registry/components/combobox.json +19 -7
  42. package/packages/schemas/registry/components/composer.json +125 -0
  43. package/packages/schemas/registry/components/content.json +167 -0
  44. package/packages/schemas/registry/components/conversation.json +166 -0
  45. package/packages/schemas/registry/components/entry.json +182 -0
  46. package/packages/schemas/registry/components/identity.json +147 -0
  47. package/packages/schemas/registry/components/listRow.json +131 -0
  48. package/packages/schemas/registry/components/metricStrip.json +132 -0
  49. package/packages/schemas/registry/components/nav.json +136 -0
  50. package/packages/schemas/registry/components/panel.json +143 -0
  51. package/packages/schemas/registry/components/pinInput.json +112 -0
  52. package/packages/schemas/registry/components/profileHeader.json +138 -0
  53. package/packages/schemas/registry/components/prompt.json +155 -0
  54. package/packages/schemas/registry/components/radioGroup.json +130 -0
  55. package/packages/schemas/registry/components/separator.json +105 -0
  56. package/packages/schemas/registry/components/slider.json +147 -0
  57. package/packages/schemas/registry/components/statusBanner.json +149 -0
  58. package/packages/schemas/registry/components/stickyBar.json +153 -0
  59. package/packages/schemas/registry/components/thread.json +129 -0
  60. package/packages/schemas/registry/components/tooltip.json +21 -7
  61. package/packages/schemas/registry/machines/accordion.json +58 -0
  62. package/packages/schemas/registry/machines/appNav.json +108 -0
  63. package/packages/schemas/registry/machines/appShell.json +128 -0
  64. package/packages/schemas/registry/machines/contentRegion.json +314 -0
  65. package/packages/schemas/registry/machines/panel.json +131 -0
  66. package/packages/schemas/registry/machines/popover.json +143 -0
  67. package/packages/schemas/registry/machines/slider.json +151 -0
  68. package/packages/schemas/registry/machines/stickyBar.json +261 -0
  69. package/packages/schemas/registry/machines/tabs.json +58 -0
  70. package/packages/schemas/registry/machines/toast.json +89 -0
  71. package/packages/schemas/registry/machines/toggle.json +134 -0
  72. package/packages/schemas/scripts/emit.ts +23 -0
  73. package/packages/schemas/src/components.ts +429 -6
  74. package/packages/schemas/src/index.test.ts +83 -0
  75. package/packages/schemas/src/index.ts +1 -0
  76. package/packages/schemas/src/machine-id.ts +7 -0
  77. package/packages/schemas/src/prompts.ts +25 -4
  78. package/packages/schemas/src/registry.ts +28 -39
  79. package/scripts/bump-version.mjs +93 -0
  80. package/scripts/require-version-bump.mjs +70 -0
@@ -0,0 +1,146 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/appNav.json",
4
+ "title": "AppNav",
5
+ "description": "Section + detail stack via appNavMachine — list→detail, settings drill-in.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "AppNav"
15
+ },
16
+ "scope": {
17
+ "const": "appNav"
18
+ },
19
+ "parts": {
20
+ "type": "array",
21
+ "description": "Anatomy part keys — map to data-aeon-part",
22
+ "items": {
23
+ "type": "string",
24
+ "enum": [
25
+ "root",
26
+ "rail",
27
+ "section",
28
+ "stage",
29
+ "breadcrumb",
30
+ "crumb",
31
+ "back"
32
+ ]
33
+ },
34
+ "uniqueItems": true
35
+ },
36
+ "states": {
37
+ "type": "array",
38
+ "description": "Allowed data-aeon-state values (stable states only)",
39
+ "items": {
40
+ "type": "string",
41
+ "enum": [
42
+ "section"
43
+ ]
44
+ },
45
+ "uniqueItems": true
46
+ },
47
+ "props": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "properties": {}
51
+ },
52
+ "slots": {
53
+ "type": "object",
54
+ "description": "Named composition slots / compound parts",
55
+ "additionalProperties": {
56
+ "type": "string"
57
+ },
58
+ "properties": {
59
+ "Root": {
60
+ "const": "appNav.root",
61
+ "description": "appNav.root"
62
+ },
63
+ "Rail": {
64
+ "const": "appNav.rail",
65
+ "description": "appNav.rail"
66
+ },
67
+ "Stage": {
68
+ "const": "appNav.stage",
69
+ "description": "appNav.stage"
70
+ },
71
+ "Back": {
72
+ "const": "appNav.back",
73
+ "description": "appNav.back"
74
+ }
75
+ }
76
+ },
77
+ "machine": {
78
+ "type": [
79
+ "string",
80
+ "null"
81
+ ],
82
+ "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
83
+ "const": "appNavMachine"
84
+ },
85
+ "runtime": {
86
+ "type": "string",
87
+ "description": "How headless state is driven at runtime",
88
+ "const": "useAeonMachine"
89
+ },
90
+ "events": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "enum": [
95
+ "SET_SECTION",
96
+ "PUSH",
97
+ "REPLACE",
98
+ "POP",
99
+ "POP_TO",
100
+ "CLEAR",
101
+ "RESET"
102
+ ]
103
+ }
104
+ },
105
+ "examples": {
106
+ "type": "array",
107
+ "items": {
108
+ "type": "string"
109
+ },
110
+ "default": []
111
+ }
112
+ },
113
+ "x-aeon": {
114
+ "scope": "appNav",
115
+ "parts": [
116
+ "root",
117
+ "rail",
118
+ "section",
119
+ "stage",
120
+ "breadcrumb",
121
+ "crumb",
122
+ "back"
123
+ ],
124
+ "states": [
125
+ "section"
126
+ ],
127
+ "machine": "appNavMachine",
128
+ "runtime": "useAeonMachine",
129
+ "events": [
130
+ "SET_SECTION",
131
+ "PUSH",
132
+ "REPLACE",
133
+ "POP",
134
+ "POP_TO",
135
+ "CLEAR",
136
+ "RESET"
137
+ ],
138
+ "slots": {
139
+ "Root": "appNav.root",
140
+ "Rail": "appNav.rail",
141
+ "Stage": "appNav.stage",
142
+ "Back": "appNav.back"
143
+ },
144
+ "examples": []
145
+ }
146
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/appShell.json",
4
+ "title": "AppShell",
5
+ "description": "Application chrome frame via appShellMachine — idle | overlayOpen (+ dockVisible).",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "AppShell"
15
+ },
16
+ "scope": {
17
+ "const": "appShell"
18
+ },
19
+ "parts": {
20
+ "type": "array",
21
+ "description": "Anatomy part keys — map to data-aeon-part",
22
+ "items": {
23
+ "type": "string",
24
+ "enum": [
25
+ "root",
26
+ "header",
27
+ "subheader",
28
+ "content",
29
+ "aside",
30
+ "footer",
31
+ "dock",
32
+ "scrim"
33
+ ]
34
+ },
35
+ "uniqueItems": true
36
+ },
37
+ "states": {
38
+ "type": "array",
39
+ "description": "Allowed data-aeon-state values (stable states only)",
40
+ "items": {
41
+ "type": "string",
42
+ "enum": [
43
+ "idle",
44
+ "overlayOpen"
45
+ ]
46
+ },
47
+ "uniqueItems": true
48
+ },
49
+ "props": {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "properties": {}
53
+ },
54
+ "slots": {
55
+ "type": "object",
56
+ "description": "Named composition slots / compound parts",
57
+ "additionalProperties": {
58
+ "type": "string"
59
+ },
60
+ "properties": {
61
+ "Root": {
62
+ "const": "appShell.root",
63
+ "description": "appShell.root"
64
+ },
65
+ "Header": {
66
+ "const": "appShell.header",
67
+ "description": "appShell.header"
68
+ },
69
+ "Content": {
70
+ "const": "appShell.content",
71
+ "description": "appShell.content"
72
+ },
73
+ "Dock": {
74
+ "const": "appShell.dock",
75
+ "description": "appShell.dock"
76
+ },
77
+ "Scrim": {
78
+ "const": "appShell.scrim",
79
+ "description": "appShell.scrim"
80
+ }
81
+ }
82
+ },
83
+ "machine": {
84
+ "type": [
85
+ "string",
86
+ "null"
87
+ ],
88
+ "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
89
+ "const": "appShellMachine"
90
+ },
91
+ "runtime": {
92
+ "type": "string",
93
+ "description": "How headless state is driven at runtime",
94
+ "const": "useAeonMachine"
95
+ },
96
+ "events": {
97
+ "type": "array",
98
+ "items": {
99
+ "type": "string",
100
+ "enum": [
101
+ "OPEN_OVERLAY",
102
+ "CLOSE_OVERLAY",
103
+ "SHOW_DOCK",
104
+ "HIDE_DOCK",
105
+ "SET_DOCK"
106
+ ]
107
+ }
108
+ },
109
+ "examples": {
110
+ "type": "array",
111
+ "items": {
112
+ "type": "string"
113
+ },
114
+ "default": []
115
+ }
116
+ },
117
+ "x-aeon": {
118
+ "scope": "appShell",
119
+ "parts": [
120
+ "root",
121
+ "header",
122
+ "subheader",
123
+ "content",
124
+ "aside",
125
+ "footer",
126
+ "dock",
127
+ "scrim"
128
+ ],
129
+ "states": [
130
+ "idle",
131
+ "overlayOpen"
132
+ ],
133
+ "machine": "appShellMachine",
134
+ "runtime": "useAeonMachine",
135
+ "events": [
136
+ "OPEN_OVERLAY",
137
+ "CLOSE_OVERLAY",
138
+ "SHOW_DOCK",
139
+ "HIDE_DOCK",
140
+ "SET_DOCK"
141
+ ],
142
+ "slots": {
143
+ "Root": "appShell.root",
144
+ "Header": "appShell.header",
145
+ "Content": "appShell.content",
146
+ "Dock": "appShell.dock",
147
+ "Scrim": "appShell.scrim"
148
+ },
149
+ "examples": []
150
+ }
151
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/avatar.json",
4
+ "title": "Avatar",
5
+ "description": "Image load lifecycle in React; badge presence is a prop projection.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "Avatar"
15
+ },
16
+ "scope": {
17
+ "const": "avatar"
18
+ },
19
+ "parts": {
20
+ "type": "array",
21
+ "description": "Anatomy part keys — map to data-aeon-part",
22
+ "items": {
23
+ "type": "string",
24
+ "enum": [
25
+ "root",
26
+ "image",
27
+ "fallback",
28
+ "badge"
29
+ ]
30
+ },
31
+ "uniqueItems": true
32
+ },
33
+ "states": {
34
+ "type": "array",
35
+ "description": "Allowed data-aeon-state values (stable states only)",
36
+ "items": {
37
+ "type": "string",
38
+ "enum": [
39
+ "idle",
40
+ "loading",
41
+ "loaded",
42
+ "error"
43
+ ]
44
+ },
45
+ "uniqueItems": true
46
+ },
47
+ "props": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "properties": {}
51
+ },
52
+ "slots": {
53
+ "type": "object",
54
+ "description": "Named composition slots / compound parts",
55
+ "additionalProperties": {
56
+ "type": "string"
57
+ },
58
+ "properties": {
59
+ "Root": {
60
+ "const": "avatar.root",
61
+ "description": "avatar.root"
62
+ },
63
+ "Image": {
64
+ "const": "avatar.image",
65
+ "description": "avatar.image"
66
+ },
67
+ "Fallback": {
68
+ "const": "avatar.fallback",
69
+ "description": "avatar.fallback"
70
+ },
71
+ "Badge": {
72
+ "const": "avatar.badge",
73
+ "description": "avatar.badge"
74
+ }
75
+ }
76
+ },
77
+ "machine": {
78
+ "type": [
79
+ "string",
80
+ "null"
81
+ ],
82
+ "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
83
+ "const": null
84
+ },
85
+ "runtime": {
86
+ "type": "string",
87
+ "description": "How headless state is driven at runtime",
88
+ "const": "useState"
89
+ },
90
+ "events": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "enum": []
95
+ }
96
+ },
97
+ "examples": {
98
+ "type": "array",
99
+ "items": {
100
+ "type": "string"
101
+ },
102
+ "default": []
103
+ }
104
+ },
105
+ "x-aeon": {
106
+ "scope": "avatar",
107
+ "parts": [
108
+ "root",
109
+ "image",
110
+ "fallback",
111
+ "badge"
112
+ ],
113
+ "states": [
114
+ "idle",
115
+ "loading",
116
+ "loaded",
117
+ "error"
118
+ ],
119
+ "machine": null,
120
+ "runtime": "useState",
121
+ "events": [],
122
+ "slots": {
123
+ "Root": "avatar.root",
124
+ "Image": "avatar.image",
125
+ "Fallback": "avatar.fallback",
126
+ "Badge": "avatar.badge"
127
+ },
128
+ "examples": []
129
+ }
130
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/bar.json",
4
+ "title": "Bar",
5
+ "description": "Three-zone toolbar layout (leading / center / trailing / seam). Sticky lifecycle uses StickyBar + stickyBarMachine.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "Bar"
15
+ },
16
+ "scope": {
17
+ "const": "bar"
18
+ },
19
+ "parts": {
20
+ "type": "array",
21
+ "description": "Anatomy part keys — map to data-aeon-part",
22
+ "items": {
23
+ "type": "string",
24
+ "enum": [
25
+ "root",
26
+ "leading",
27
+ "center",
28
+ "trailing",
29
+ "seam"
30
+ ]
31
+ },
32
+ "uniqueItems": true
33
+ },
34
+ "states": {
35
+ "type": "array",
36
+ "description": "Allowed data-aeon-state values (stable states only)",
37
+ "items": {
38
+ "type": "string",
39
+ "enum": [
40
+ "idle"
41
+ ]
42
+ },
43
+ "uniqueItems": true
44
+ },
45
+ "props": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "properties": {}
49
+ },
50
+ "slots": {
51
+ "type": "object",
52
+ "description": "Named composition slots / compound parts",
53
+ "additionalProperties": {
54
+ "type": "string"
55
+ },
56
+ "properties": {
57
+ "Root": {
58
+ "const": "bar.root",
59
+ "description": "bar.root"
60
+ },
61
+ "Leading": {
62
+ "const": "bar.leading",
63
+ "description": "bar.leading"
64
+ },
65
+ "Center": {
66
+ "const": "bar.center",
67
+ "description": "bar.center"
68
+ },
69
+ "Trailing": {
70
+ "const": "bar.trailing",
71
+ "description": "bar.trailing"
72
+ }
73
+ }
74
+ },
75
+ "machine": {
76
+ "type": [
77
+ "string",
78
+ "null"
79
+ ],
80
+ "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
81
+ "const": null
82
+ },
83
+ "runtime": {
84
+ "type": "string",
85
+ "description": "How headless state is driven at runtime",
86
+ "const": "layout"
87
+ },
88
+ "events": {
89
+ "type": "array",
90
+ "items": {
91
+ "type": "string",
92
+ "enum": []
93
+ }
94
+ },
95
+ "examples": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string"
99
+ },
100
+ "default": []
101
+ }
102
+ },
103
+ "x-aeon": {
104
+ "scope": "bar",
105
+ "parts": [
106
+ "root",
107
+ "leading",
108
+ "center",
109
+ "trailing",
110
+ "seam"
111
+ ],
112
+ "states": [
113
+ "idle"
114
+ ],
115
+ "machine": null,
116
+ "runtime": "layout",
117
+ "events": [],
118
+ "slots": {
119
+ "Root": "bar.root",
120
+ "Leading": "bar.leading",
121
+ "Center": "bar.center",
122
+ "Trailing": "bar.trailing"
123
+ },
124
+ "examples": []
125
+ }
126
+ }