aeon-ui-engine 1.3.1 → 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 (78) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/package.json +1 -1
  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
@@ -0,0 +1,153 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/stickyBar.json",
4
+ "title": "StickyBar",
5
+ "description": "Sticky/fixed chrome band via stickyBarMachine. DOM scope is bar (reuses bar anatomy zones).",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "StickyBar"
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
+ "floating",
41
+ "docked",
42
+ "collapsed",
43
+ "hidden"
44
+ ]
45
+ },
46
+ "uniqueItems": true
47
+ },
48
+ "props": {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "properties": {}
52
+ },
53
+ "slots": {
54
+ "type": "object",
55
+ "description": "Named composition slots / compound parts",
56
+ "additionalProperties": {
57
+ "type": "string"
58
+ },
59
+ "properties": {
60
+ "Root": {
61
+ "const": "bar.root",
62
+ "description": "bar.root"
63
+ },
64
+ "Leading": {
65
+ "const": "bar.leading",
66
+ "description": "bar.leading"
67
+ },
68
+ "Center": {
69
+ "const": "bar.center",
70
+ "description": "bar.center"
71
+ },
72
+ "Trailing": {
73
+ "const": "bar.trailing",
74
+ "description": "bar.trailing"
75
+ },
76
+ "Seam": {
77
+ "const": "bar.seam",
78
+ "description": "bar.seam"
79
+ }
80
+ }
81
+ },
82
+ "machine": {
83
+ "type": [
84
+ "string",
85
+ "null"
86
+ ],
87
+ "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
88
+ "const": "stickyBarMachine"
89
+ },
90
+ "runtime": {
91
+ "type": "string",
92
+ "description": "How headless state is driven at runtime",
93
+ "const": "useAeonMachine"
94
+ },
95
+ "events": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string",
99
+ "enum": [
100
+ "DOCK",
101
+ "FLOAT",
102
+ "COLLAPSE",
103
+ "EXPAND",
104
+ "HIDE",
105
+ "SHOW",
106
+ "SET_OFFSET"
107
+ ]
108
+ }
109
+ },
110
+ "examples": {
111
+ "type": "array",
112
+ "items": {
113
+ "type": "string"
114
+ },
115
+ "default": []
116
+ }
117
+ },
118
+ "x-aeon": {
119
+ "scope": "bar",
120
+ "parts": [
121
+ "root",
122
+ "leading",
123
+ "center",
124
+ "trailing",
125
+ "seam"
126
+ ],
127
+ "states": [
128
+ "floating",
129
+ "docked",
130
+ "collapsed",
131
+ "hidden"
132
+ ],
133
+ "machine": "stickyBarMachine",
134
+ "runtime": "useAeonMachine",
135
+ "events": [
136
+ "DOCK",
137
+ "FLOAT",
138
+ "COLLAPSE",
139
+ "EXPAND",
140
+ "HIDE",
141
+ "SHOW",
142
+ "SET_OFFSET"
143
+ ],
144
+ "slots": {
145
+ "Root": "bar.root",
146
+ "Leading": "bar.leading",
147
+ "Center": "bar.center",
148
+ "Trailing": "bar.trailing",
149
+ "Seam": "bar.seam"
150
+ },
151
+ "examples": []
152
+ }
153
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aeon-ui.com/schemas/thread.json",
4
+ "title": "Thread",
5
+ "description": "Message stream — item state prop mine | theirs | pending | failed.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "component",
10
+ "scope"
11
+ ],
12
+ "properties": {
13
+ "component": {
14
+ "const": "Thread"
15
+ },
16
+ "scope": {
17
+ "const": "thread"
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
+ "list",
27
+ "item",
28
+ "bubble",
29
+ "meta",
30
+ "day"
31
+ ]
32
+ },
33
+ "uniqueItems": true
34
+ },
35
+ "states": {
36
+ "type": "array",
37
+ "description": "Allowed data-aeon-state values (stable states only)",
38
+ "items": {
39
+ "type": "string",
40
+ "enum": [
41
+ "mine",
42
+ "theirs",
43
+ "pending",
44
+ "failed"
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": "thread.root",
63
+ "description": "thread.root"
64
+ },
65
+ "Item": {
66
+ "const": "thread.item",
67
+ "description": "thread.item"
68
+ },
69
+ "Bubble": {
70
+ "const": "thread.bubble",
71
+ "description": "thread.bubble"
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": "props"
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": "thread",
105
+ "parts": [
106
+ "root",
107
+ "list",
108
+ "item",
109
+ "bubble",
110
+ "meta",
111
+ "day"
112
+ ],
113
+ "states": [
114
+ "mine",
115
+ "theirs",
116
+ "pending",
117
+ "failed"
118
+ ],
119
+ "machine": null,
120
+ "runtime": "props",
121
+ "events": [],
122
+ "slots": {
123
+ "Root": "thread.root",
124
+ "Item": "thread.item",
125
+ "Bubble": "thread.bubble"
126
+ },
127
+ "examples": []
128
+ }
129
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://aeon-ui.com/schemas/tooltip.json",
4
4
  "title": "Tooltip",
5
- "description": "Open via React useState. Touch tap toggles.",
5
+ "description": "Open/closed via popoverMachine (same family as Popover/Select/Combobox). openDelay / closeDelay / touchDuration stay React-local.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": [
@@ -75,18 +75,25 @@
75
75
  "null"
76
76
  ],
77
77
  "description": "XState machine export from @aeon-ui/primitives, or null if prop/React driven",
78
- "const": null
78
+ "const": "popoverMachine"
79
79
  },
80
80
  "runtime": {
81
81
  "type": "string",
82
82
  "description": "How headless state is driven at runtime",
83
- "const": "useState"
83
+ "const": "useAeonMachine"
84
84
  },
85
85
  "events": {
86
86
  "type": "array",
87
87
  "items": {
88
88
  "type": "string",
89
- "enum": []
89
+ "enum": [
90
+ "OPEN",
91
+ "CLOSE",
92
+ "TOGGLE",
93
+ "SET_OPEN",
94
+ "ESCAPE",
95
+ "POINTER_DOWN_OUTSIDE"
96
+ ]
90
97
  }
91
98
  },
92
99
  "examples": {
@@ -110,9 +117,16 @@
110
117
  "open",
111
118
  "closed"
112
119
  ],
113
- "machine": null,
114
- "runtime": "useState",
115
- "events": [],
120
+ "machine": "popoverMachine",
121
+ "runtime": "useAeonMachine",
122
+ "events": [
123
+ "OPEN",
124
+ "CLOSE",
125
+ "TOGGLE",
126
+ "SET_OPEN",
127
+ "ESCAPE",
128
+ "POINTER_DOWN_OUTSIDE"
129
+ ],
116
130
  "slots": {
117
131
  "Root": "tooltip.root",
118
132
  "Trigger": "tooltip.trigger",
@@ -0,0 +1,58 @@
1
+ {
2
+ "id": "accordion",
3
+ "initial": "managing",
4
+ "events": [
5
+ "TOGGLE",
6
+ "SET_VALUE"
7
+ ],
8
+ "tree": {
9
+ "key": "accordion",
10
+ "id": "accordion",
11
+ "type": "compound",
12
+ "events": [
13
+ "TOGGLE",
14
+ "SET_VALUE"
15
+ ],
16
+ "transitions": [],
17
+ "children": [
18
+ {
19
+ "key": "managing",
20
+ "id": "accordion.managing",
21
+ "type": "atomic",
22
+ "events": [
23
+ "TOGGLE",
24
+ "SET_VALUE"
25
+ ],
26
+ "transitions": [
27
+ {
28
+ "event": "TOGGLE",
29
+ "target": [],
30
+ "guarded": false
31
+ },
32
+ {
33
+ "event": "SET_VALUE",
34
+ "target": [],
35
+ "guarded": false
36
+ }
37
+ ],
38
+ "children": []
39
+ }
40
+ ]
41
+ },
42
+ "states": {
43
+ "accordion": {
44
+ "events": [
45
+ "TOGGLE",
46
+ "SET_VALUE"
47
+ ],
48
+ "type": "compound"
49
+ },
50
+ "accordion.managing": {
51
+ "events": [
52
+ "TOGGLE",
53
+ "SET_VALUE"
54
+ ],
55
+ "type": "atomic"
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "id": "appNav",
3
+ "initial": "ready",
4
+ "events": [
5
+ "SET_SECTION",
6
+ "PUSH",
7
+ "REPLACE",
8
+ "POP",
9
+ "POP_TO",
10
+ "CLEAR",
11
+ "RESET"
12
+ ],
13
+ "tree": {
14
+ "key": "appNav",
15
+ "id": "appNav",
16
+ "type": "compound",
17
+ "events": [
18
+ "SET_SECTION",
19
+ "PUSH",
20
+ "REPLACE",
21
+ "POP",
22
+ "POP_TO",
23
+ "CLEAR",
24
+ "RESET"
25
+ ],
26
+ "transitions": [],
27
+ "children": [
28
+ {
29
+ "key": "ready",
30
+ "id": "appNav.ready",
31
+ "type": "atomic",
32
+ "events": [
33
+ "SET_SECTION",
34
+ "PUSH",
35
+ "REPLACE",
36
+ "POP",
37
+ "POP_TO",
38
+ "CLEAR",
39
+ "RESET"
40
+ ],
41
+ "transitions": [
42
+ {
43
+ "event": "SET_SECTION",
44
+ "target": [],
45
+ "guarded": false
46
+ },
47
+ {
48
+ "event": "PUSH",
49
+ "target": [],
50
+ "guarded": false
51
+ },
52
+ {
53
+ "event": "REPLACE",
54
+ "target": [],
55
+ "guarded": false
56
+ },
57
+ {
58
+ "event": "POP",
59
+ "target": [],
60
+ "guarded": true
61
+ },
62
+ {
63
+ "event": "POP_TO",
64
+ "target": [],
65
+ "guarded": false
66
+ },
67
+ {
68
+ "event": "CLEAR",
69
+ "target": [],
70
+ "guarded": false
71
+ },
72
+ {
73
+ "event": "RESET",
74
+ "target": [],
75
+ "guarded": false
76
+ }
77
+ ],
78
+ "children": []
79
+ }
80
+ ]
81
+ },
82
+ "states": {
83
+ "appNav": {
84
+ "events": [
85
+ "SET_SECTION",
86
+ "PUSH",
87
+ "REPLACE",
88
+ "POP",
89
+ "POP_TO",
90
+ "CLEAR",
91
+ "RESET"
92
+ ],
93
+ "type": "compound"
94
+ },
95
+ "appNav.ready": {
96
+ "events": [
97
+ "SET_SECTION",
98
+ "PUSH",
99
+ "REPLACE",
100
+ "POP",
101
+ "POP_TO",
102
+ "CLEAR",
103
+ "RESET"
104
+ ],
105
+ "type": "atomic"
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "id": "appShell",
3
+ "initial": "idle",
4
+ "events": [
5
+ "OPEN_OVERLAY",
6
+ "SHOW_DOCK",
7
+ "HIDE_DOCK",
8
+ "SET_DOCK",
9
+ "CLOSE_OVERLAY"
10
+ ],
11
+ "tree": {
12
+ "key": "appShell",
13
+ "id": "appShell",
14
+ "type": "compound",
15
+ "events": [
16
+ "OPEN_OVERLAY",
17
+ "SHOW_DOCK",
18
+ "HIDE_DOCK",
19
+ "SET_DOCK",
20
+ "CLOSE_OVERLAY"
21
+ ],
22
+ "transitions": [],
23
+ "children": [
24
+ {
25
+ "key": "idle",
26
+ "id": "appShell.idle",
27
+ "type": "atomic",
28
+ "events": [
29
+ "OPEN_OVERLAY",
30
+ "SHOW_DOCK",
31
+ "HIDE_DOCK",
32
+ "SET_DOCK"
33
+ ],
34
+ "transitions": [
35
+ {
36
+ "event": "OPEN_OVERLAY",
37
+ "target": [
38
+ "overlayOpen"
39
+ ],
40
+ "guarded": false
41
+ },
42
+ {
43
+ "event": "SHOW_DOCK",
44
+ "target": [],
45
+ "guarded": false
46
+ },
47
+ {
48
+ "event": "HIDE_DOCK",
49
+ "target": [],
50
+ "guarded": false
51
+ },
52
+ {
53
+ "event": "SET_DOCK",
54
+ "target": [],
55
+ "guarded": false
56
+ }
57
+ ],
58
+ "children": []
59
+ },
60
+ {
61
+ "key": "overlayOpen",
62
+ "id": "appShell.overlayOpen",
63
+ "type": "atomic",
64
+ "events": [
65
+ "CLOSE_OVERLAY",
66
+ "SHOW_DOCK",
67
+ "HIDE_DOCK",
68
+ "SET_DOCK"
69
+ ],
70
+ "transitions": [
71
+ {
72
+ "event": "CLOSE_OVERLAY",
73
+ "target": [
74
+ "idle"
75
+ ],
76
+ "guarded": false
77
+ },
78
+ {
79
+ "event": "SHOW_DOCK",
80
+ "target": [],
81
+ "guarded": false
82
+ },
83
+ {
84
+ "event": "HIDE_DOCK",
85
+ "target": [],
86
+ "guarded": false
87
+ },
88
+ {
89
+ "event": "SET_DOCK",
90
+ "target": [],
91
+ "guarded": false
92
+ }
93
+ ],
94
+ "children": []
95
+ }
96
+ ]
97
+ },
98
+ "states": {
99
+ "appShell": {
100
+ "events": [
101
+ "OPEN_OVERLAY",
102
+ "SHOW_DOCK",
103
+ "HIDE_DOCK",
104
+ "SET_DOCK",
105
+ "CLOSE_OVERLAY"
106
+ ],
107
+ "type": "compound"
108
+ },
109
+ "appShell.idle": {
110
+ "events": [
111
+ "OPEN_OVERLAY",
112
+ "SHOW_DOCK",
113
+ "HIDE_DOCK",
114
+ "SET_DOCK"
115
+ ],
116
+ "type": "atomic"
117
+ },
118
+ "appShell.overlayOpen": {
119
+ "events": [
120
+ "CLOSE_OVERLAY",
121
+ "SHOW_DOCK",
122
+ "HIDE_DOCK",
123
+ "SET_DOCK"
124
+ ],
125
+ "type": "atomic"
126
+ }
127
+ }
128
+ }