Yanzhen Yu
23af6c4c35
add unique name to react plugin, corret me if this is not the best practise
2021-10-31 12:13:40 +08:00
Yanzhen Yu
6b35a56110
fix typings config and runtime error
2021-10-31 12:11:01 +08:00
Yanzhen Yu
ccaac9b9ae
Publish
...
- @meta-ui/editor@0.2.4
- @meta-ui/runtime@0.2.4
2021-10-27 14:15:18 +08:00
Yanzhen Yu
fd86d9cc0e
fork @vue-reactivity/watch to fix bundler issue
...
@vue-reactivity/watch use tsup as its bundler, which create .mjs
file as the ES module output.
But webpack4 do not like .mjs extension which cause tools like
create-react-app failed when using meta-ui. Even users can add some
trick to let webpack4 bundle .mjs file, the watch function still
not working.
Refs:
1. https://github.com/facebook/create-react-app/issues/10356
2. https://github.com/formatjs/formatjs/issues/1395#issuecomment-518823361
2021-10-27 14:11:02 +08:00
Yanzhen Yu
aa6a643bf3
Publish
...
- @meta-ui/editor@0.2.3
- @meta-ui/runtime@0.2.3
2021-10-27 11:52:03 +08:00
Yanzhen Yu
fc7c46d7a5
inject react jsx runtime
2021-10-27 11:51:46 +08:00
Yanzhen Yu
ba6cdf7cda
Publish
...
- @meta-ui/core@0.2.1
- @meta-ui/editor@0.2.2
- @meta-ui/runtime@0.2.2
2021-10-27 11:45:51 +08:00
Yanzhen Yu
53c71b05b0
use tsup to bundle core and runtime packages
2021-10-27 11:45:19 +08:00
Yanzhen Yu
883a8983eb
Publish
...
- @meta-ui/editor@0.2.1
- @meta-ui/runtime@0.2.1
2021-10-27 00:39:46 +08:00
Yanzhen Yu
ac1cb05c8b
target ES6 for better compatibility
2021-10-27 00:39:28 +08:00
Yanzhen Yu
d68f2e3cf9
Publish
...
- @meta-ui/core@0.2.0
- @meta-ui/editor@0.2.0
- @meta-ui/runtime@0.2.0
2021-10-27 00:27:49 +08:00
Yanzhen Yu
01f356a215
switch to general release
2021-10-27 00:25:44 +08:00
Yanzhen Yu
eef445a320
test release canary version
2021-10-27 00:20:51 +08:00
Yanzhen Yu
87b0552ff3
add release dev version script
2021-10-27 00:12:19 +08:00
Shengjie Yang
403871e35e
feat: component tree sorting is supported
2021-10-26 10:48:17 +08:00
Bowen Tan
4ea4b9f8dc
add fetch trait form
2021-10-25 18:04:29 +08:00
Bowen Tan
2c7efc149c
add keyValue editor
2021-10-25 14:04:30 +08:00
Bowen Tan
9f40f29cf6
fix: cannot focus input when dialog open
2021-10-22 13:33:50 +08:00
Bowen Tan
112aa2daff
fix scroll bug
2021-10-22 13:33:50 +08:00
Bowen Tan
7e66e01ea2
can remove trait
2021-10-22 13:33:50 +08:00
Bowen Tan
5d9963a963
can add trait
2021-10-22 13:33:50 +08:00
Bowen Tan
b3ad91c4b7
fix drag component compatibility bug
2021-10-22 11:56:02 +08:00
Bowen Tan
2f946090a6
get handlers in EventTraitForm
2021-10-21 10:08:10 +08:00
Bowen Tan
13bde96f1a
fix empty traits fields bug
2021-10-20 17:44:43 +08:00
Bowen Tan
818e4e7f84
can edit event wait and disabled
2021-10-20 17:06:09 +08:00
Bowen Tan
e63971fca7
edit parameters as JSON string
2021-10-20 16:40:54 +08:00
Bowen Tan
a259fbd729
add remove event trait
2021-10-20 16:14:24 +08:00
Bowen Tan
8a5a57d335
improve component form style
2021-10-20 15:32:44 +08:00
Bowen Tan
bba8919c6b
use formik implement event form
2021-10-20 14:46:24 +08:00
Bowen Tan
3763fbe46e
fix style bug
2021-10-20 10:43:34 +08:00
Bowen Tan
abb0a9d175
can add event trait
2021-10-20 10:28:48 +08:00
Chu Bin
a99262d1ea
fix: replace initProps to render field
2021-10-19 18:33:40 +08:00
Chu Bin
0b66372bec
feat: modify nested properties & traits
2021-10-19 15:50:36 +08:00
tanbowensg
61d86f6cc8
Merge pull request #92 from Yuyz0112/main
...
introduce CodeMirror to implement code editors
2021-10-19 10:21:41 +08:00
Bowen Tan
454e8b8c43
add placeholder when drag component to grid
2021-10-19 10:15:24 +08:00
Yanzhen Yu
52359f7d29
make state editor read only
2021-10-19 00:20:05 +08:00
Yanzhen Yu
3be10c22a7
introduce CodeMirror to implement code editors
2021-10-19 00:14:44 +08:00
Bowen Tan
81f2239076
render modal in custom container in editor
2021-10-18 18:06:41 +08:00
Bowen Tan
be279c0079
can drop component on root
2021-10-18 15:46:48 +08:00
Bowen Tan
e7e479f32d
change default slot name to 'content'
2021-10-18 13:58:40 +08:00
Bowen Tan
7198022b1e
add drop style
2021-10-18 13:40:44 +08:00
Bowen Tan
7ab90ca6ec
structure tree can toggle show children & hide slotName
2021-10-18 11:22:58 +08:00
Bowen Tan
259db6be0f
can add component to root
2021-10-18 11:22:57 +08:00
Bowen Tan
45753ee0af
refactor structureTree
2021-10-18 11:22:13 +08:00
Bowen Tan
ef869d5ad6
Merge branch 'main' into feat/style
...
# Conflicts:
# packages/editor/src/components/ComponentForm/ComponentForm.tsx
# packages/editor/src/components/Editor.tsx
# packages/editor/src/operations/AppModelManager.ts
2021-10-18 11:06:09 +08:00
Yanzhen Yu
688b23b058
improve Editor UI and add Editor headaer
2021-10-17 17:28:49 +08:00
Yanzhen Yu
d210160c21
improve component list UI
2021-10-17 16:04:38 +08:00
Yanzhen Yu
9f6724ff91
fix property generation and improve default id format
2021-10-16 20:45:24 +08:00
Bowen Tan
73ecc54b31
hover and select component will not cause app rerender
2021-10-15 18:08:31 +08:00
Bowen Tan
8244bb122f
fix form checkboxGroup and radioGroup bug
2021-10-15 18:00:43 +08:00
Bowen Tan
7489707c08
improve form style
2021-10-15 18:00:43 +08:00
Bowen Tan
3d15554f74
improve table style
2021-10-15 18:00:43 +08:00
Bowen Tan
09129a2ab0
add datasource and support edit trait properties
2021-10-15 18:00:42 +08:00
Bowen Tan
040b778229
fix some components style
2021-10-15 18:00:42 +08:00
Bowen Tan
d73f46269f
fix text bug
2021-10-15 18:00:42 +08:00
Bowen Tan
56bed840ae
highlight selectedComponent in structure tree
2021-10-15 18:00:42 +08:00
Bowen Tan
288886ce63
improve componentId generate method
2021-10-15 18:00:42 +08:00
Bowen Tan
90d52adb71
fix image size bug
2021-10-15 18:00:42 +08:00
Bowen Tan
b95b5177bf
use pseudo element implement hover border
2021-10-15 18:00:42 +08:00
Bowen Tan
eceec4b4c6
add grid bg and use react-resize-detector
2021-10-15 18:00:42 +08:00
Bowen Tan
522c85bc2a
add hover component style
2021-10-15 18:00:42 +08:00
Bowen Tan
6e394ad3c1
change event trait property
2021-10-15 14:13:38 +08:00
Bowen Tan
f3d6d9b76e
add exampleSize metadata
2021-10-15 10:17:57 +08:00
Bowen Tan
09cf22f5c4
change button event 'click' to 'onClick'
2021-10-15 10:17:57 +08:00
Bowen Tan
111ebf79de
update spec
2021-10-15 10:17:57 +08:00
Bowen Tan
6a67a3a787
add keyboard event
2021-10-14 10:01:36 +08:00
Bowen Tan
6b51cde840
support drag componen to tree to create
2021-10-12 10:57:26 +08:00
Bowen Tan
6da304e286
decouple use appModel
2021-10-12 10:57:26 +08:00
Bowen Tan
f131a5e3b7
defaultProperties -> exampleProperties
2021-10-11 17:37:14 +08:00
Bowen Tan
141af3ffd6
add defaultProperties for components
2021-10-11 17:07:26 +08:00
Bowen Tan
90f6fc6c2d
add metadata
2021-10-11 17:07:26 +08:00
Bowen Tan
634e1f063a
support choose component in view
2021-10-11 15:49:38 +08:00
Bowen Tan
cb713bd477
rename mModules to services
2021-09-30 15:59:33 +08:00
Bowen Tan
42449ef130
button support grid
2021-09-30 14:45:42 +08:00
Bowen Tan
2d237e5da7
implement create component by drag into grid
2021-09-30 13:42:56 +08:00
Bowen Tan
8f649099d9
add gridCallbacks
2021-09-30 13:42:56 +08:00
Bowen Tan
038ad783af
refactor runtime props type
2021-09-30 13:42:56 +08:00
Bowen Tan
c1b1c65029
wip init grid onLayoutChange
2021-09-30 13:42:56 +08:00
Bowen Tan
1bcf089af3
fix test ci
2021-09-28 15:37:49 +08:00
Bowen Tan
688065cb95
add component Form
2021-09-28 14:23:52 +08:00
Bowen Tan
69955e6f62
add editor eventBus
2021-09-28 10:28:34 +08:00
Bowen Tan
f0052aab11
impletement create and undo
2021-09-27 18:00:34 +08:00
Bowen Tan
584d7b1798
split App.tsx & combine ImplWrapper props
2021-09-27 15:03:53 +08:00
Bowen Tan
6d1712de67
add selected component wrapper
2021-09-27 13:43:55 +08:00
Bowen Tan
6c7ad81e03
decouple apiService
2021-09-27 10:14:28 +08:00
Bowen Tan
1cbc257e75
decouple globalHandlerMap
2021-09-26 15:25:13 +08:00
Bowen Tan
85134a4c73
decouple stateStore
2021-09-26 15:17:16 +08:00
Bowen Tan
0c8c97ef91
decouple registry
2021-09-26 12:02:22 +08:00
Bowen Tan
41ec9c1910
add componentList & structureTree
2021-09-26 10:45:58 +08:00
Bowen Tan
21471d0abf
use jsxImportSource in tsconfig
2021-09-24 10:11:11 +08:00
Bowen Tan
92a11a1458
support cross package import @mata-io/runtime
2021-09-24 10:06:09 +08:00
Bowen Tan
0546d60a2f
init editor project
2021-09-24 10:06:07 +08:00
Bowen Tan
c3429e19bb
editor init
2021-09-24 10:05:45 +08:00
Bowen Tan
35f33e0073
cancel trait side effect
2021-09-24 10:04:43 +08:00
ShenWen Yin
06d8f66f7e
update ci test configuration
2021-09-23 09:38:28 +08:00
Yanzhen Yu
102853a777
hotfix: revert the change to value initialization
2021-09-20 17:09:13 +08:00
Yanzhen Yu
6d8f7d5fc1
migrate all the code to new props type
...
related to #54
2021-09-20 17:00:54 +08:00
Yanzhen Yu
2bcb02491b
update component and trait props type to JSONSchemaObject
...
related to #54
2021-09-20 16:02:17 +08:00
Yanzhen Yu
084eb33a76
fix component props eval: deep eval only once
2021-09-20 15:55:58 +08:00
yz-yu
3c8b6db9b2
Merge pull request #73 from webzard-io/feat/form
...
Complete Form Component
2021-09-20 15:54:04 +08:00
Bowen Tan
ae981541bd
change form control to horizontal
2021-09-18 18:06:31 +08:00
Bowen Tan
8eaec48b97
add dialog form
2021-09-18 14:38:04 +08:00
Bowen Tan
288a432923
integrate form, table and api
2021-09-18 10:32:53 +08:00
Yanzhen Yu
57c46027e8
update the spec of component ids in the spec
...
related to #54
If users naming component with id 'input-1', it may be hard to be
used in the expression, because 'input-1' is not a valid JS variable
name.
So we update the spec to make sure component ids are valid JS variable
names.
According to https://stackoverflow.com/a/1661249 , valid JS variable
name can be a big set. In this patch, we just force users to pass
a simple and limited RegExp, which keep application simple and readable.
TODO: validate component ids are not keywords.
2021-09-18 00:57:40 +08:00
Bowen Tan
a3bcb4efc3
add Volume Form
2021-09-17 15:40:07 +08:00
Bowen Tan
e5f2f1b8d3
fix form validation
2021-09-17 10:45:44 +08:00
Bowen Tan
b677bf1ecc
add resetForm method
2021-09-17 10:45:44 +08:00
Bowen Tan
8ec7837d3d
reuse CallMethodSchema
2021-09-17 10:45:44 +08:00
Bowen Tan
aa00c670d6
complete form component
2021-09-17 10:45:44 +08:00
Bowen Tan
b44ae7685f
add formControl
2021-09-17 10:45:44 +08:00
Bowen Tan
9521219d55
remove validation trait return props
2021-09-17 10:45:44 +08:00
Bowen Tan
06a3586221
fix validation text does not show in the first render bug
2021-09-17 10:45:44 +08:00
tanbowensg
985f8035b7
Merge pull request #69 from Sczlog/main
...
add chakra-ui toast.
2021-09-17 10:30:34 +08:00
tanbowensg
7894db3215
Merge pull request #67 from webzard-io/cep/radio
...
feat: impl radio and radioGroup
2021-09-17 10:11:49 +08:00
Bowen Tan
36cbe2ae25
add eslint
2021-09-17 09:48:40 +08:00
Bowen Tan
01318d0c2a
add test for parseTypeBox
2021-09-17 09:41:12 +08:00
Bowen Tan
8ff0c996d4
add checkbox for table
2021-09-17 09:41:12 +08:00
Bowen Tan
6f10569d92
add dialog in table
2021-09-17 09:41:09 +08:00
Bowen Tan
4a8ae01ab5
table multi select
2021-09-17 09:38:27 +08:00
Bowen Tan
d72d4c57fa
add displayValue for table
2021-09-17 09:38:27 +08:00
Bowen Tan
07b68d8372
split table file
2021-09-17 09:38:27 +08:00
Bowen Tan
319a7beec6
add dummy query
2021-09-17 09:38:27 +08:00
Bowen Tan
65c4c44816
delete row
2021-09-17 09:38:27 +08:00
Bowen Tan
2f56b4b5b1
add column sort
2021-09-17 09:38:27 +08:00
Bowen Tan
a9d03a0cc6
define table column and add pagination
2021-09-17 09:38:27 +08:00
Bowen Tan
9595eb17db
init component state from spec
2021-09-17 09:38:27 +08:00
Bowen Tan
a5b22a8ac1
integrate todolist with api
2021-09-17 09:38:27 +08:00
Bowen Tan
7b6555dc59
refactor: fix trait and component eval order
2021-09-17 09:38:27 +08:00
Sczlog
a5fafc4798
add chakra-ui toast.
2021-09-16 18:51:25 +08:00
chenenpei
56ecfba185
feat: impl radio and radioGroup
2021-09-16 17:06:01 +08:00
chenenpei
3ae95c42a0
modify props of checkbox and checkboxGroup
2021-09-16 17:06:01 +08:00
chenenpei
f23865c6e7
declare state schema for checkbox, checkboxGroup, and select
2021-09-16 17:06:01 +08:00
chenenpei
7d59bdeb0a
feat: add more props for checkbox
2021-09-15 14:22:38 +08:00
chenenpei
0157206207
feat: impl select component
2021-09-15 14:22:37 +08:00
Bowen Tan
cad28f5af5
fix dialog import ColorSchemePropertySchema bug
2021-09-13 17:10:14 +08:00
Shengjie Yang
034073d770
fix: use initialValue to replace async setValue
2021-09-13 10:25:44 +08:00
Shengjie Yang
50b07210ed
feat: impl dialog component
2021-09-13 10:25:43 +08:00
Bowen Tan
f7da7a15b0
add style trait
2021-09-13 10:09:17 +08:00
yz-yu
646fdf2c89
Merge pull request #53 from webzard-io/feat/list
...
implement List component
2021-09-12 18:15:15 +08:00
Bowen Tan
25525f9951
implement tooltip component
2021-09-10 17:15:39 +08:00
Bowen Tan
6bba9eb620
fix jest test
2021-09-07 17:27:01 +08:00
Bowen Tan
6566734282
fix parseExpression bug
2021-09-07 17:09:27 +08:00
Bowen Tan
ae564e926b
add parseExpression unit test
2021-09-07 13:47:32 +08:00
Bowen Tan
84748086e6
add parseType util file
2021-09-07 11:15:57 +08:00
Chu Bin
e3b38a79e5
feat: chakra image component
2021-09-06 17:57:39 +08:00
Bowen Tan
4fc48f6570
chore: fix code style
2021-09-06 16:16:09 +08:00
Bowen Tan
b799120fd3
remove methods when component destory
2021-09-06 16:13:13 +08:00
Bowen Tan
d05f736a9e
complete simple todo list
2021-09-06 14:05:00 +08:00
Bowen Tan
16f07c20f9
add arrayState Trait
2021-09-06 14:05:00 +08:00
Bowen Tan
a2860b1ea9
fix "Cannot update a component while rendering a different component" warning
2021-09-06 14:05:00 +08:00
Bowen Tan
d878fbc5f2
add listItem memo
2021-09-06 14:05:00 +08:00
Bowen Tan
9cec11d180
add create and delete button
2021-09-06 14:05:00 +08:00
Bowen Tan
237446e1b3
uncouple List with createApplication
2021-09-06 14:05:00 +08:00
Bowen Tan
45e5c48f89
support using $listItem in {{}} expression
2021-09-06 14:05:00 +08:00
Bowen Tan
bb0b463ef3
support multiple {{}} in expression
2021-09-06 14:05:00 +08:00
Bowen Tan
1c9e1c9a99
implement list custom template
2021-09-06 14:05:00 +08:00
Bowen Tan
b9de19bd56
init list
2021-09-06 14:04:59 +08:00
Bowen Tan
500b8fcb54
support any event name
2021-09-03 10:21:29 +08:00
yz-yu
c2670c9a50
Merge pull request #47 from webzard-io/refactor/trait
...
Refactor trait new implementation
2021-09-02 22:02:12 +08:00
chenenpei
84e5250c8c
implement chakra checkbox group #5
2021-09-02 10:08:39 +08:00
Bowen Tan
3563b0af25
add noUnusedLocals to tsconfig
2021-09-01 10:58:09 +08:00
Bowen Tan
fd3f27a9e9
restore setValue and support 2 parameters
2021-08-31 14:50:32 +08:00
Bowen Tan
878eb6b318
fix merge code bug
2021-08-31 14:17:11 +08:00
Bowen Tan
7361aa38a2
refactor fetch trait
2021-08-31 14:05:18 +08:00
Bowen Tan
25d780747e
eval trait properties and run trait at the same time
2021-08-31 14:05:06 +08:00
Bowen Tan
50c07a19e6
refactor state trait
2021-08-31 14:05:04 +08:00
Bowen Tan
bdfe076e65
refactor event trait
2021-08-31 14:03:58 +08:00
Bowen Tan
88b1aad48e
complete validation trait with new trait
2021-08-31 14:01:32 +08:00
Bowen Tan
f50d201b0d
refactor hidden
2021-08-31 14:01:32 +08:00
Bowen Tan
ba37d56b45
input support style property
2021-08-31 14:01:28 +08:00
Bowen Tan
e9ba677dc4
refactor trait implementation
2021-08-31 14:01:04 +08:00
Bowen Tan
983d97715a
format all code
2021-08-31 11:18:11 +08:00
Sczlog
5eeac0bcca
replace route trait by slot trait
...
1. replace route trait by slot trait
2. update example
2021-08-25 10:57:19 +08:00
Sczlog
6acd38906b
refactor router component
...
1. refactor most of the component from wouter.
2. add support for route parameter
3. add support for strict and exact matching
4. modify the createRouter function of wouter to remove the top level RouterProvider
5. move matcher to route level not the top level
2021-08-24 16:34:11 +08:00
Sczlog
5bfc886b31
misc update on router
...
1. update example page's title
2. pass params to ImplWrapper(currently not pass it to the component, need discussion on it)
2021-08-23 15:32:09 +08:00
Sczlog
619e86e526
implement nested hash router
2021-08-23 15:32:09 +08:00
Sczlog
c993c0eb86
hash router
...
1. update example with hash router
(not work good with nested hash router)
2021-08-23 15:31:55 +08:00
Sczlog
575e999785
implement nested router
2021-08-12 18:44:49 +08:00
Sczlog
61b9e897c6
fix redirect and implement default
...
1. fix redirect
2. implement default route
2021-08-12 16:29:03 +08:00
Sczlog
197f043a52
implement router function
...
1. router component
2. route trait
2021-08-12 15:33:18 +08:00
Yanzhen Yu
a7a863930c
define UI API service, related to #9
...
Implemented the API service feature on top of event emitter with
a concise protocol.
The protocol will use JSON as message format and only have one
type 'uiMethod' at this moment.
2021-08-11 17:13:58 +08:00
Yanzhen Yu
a0f89c7f87
fix legacy useExpression
2021-08-11 16:04:04 +08:00
Yanzhen Yu
f8898c39ce
experimental editor component
2021-08-11 13:33:20 +08:00
yz-yu
c386460c1b
Merge pull request #33 from webzard-io/runtime
...
impl expression evalutaion v2
2021-08-10 16:51:49 +08:00
Yanzhen Yu
d976e2d526
migrate components and traits to v2 eval
2021-08-10 15:48:12 +08:00
Yanzhen Yu
e790ab1604
impl expression evalutaion v2 #30
...
Use @vue/reactivity lib to implement a runtime proxy-based state
store.
With the new state store, we can get rid of the limitations React
hook. As a result, we can do the evalutaion of props in the
<ImplWrapper> component.
2021-08-10 15:42:29 +08:00
chenenpei
794ff2e7da
implement chakra ui stack #5
2021-08-09 18:29:03 +08:00
chenenpei
0b8bdbb9aa
implement chakra checkbox #5
2021-08-09 17:18:50 +08:00
Shengjie Yang
56763dfa7f
impl number input component
2021-08-04 13:54:20 +08:00
Yanzhen Yu
8532338706
check component target slot
...
only wrap a div to the component when the target slot is a grid
layout container
2021-08-03 17:41:30 +08:00
Yanzhen Yu
cbe3d0234e
impl keyboard component
2021-08-03 17:40:50 +08:00
Yanzhen Yu
011ccde187
impl basic grid layout
2021-08-03 16:31:33 +08:00
chenenpei
a72ad31a10
add chakra box component
2021-07-30 14:50:15 +08:00
Shengjie Yang
5d27c6d85a
add initial chakra input component
2021-07-29 18:10:40 +08:00
Yanzhen Yu
4cb14215d3
add uesExpression in table component #5
2021-07-29 11:29:56 +08:00
Yanzhen Yu
49e71a5dfc
impl static table component #5
2021-07-29 11:15:20 +08:00
Yanzhen Yu
6be1af76dc
add dayjs to eval context
2021-07-29 11:11:31 +08:00
Sczlog
46960fd4e5
remove wrong files
2021-07-29 11:00:30 +08:00
yz-yu
381346aa8a
Merge pull request #22 from Sczlog/main
...
initialize fetch trait
2021-07-28 22:32:20 +08:00
Sczlog
e50836300a
update fetch trait.
...
1. only subscribe non lazy fetch trigger action
2. update trigger function name
2021-07-28 18:14:17 +08:00
Sczlog
2aa537e458
initialize fetch trait
...
1. first version of fetch trait.
2. example of lazy and non-lazy.
2021-07-28 17:33:16 +08:00
Sczlog
d0db026a6f
fetch trait init
2021-07-27 21:27:51 +08:00
Yanzhen Yu
0776e944b4
add chakra-ui root component
2021-07-27 11:35:35 +08:00
Yanzhen Yu
0f7825613a
close #18 impl hidden trait
2021-07-27 10:44:29 +08:00
Yanzhen Yu
617784bdf2
let trait return a HOC as the wrapper of the component
2021-07-27 10:43:46 +08:00
Yanzhen Yu
010a70f5f3
rename traits
2021-07-27 10:43:12 +08:00
Yanzhen Yu
5850de1b33
impl slot trait
...
To implement slot trait, we do the following changes
1. Nestable components should embed <Slot /> inside itself.
2. Attachable components should use the slot trait to indicate which container they will be attached to.
During app render, we will resolve the nested relation by traversing the components spec. This process will return top-level components and a resolved slots tree.
Top-level components will be rendered directly. The resolved slots tree will be passed into every <Slot />, so the embed <Slot /> can render which has been attached to itself.
2021-07-26 16:30:36 +08:00
Yanzhen Yu
df84613296
refactor expression eval
2021-07-26 16:30:16 +08:00
Yanzhen Yu
7db050d812
impl #5 add chakra UI tabs component
2021-07-26 14:57:53 +08:00
Yanzhen Yu
cad320dd1b
use JSONSchema7 instead of JSONSchema4
2021-07-26 14:43:47 +08:00
Yanzhen Yu
96e409f1dc
close #6 Use typebox to build JSON schema
2021-07-26 13:40:07 +08:00
Yanzhen Yu
aaa8caa998
add chakra-ui button component
2021-07-18 23:07:44 +08:00
Yanzhen Yu
6cf4619168
trait: trait framework, state trait, event trait
2021-07-18 23:07:24 +08:00
Yanzhen Yu
a7cb7176e2
impl basic component method
2021-07-07 15:01:07 +08:00
Yanzhen Yu
450ea057aa
do not subscribe to store when expression is static
2021-07-07 13:45:34 +08:00
Yanzhen Yu
26a32c6269
impl basic state management with zustand
2021-07-05 18:33:36 +08:00
Yanzhen Yu
07f7a9a8fa
impl plain button, text and app
2021-07-05 14:49:45 +08:00
Yanzhen Yu
2fc08d5687
init runtime with playground
2021-07-02 18:23:20 +08:00
Yanzhen Yu
0a4199bde8
impl spec types and basic runtime
2021-07-02 16:55:22 +08:00
Yanzhen Yu
cd8014c4eb
init core package
2021-07-02 16:06:02 +08:00