diff --git a/Makefile b/Makefile index 42de08e8..d8a84629 100644 --- a/Makefile +++ b/Makefile @@ -130,7 +130,8 @@ bindata: cp -r ui .tmp/data/public cp -r xgen .tmp/data/ cp -r yao .tmp/data/ - cp -r builder .tmp/data/ + cp -r sui/libsui .tmp/data/ + find .tmp/data -name ".DS_Store" -type f -delete go-bindata -fs -pkg data -o data/bindata.go -prefix ".tmp/data/" .tmp/data/... rm -rf .tmp/data rm -rf .tmp/yao-init diff --git a/builder/foo.js b/builder/foo.js deleted file mode 100644 index 3ed681fc..00000000 --- a/builder/foo.js +++ /dev/null @@ -1,3 +0,0 @@ -function foo() { - return "foo"; -} diff --git a/builder/index.html b/builder/index.html deleted file mode 100644 index 91f3399e..00000000 --- a/builder/index.html +++ /dev/null @@ -1 +0,0 @@ -
Yao Builder
diff --git a/data/bindata.go b/data/bindata.go index 633d7434..6dea1426 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -1,7 +1,5 @@ // Code generated for package data by go-bindata DO NOT EDIT. (@generated) // sources: -// .tmp/data/builder/foo.js -// .tmp/data/builder/index.html // .tmp/data/init/README.md // .tmp/data/init/aigcs/translate.ai.yml // .tmp/data/init/apis/aigc.http.yao @@ -35,6 +33,8 @@ // .tmp/data/init/studio/hello.js // .tmp/data/init/tables/admin/user.tab.yao // .tmp/data/init/tables/demo/pet.tab.yao +// .tmp/data/libsui/index.ts +// .tmp/data/libsui/utils.ts // .tmp/data/public/index.html // .tmp/data/ui/index.html // .tmp/data/xgen/setup/index.html @@ -221,46 +221,6 @@ func AssetFile() http.FileSystem { return &assetOperator{} } -var _builderFooJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4a\x2b\xcd\x4b\x2e\xc9\xcc\xcf\x53\x48\xcb\xcf\xd7\xd0\x54\xa8\xe6\x52\x50\x28\x4a\x2d\x29\x2d\xca\x53\x50\x4a\xcb\xcf\x57\xb2\xe6\xaa\xe5\x02\x04\x00\x00\xff\xff\x46\x27\x32\xed\x23\x00\x00\x00") - -func builderFooJsBytes() ([]byte, error) { - return bindataRead( - _builderFooJs, - "builder/foo.js", - ) -} - -func builderFooJs() (*asset, error) { - bytes, err := builderFooJsBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "builder/foo.js", size: 35, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _builderIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb2\x49\xc9\x2c\xb3\x8b\x4c\xcc\x57\x70\x2a\xcd\xcc\x49\x49\x2d\xb2\xd1\x07\x09\x70\x01\x02\x00\x00\xff\xff\x9f\xc2\x84\x71\x17\x00\x00\x00") - -func builderIndexHtmlBytes() ([]byte, error) { - return bindataRead( - _builderIndexHtml, - "builder/index.html", - ) -} - -func builderIndexHtml() (*asset, error) { - bytes, err := builderIndexHtmlBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "builder/index.html", size: 23, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - var _initReadmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x96\xef\x6f\xdb\x44\x18\xc7\xdf\xdf\x5f\x71\x72\xdf\x80\x98\x93\x75\x63\x8d\x36\xc9\x12\x86\x98\x62\xb6\xd9\x55\x1c\x2a\x22\x84\x72\x69\x62\x5a\xab\x69\xec\xce\xe9\xd4\x21\xbf\x28\x43\xac\x68\xa8\x4d\x26\x4a\x16\x58\x87\x96\xfd\x00\x23\x68\x5d\xa4\x0a\x46\x5a\x91\x3f\x86\x9c\xed\xfc\x17\xe8\xce\x4e\x62\x93\xa4\xa4\xbd\xbc\x70\x72\xcf\x3d\xf7\x79\x9e\xbb\xe7\xfb\xc4\x33\x30\xc7\xcb\x10\xb7\xf7\xbc\x3d\x1b\x00\xb7\xb1\xed\xb6\x5e\xdc\x80\x9f\xac\x54\xab\x86\x79\x23\x99\xbc\x57\xd0\x0b\x86\x61\x26\x8a\xfa\x5a\xb2\xa4\x17\x3f\x7d\x63\x82\xe1\x4d\x00\x66\x66\x60\xef\xa4\xe9\x1f\xbe\xf4\x0e\x5b\x5e\xfd\x01\x7e\xd4\xf4\x8f\x7f\xc2\xb5\x3f\x01\xb0\x20\x1d\xe1\x23\x3a\x2c\x60\x41\x96\x65\x59\x18\x3c\xa2\x83\xda\x82\x1d\xa0\x05\xd1\xa6\x56\xa8\x2c\xbf\xa3\xad\xaf\x16\x08\x12\x51\x2b\x76\x1e\x78\xcf\xbe\x20\x56\x7e\xf6\xca\xd5\xb7\xaf\xcd\x19\x6f\xa1\xfe\xbe\x24\x1c\x6f\xd7\xc1\xcf\xbf\xc4\xb5\x66\x6f\xbb\x46\xa2\x08\xbe\xe1\xfa\x8e\xf7\xf3\x51\x24\x06\xe8\x3b\xc7\x6e\x73\x77\x34\xba\x73\x0c\x0b\x7a\x2f\xdb\xdd\xbf\xbf\x19\x6f\x04\xa3\xe9\x8d\x4b\xf9\xbc\xe3\x8c\x2d\x28\x33\xc7\xcb\x79\x41\x5a\x8c\x85\xe9\xee\xef\xe0\x87\x2d\xd7\x6e\xe1\xd3\x1a\x44\x25\xf5\xae\x5a\xd6\x8d\x35\xb5\x52\x45\xd0\xfd\xba\x01\x91\x71\x47\x2f\x6d\x14\xab\x9a\x5e\x41\x67\xa6\x1b\x77\xfd\x4f\xb2\x04\xfc\x81\xac\x64\x47\xc1\xde\x93\x47\xb8\xfe\x1b\xde\x3f\xc2\x4f\xb7\x20\xba\x9c\xa0\x9f\xb3\x48\x63\xc8\xb3\x57\x52\xd4\x6f\x16\x8d\x1e\x33\x21\x2f\xc8\x99\x89\x64\xef\x57\x07\xd7\x5e\x04\x75\xda\x7d\xdd\x86\xe8\xda\xe5\xeb\xd7\xa7\xe6\x5b\x64\xfd\xdc\xdc\xb8\xf5\x7d\x78\xfa\xdd\x7c\x3a\x23\x2e\x0a\x99\x3e\xfc\xbb\x23\x77\xe7\x10\xb7\xbf\xed\xfd\xf2\x3b\x7e\x68\x43\x64\xae\x97\xb5\xaa\x7a\x35\x3c\xee\xb5\x7b\xe6\x7a\x79\x0a\xbe\x15\x71\x9c\x4c\x5e\xc8\x88\xb7\xf9\x4c\x2e\x4a\x76\x1b\xdb\xdd\x93\x3f\xfc\xce\x76\xc8\x4f\x2b\xd2\xb4\xd9\x0e\xd1\xc9\x82\x61\x24\x4b\x4b\x44\xf4\x89\xd2\x12\x1a\x41\xdf\xe2\xa5\xf9\xa8\x83\xef\x1c\xf8\xf6\x16\x44\x6a\x85\xdd\x30\xd1\x25\xf4\xf9\x0a\x5b\x5c\x39\xcf\x2d\x53\x2a\xf1\x1a\x57\x85\x03\xaa\x3c\x1f\x73\x70\x1f\xbf\xc2\x9d\xc7\x41\xc2\x61\x85\x5d\x64\x58\x10\x25\x92\x65\x7d\xd9\x24\x59\x97\xb5\x62\x81\x88\x21\x51\xd6\x97\x51\x94\x9c\xbf\x2d\xa7\x85\x71\x64\xf7\xd9\x29\x95\x56\x56\xf8\x38\x1b\x5e\xf2\x87\x8a\x2c\x4d\x95\xbd\x35\x79\x6d\x1f\xad\x08\x8a\x22\xca\x52\x5e\xc9\xca\x19\x01\x5a\xb0\x7b\xfa\x83\xef\x3c\xc5\x07\x4d\x7c\xdf\x76\x1b\x7f\x51\xf4\x67\x5a\x59\x45\x94\x7c\x47\x2d\x69\xe6\xb4\x68\xea\x36\x05\xfa\x7d\xf1\x96\x00\x07\xe8\xd8\x79\x5f\x14\xdd\x2f\xb0\x84\xa9\x9a\x66\xa4\xf7\x0c\xd0\xd9\x8f\xd2\xe2\x40\xd9\x16\x54\xaa\x1b\x25\x4d\x87\xfc\x82\xd8\x57\xf7\xa8\xae\x53\xa9\xff\xa7\x5b\x93\x17\x12\xb4\xbc\x20\x48\xbc\x98\xbf\x29\xe4\x86\x0e\xc1\x1c\x45\xdf\x14\x72\x97\x20\xae\x39\x78\xdf\xf6\x3b\x3f\xba\xbb\xaf\xf0\xf7\x76\xf7\xf5\x81\xfb\xe4\xd8\xdd\x79\x3e\xf8\xb3\xf9\x67\xeb\x3e\xc4\x75\xc7\xdb\xb3\xa1\xa4\xea\xb4\x22\x78\x71\xfe\x3d\x88\x3b\x5f\xf5\x5a\x27\xc4\x4a\xc4\xbd\xca\x6e\x6e\x6e\x8e\xc6\x61\x01\x80\x12\x6a\xe5\x2e\x82\xc1\x39\x03\x80\x10\x5a\x2a\x98\x2b\x20\xd6\x6c\x38\x26\xec\x0e\x0c\x88\xb7\x02\x8e\x89\x6b\x37\xb0\x0b\xd2\x22\xc7\x44\x1a\x78\x30\x4b\x3a\x36\xc7\x84\x3d\x39\x98\x22\xc2\xe6\x18\x2a\xc4\x70\x42\x9e\xe7\x98\xf1\xf2\x18\x2c\xa0\xd2\xe0\x18\x22\x80\x60\x8e\x5c\x1b\xc7\x90\x4e\x1b\xfc\x8e\x16\xd2\x30\xc0\xfe\xdd\xc7\xd7\xd0\x3a\xe7\x18\x52\x57\xa1\x61\x58\x0a\x64\xcf\x54\x8a\x01\xc3\x6b\xe2\x18\x73\x95\x0d\xde\x05\x18\x72\x52\xe0\xdf\x00\x00\x00\xff\xff\x0f\x94\x4b\x64\xdf\x08\x00\x00") func initReadmeMdBytes() ([]byte, error) { @@ -276,7 +236,7 @@ func initReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/README.md", size: 2271, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/README.md", size: 2271, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -296,7 +256,7 @@ func initAigcsTranslateAiYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/aigcs/translate.ai.yml", size: 388, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/aigcs/translate.ai.yml", size: 388, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -316,7 +276,7 @@ func initApisAigcHttpYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/apis/aigc.http.yao", size: 564, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/apis/aigc.http.yao", size: 564, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -336,7 +296,7 @@ func initAppYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/app.yao", size: 603, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/app.yao", size: 603, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -356,7 +316,7 @@ func initChartsPetChartYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/charts/pet.chart.yao", size: 8250, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/charts/pet.chart.yao", size: 8250, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -376,7 +336,7 @@ func initConnectorsOpenaiGpt3_5TurboConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/gpt-3_5-turbo.conn.yao", size: 177, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/connectors/openai/gpt-3_5-turbo.conn.yao", size: 177, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -396,7 +356,7 @@ func initConnectorsOpenaiTextEmbeddingAda002ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/text-embedding-ada-002.conn.yao", size: 189, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/connectors/openai/text-embedding-ada-002.conn.yao", size: 189, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -416,7 +376,7 @@ func initConnectorsOpenaiWhisper1ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/whisper-1.conn.yao", size: 163, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/connectors/openai/whisper-1.conn.yao", size: 163, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -436,7 +396,7 @@ func initDashboardsKanbanDashYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/dashboards/kanban.dash.yao", size: 2222, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/dashboards/kanban.dash.yao", size: 2222, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -456,7 +416,7 @@ func initFlowsAppMenuFlowYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/flows/app/menu.flow.yao", size: 1832, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/flows/app/menu.flow.yao", size: 1832, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -476,7 +436,7 @@ func initFlowsStatDataFlowYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/flows/stat/data.flow.yao", size: 1817, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/flows/stat/data.flow.yao", size: 1817, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -496,7 +456,7 @@ func initFormsAdminUserFormYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/forms/admin/user.form.yao", size: 97, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/forms/admin/user.form.yao", size: 97, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -516,7 +476,7 @@ func initFormsDemoPetFormYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/forms/demo/pet.form.yao", size: 6755, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/forms/demo/pet.form.yao", size: 6755, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -536,7 +496,7 @@ func initIconsAppIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -556,7 +516,7 @@ func initIconsAppIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -576,7 +536,7 @@ func initIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -596,7 +556,7 @@ func initLangsZhCnGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/langs/zh-cn/global.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/langs/zh-cn/global.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -616,7 +576,7 @@ func initLangsZhHkGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/langs/zh-hk/global.yml", size: 88, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/langs/zh-hk/global.yml", size: 88, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -636,7 +596,7 @@ func initLoginsAdminLoginYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 278, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 278, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -656,7 +616,7 @@ func initLoginsUserLoginYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logins/user.login.yao", size: 278, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/logins/user.login.yao", size: 278, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -676,7 +636,7 @@ func initModelsAdminUserModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 8052, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 8052, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -696,7 +656,7 @@ func initModelsPetModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/pet.mod.yao", size: 1700, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/models/pet.mod.yao", size: 1700, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -716,7 +676,7 @@ func initNeoNeoYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/neo/neo.yml", size: 545, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/neo/neo.yml", size: 545, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -736,7 +696,7 @@ func initPublicDemoPetHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/demo/pet.html", size: 1376, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/public/demo/pet.html", size: 1376, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -756,7 +716,7 @@ func initPublicIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/index.html", size: 1404, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/public/index.html", size: 1404, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -776,7 +736,7 @@ func initScriptsDashJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/dash.js", size: 127, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/scripts/dash.js", size: 127, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -796,7 +756,7 @@ func initScriptsGuardJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/guard.js", size: 373, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/scripts/guard.js", size: 373, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -816,7 +776,7 @@ func initScriptsSetupJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/setup.js", size: 888, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/scripts/setup.js", size: 888, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -836,7 +796,7 @@ func initScriptsStatJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/stat.js", size: 1305, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/scripts/stat.js", size: 1305, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -856,7 +816,7 @@ func initServicesFooJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/services/foo.js", size: 122, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/services/foo.js", size: 122, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -876,7 +836,7 @@ func initStudioHelloJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/studio/hello.js", size: 101, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/studio/hello.js", size: 101, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -896,7 +856,7 @@ func initTablesAdminUserTabYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tables/admin/user.tab.yao", size: 119, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/tables/admin/user.tab.yao", size: 119, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -916,7 +876,47 @@ func initTablesDemoPetTabYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tables/demo/pet.tab.yao", size: 7111, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "init/tables/demo/pet.tab.yao", size: 7111, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _libsuiIndexTs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x58\x6d\x8f\xda\x46\x10\xfe\xce\xaf\x98\xb3\x22\xe4\x53\x1c\xd2\xcf\xa6\x56\x14\x35\xa7\xa4\x6d\xda\x54\xa2\x55\x3f\x9c\x4e\x64\x63\x06\x70\x30\x6b\xba\xbb\x3e\x84\x0e\xfe\x7b\x35\xfb\x6e\x63\xb8\x2a\x0d\x52\xc0\xb1\x67\x9e\x79\x7b\x66\x76\x7c\xcb\x96\x97\xaa\x6a\x38\xbc\x78\x91\x4a\xac\xb1\x54\x8d\xb8\x85\xa7\x11\x40\x8d\x0a\xb0\xde\xe6\xf0\xe1\xcf\xdf\x3e\xde\xd5\xb8\x45\xae\xe0\x08\xbc\xad\x6b\x28\xf4\xcf\x74\x04\x50\x2d\x21\x55\x87\x1d\x36\x4b\x70\xea\x50\x14\x05\x24\x52\x89\x8a\xaf\x12\x83\x05\x84\x04\x05\x2c\x9a\xb2\x25\x9c\xc9\x3f\x2d\x8a\xc3\xcc\x2a\x04\xc3\x84\x78\x1a\x59\x58\x8f\x57\x71\xa9\x18\x2f\xc9\x46\xe4\x4b\x17\xd9\x09\x77\x10\xb0\xde\x3a\xa9\xb2\xe1\x52\x41\xc9\xa1\x20\x85\xc9\x0a\xd5\x5b\xa5\x44\xf5\xa5\x55\x98\x26\x32\x2f\x79\xa2\x8d\x1b\xbd\x92\xc3\x78\x4c\xc2\x37\x05\x24\x09\x5d\xdb\x10\xf7\x15\x5f\x34\xfb\xfb\x92\x3f\x98\x20\x5d\xf6\x7c\x98\xde\x50\xb3\xdd\x35\x9c\x32\x56\x00\xc7\x7d\xa4\xa8\x9d\x9a\x5a\x61\x81\xaa\x15\x5c\x4b\xcc\xe7\xb2\xad\xe6\x5e\x8f\xc4\xb2\x00\x63\x35\x4e\x23\xf3\xcf\xe9\xe9\x22\x9c\x46\x23\x5f\xc5\x1e\xca\x5c\x34\x8d\x85\xe2\x6c\x8b\xc6\xcb\xfd\xba\xaa\x51\x27\x87\x22\xbb\x94\x0d\xb8\x29\x8a\x48\xc9\xe5\x99\xc4\x77\x4c\x20\x57\xb6\x0c\xd3\xae\x4b\x58\x6f\x87\x3c\x92\x8a\x29\x4c\x43\x38\x1a\x53\xad\x2b\x39\x59\x33\xbe\xa8\x51\x48\x28\x42\xb4\x93\x3d\x53\xe5\x1a\x8e\x47\x78\x3a\x4d\x9d\xe0\x0c\x29\x99\x4c\x1e\x78\x09\x1e\x3d\xdd\xe0\x21\x83\x47\x56\xb7\x98\x81\x62\x62\x85\xaa\x5b\x71\x0b\x0f\x45\xd7\xda\xfd\x06\x0f\x0f\x26\xa7\x46\x8b\x04\xcc\xc5\xf1\x18\x39\x42\xf9\x0b\xbc\x70\x60\x81\x10\x1e\xfe\x2a\x1b\x74\xf4\x9f\xbe\x7c\x85\xc2\x3f\x70\x76\x73\xfb\x9b\xf9\xfb\x52\x35\xbb\x3f\x44\xb3\x63\x2b\x46\x60\x79\x14\xec\x6d\xa4\xee\x00\x26\xb2\x5b\x3c\x32\xf5\x6a\x17\xf4\x93\x0c\x12\x25\x5a\x4c\x3c\xe9\x00\x4e\xce\xda\xc9\xdd\x63\x7b\x56\xf9\x64\xa5\x36\x9f\xce\x6d\xaf\x69\xa2\xa9\xe4\xac\xeb\xa2\xcf\x9d\x37\xf0\xc6\x39\xb7\x7a\xc6\xb9\x5b\x93\x39\xed\xa0\xd7\xce\x61\xc9\x6a\x89\xce\x2a\x65\xfe\xcc\x66\x9c\x0a\x43\x3d\x27\xae\xbb\x9f\x3e\x34\xc0\x0c\x55\x3b\xdc\xa2\x92\x9e\x53\x98\x3e\xb6\x31\xac\xce\x78\x0c\x37\xe6\x72\xb0\x3f\x62\x07\xbc\x15\x2b\x3f\x88\x7e\x8a\xc2\x71\x0a\xd1\x44\xfc\xd2\x2c\x0e\xc4\xbd\xf0\x88\xba\xfb\x5a\x98\xe6\xf7\xf5\x6b\x78\x57\xc9\x9d\x6e\x18\xb5\x46\x53\x34\x28\xd7\x8c\xaf\x10\xca\x56\xaa\x66\x0b\xf8\x48\x90\xaa\x71\xe0\x3e\x19\x9d\xba\x1a\x29\x33\xaf\x7e\xd2\x8a\x77\x74\xc7\x96\x2d\x37\x90\x49\x16\x79\xb4\x40\xc5\xaa\x3a\x87\x27\xd8\xe0\x21\x87\xd0\x8b\x79\xb7\x25\xf3\x5e\xfa\x23\x02\x7a\x6e\xd9\xd4\x2d\x6c\x2c\xc6\xb4\x76\x29\x9e\x7d\x43\xb3\x85\xf8\x24\xc3\xac\xd7\x7d\xfe\x5e\x77\x74\x67\x4c\xb8\x54\x52\xfe\x6f\x68\x98\x1d\x8f\xae\x8b\xfb\x33\x50\xcf\xbe\xa1\x76\xee\xcc\xdd\x50\x05\x93\xbf\x0d\x14\x90\x90\x33\x79\x02\x2f\x29\x19\xd3\xe8\xe1\xe3\xd0\xc1\xb3\xb9\x8d\x45\xbe\xca\x66\xf8\x78\xa2\x07\xaf\x98\x52\xe2\x55\x8c\x1e\xb7\x4e\x18\x51\x24\x1b\xfc\x55\xe2\x70\x46\x20\xf8\x65\xf6\xe9\x77\xa2\xa8\xc4\xf4\xd1\xa7\xff\x04\xa5\xa6\x50\x8a\xe7\x94\x8b\xe2\x75\x11\x9b\x6f\xfb\xf8\x71\x6a\x4a\xe3\x92\xff\xb1\x92\xdd\xec\x77\x47\xb2\xae\x17\x8d\xc2\xd3\xf4\x7b\x15\x44\x43\xba\x8a\x44\xa6\x28\x69\xd2\xe6\x94\x39\x30\x2b\xb8\x6c\x04\xa4\x34\x23\x2a\x28\xe0\x87\x29\x54\xf0\xa3\x91\x9f\xd4\xc8\x57\x6a\x3d\x85\xea\xe5\xcb\xfe\x24\x27\x01\x3a\x85\x48\xee\xbe\x7a\x88\x47\x14\xdd\x9b\xd0\x81\x39\x91\x8a\x09\x25\xff\xae\xd4\x3a\xb5\x7c\xe8\x4c\x8b\xc0\x96\xa0\x22\x70\x57\xb3\x12\x9d\x7c\x06\x49\x3c\xaf\xbf\x81\x1f\xe7\xec\x18\x66\xc8\x39\x4b\x74\x33\x52\x3e\xef\x37\x0f\x50\xc4\x6c\xd1\xee\xea\xc6\x8e\x7c\xbb\x44\x9d\x1e\x4c\x4c\xa1\x78\x7c\xd9\xf0\x54\xc5\x5b\x8c\x0e\xa8\xd1\x00\x44\x30\x7f\x85\x8b\x9e\x09\x83\xa3\xe2\xe2\x7a\x15\x26\x87\x9e\x4f\x85\xd9\x63\xec\x2d\xa9\x1a\x81\x76\x30\xba\x75\xa6\x11\xe8\x37\x39\x2d\xe4\x58\x1d\x84\xc2\x5c\x8a\x90\x68\x38\x47\xa7\x11\xbc\xe9\xa0\xf6\x96\xa4\x5c\xf7\xc8\x79\x18\x7a\x2c\xce\xdd\x69\xad\xff\x97\xc1\x82\x29\xf6\x2b\x1e\x64\xa6\x89\x62\xae\xec\x6e\x01\x14\x54\xe6\x8e\x77\x13\xac\xe1\x14\x29\xf9\x56\x1c\xd8\x84\x3a\x6b\x7e\x67\xbd\x72\xe6\x26\xcb\x46\xdc\xb1\x72\x9d\x0e\x0e\x5b\x3f\xfe\xa8\x6c\x1e\xb9\xc7\x5f\x82\xf2\x53\xcd\xd5\x96\x6e\xea\x2d\x0d\x0a\x88\x8a\xee\x0e\x0c\x17\xe3\x77\x30\x4f\x50\x57\xcd\xc7\xdc\xa5\x44\x18\xb4\xf1\xd8\xc2\xea\x97\x84\x98\xfa\xfd\x7e\x8a\xb1\xe2\xe1\xdb\xeb\xa4\x4b\x7d\x64\x42\xd8\xa2\x94\x6c\x45\x41\xe0\xc4\x5d\x1f\x8f\xa0\xbf\x92\xb7\x1c\x50\x88\x46\x40\x53\x96\xad\x10\xb8\x48\xa6\x3d\x80\xa6\xc6\x89\x16\x49\x3f\xdf\xcf\xfe\xfa\xf9\x01\xf4\x01\x0b\x1f\xec\xfe\x7a\x47\x8f\x72\x78\xf1\x64\xa1\x4f\xf0\xd9\xef\xd3\xe7\x6d\x79\x8a\x4a\x41\xd7\x61\x2f\xd6\x0f\x06\x88\x19\xb6\x06\xa2\xa2\xdd\x8c\x72\xc3\x4b\x77\x56\x69\x6b\xfe\x51\xbc\x16\x93\xa5\xa1\x77\x0a\xd7\x84\x1a\xdc\xbf\x9f\x50\x46\x3a\x6b\x55\x38\x99\xae\xac\x05\xe1\xfd\xe5\x39\x76\x46\x27\xdd\xec\x1c\xcf\x6e\x40\xd1\x5b\x53\x6f\x43\x8f\xf1\x9c\x70\x0f\xf6\x3d\x2a\xe2\xc9\x25\x57\xbb\x9c\x1e\x3e\x0f\x7a\x84\x7e\x9e\xb6\x5d\xd2\x1a\x13\x02\xe5\x75\xca\xda\xa4\x09\x77\xa6\x5e\x22\xf1\xff\xa4\xf0\xb7\x10\xf8\x73\x06\xf1\x9b\xf6\x7f\xdd\x65\xdc\xe3\x6e\x91\x87\xaa\xf1\x6c\xa1\xe3\x32\x64\x26\x8b\xe6\x8f\x22\xd5\xf2\x60\x33\x39\x50\xf8\x77\x66\x22\x9f\x2f\x4f\xd6\xc1\x98\x20\x69\x32\x8f\xde\xf5\x89\x58\xc9\x6d\x78\x6b\xd6\x47\xc7\xbf\x01\x00\x00\xff\xff\xb8\x2c\x06\x9c\xe0\x11\x00\x00") + +func libsuiIndexTsBytes() ([]byte, error) { + return bindataRead( + _libsuiIndexTs, + "libsui/index.ts", + ) +} + +func libsuiIndexTs() (*asset, error) { + bytes, err := libsuiIndexTsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "libsui/index.ts", size: 4576, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _libsuiUtilsTs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x91\xbf\x6a\x33\x31\x10\xc4\xfb\x7b\x8a\x41\x7c\x85\x0c\x46\xee\x6d\xf4\x05\x13\xd2\x85\x14\x71\x19\x07\x23\x74\x6b\x47\xa0\x93\x9c\x95\xee\x82\x09\x7e\xf7\x70\x3a\xf9\x4f\x99\x3e\xcd\xe9\xd0\xee\xce\xec\xfc\x64\x63\x48\x19\xff\xfa\xec\x7c\x82\xc6\x77\x03\x6c\x72\x64\x5a\x42\x92\xef\x66\xd0\xff\xcb\x1d\xe0\xf6\x90\xf9\x74\xa4\xb8\x07\xf9\x0e\x5a\x6b\x88\x94\xd9\x85\x83\x98\xd5\x16\x4c\x15\xb4\xd1\xf6\x1d\x85\xac\x3e\x7b\xe2\xd3\x86\x3c\xd9\x1c\xb9\xe8\xad\x4a\xe3\xb9\x7c\x99\x72\xcf\x01\x81\xbe\xb0\xdb\xa5\xde\xed\xd2\x68\x7c\x6d\x3b\xcf\x9b\x06\x78\xa5\x2e\x0e\xf4\xe8\x4d\x4a\x65\x25\x1a\x85\xe7\xb0\xe3\xc5\x8b\xe9\xe8\x6e\xc3\x29\x4a\xa9\xd0\x98\x65\xcd\x6c\x4e\xca\xa5\x72\xca\xbb\x89\x87\xdb\x38\x96\xb7\x7f\x95\x8e\xde\x65\x29\x20\xea\x9a\x55\x4a\xed\x23\x3f\x19\xfb\x21\xa5\xbd\x73\xbb\xf8\x0d\xd0\xb0\x8a\xe9\xe8\x8d\x25\xb9\x78\xdb\x86\x2d\x6f\xd3\xfb\xe2\x30\x87\xb8\x08\x4d\xf4\x86\x09\x9a\x98\xd5\xe4\xab\x2b\xb4\x12\x4a\x15\xbb\x67\x97\xb2\xe2\x12\x5a\x0e\x17\x5c\xf5\xac\xc0\xa6\xc7\xba\x21\x5a\xb7\xed\x1f\xe3\x63\xda\xf6\x57\x70\xce\xab\xe6\x27\x00\x00\xff\xff\x1a\x7b\xdc\x1a\xe0\x02\x00\x00") + +func libsuiUtilsTsBytes() ([]byte, error) { + return bindataRead( + _libsuiUtilsTs, + "libsui/utils.ts", + ) +} + +func libsuiUtilsTs() (*asset, error) { + bytes, err := libsuiUtilsTsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "libsui/utils.ts", size: 736, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -936,7 +936,7 @@ func publicIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -956,7 +956,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -976,7 +976,7 @@ func xgenSetupIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xgen/setup/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "xgen/setup/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -996,7 +996,7 @@ func xgenV09IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xgen/v0.9/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "xgen/v0.9/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1016,7 +1016,7 @@ func xgenV10IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xgen/v1.0/index.html", size: 50, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "xgen/v1.0/index.html", size: 50, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1036,7 +1036,7 @@ func xgenV10Layouts__indexAsyncJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xgen/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "xgen/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1056,7 +1056,7 @@ func xgenV10UmiJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xgen/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "xgen/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1076,7 +1076,7 @@ func yaoApisImportHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/apis/import.http.json", size: 1696, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/apis/import.http.json", size: 1696, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1096,7 +1096,7 @@ func yaoApisStorageHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/apis/storage.http.json", size: 1046, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/apis/storage.http.json", size: 1046, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1116,7 +1116,7 @@ func yaoDataIcons404Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1136,7 +1136,7 @@ func yaoDataIconsIconIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1156,7 +1156,7 @@ func yaoDataIconsIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1176,7 +1176,7 @@ func yaoDataIconsIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1196,12 +1196,12 @@ func yaoDataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _yaoFieldsModelTransJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\x4f\x6f\xdb\x36\x14\xbf\xfb\x53\x10\x5c\x0e\x1b\xe0\x1a\xc5\x0e\x3b\xf8\xd6\xd6\xc9\x9a\x61\x6d\x87\xda\x18\x10\x0c\x3b\xd0\xe2\x8b\xcd\x85\x7f\x34\x91\x8a\x9b\xba\xfa\xee\x03\x29\xc9\x12\x15\x29\x71\x16\xc7\x96\x5d\xf6\xd0\x8a\xef\x3d\x3e\x92\x3f\xf2\xf7\x48\x9a\xaf\xeb\x01\x42\xf8\x96\x24\x8c\xcc\x39\x68\x3c\x46\x56\x80\x10\x8e\x14\x57\x89\x2d\x22\x1c\x27\x4c\x90\xe4\x0e\x8f\x11\xfe\xe1\xe2\xe2\xfc\xfc\xf5\x6b\x8c\xb2\x01\x42\xd9\x70\x60\x2b\x13\xce\x88\xae\x57\xd5\x26\x61\x72\x61\xcd\x29\x5c\x93\x94\x1b\x3c\x2c\x7c\x2e\x49\xd2\x22\x16\x40\x59\x2a\x66\xf0\xc5\x58\xa5\xb1\xff\x16\x1a\xae\xe4\xa2\x4d\x3e\x67\xb2\xe8\x50\x5d\x4a\x89\x01\xc3\x04\xcc\xbe\xba\x46\x8a\x52\xa9\xad\x34\x4d\xa9\x36\x44\xc4\x95\xca\x15\x2b\xbd\xbc\xbb\x94\x06\x16\xe0\x7a\xce\x8a\x4f\x4f\x1b\x25\x20\x40\x1a\xdd\x62\x90\x4a\xcd\x16\x12\xe8\xec\x41\x37\x5a\x10\xce\x1f\x55\x3f\xd0\xcc\x9c\x2d\xba\xab\x3b\xe5\x16\x7d\x7c\xeb\x39\x29\xa5\x97\xed\xc6\xd3\x46\x97\x3b\xcc\x2f\x27\xae\x41\x5a\x96\x99\xdf\x91\x8d\x9c\x42\xc4\x04\xe1\x56\x78\xcd\x15\xa9\xa6\x54\xa5\x73\x0e\xf7\xc4\x65\x6b\x93\xaa\x5a\x29\xba\x68\xb5\xdb\xb8\x69\x35\xfb\x6d\xfa\xe9\xa3\x55\xfe\xa3\x95\x2c\x65\xf6\x7b\xde\x14\x5a\xc3\xb7\x4d\x61\x9a\x32\xda\xb2\xaa\x59\xfc\x86\xd2\x04\xb4\x6e\x5b\xf1\x24\x6a\x51\x56\x94\xba\x66\xc0\x69\x8d\x51\xa5\x45\x29\x70\x26\xdc\x38\xe8\x4b\x09\x42\xf8\x06\x1c\x27\xce\xd6\x9c\xcc\x81\xa3\x6f\xdf\x50\xa4\x84\x45\xdb\x7e\x4a\x22\x20\x2b\x3a\x50\x92\xc8\xf5\x7b\xb5\x84\x04\x46\x67\x6b\x67\x30\x12\xc4\x44\xcb\xba\x19\x50\x66\xbc\x66\xec\xba\xbf\x8b\x1d\x9a\x97\x32\x4e\x4d\xcd\x18\xd9\x60\xa1\x62\x5d\xc4\x0d\x4e\x22\x58\x2a\x4e\xf3\x25\x72\xf6\xfb\x8f\x31\x07\xa2\x01\x31\x5b\xed\x27\x74\xbf\x9f\x59\x1e\x58\xf2\x3f\xe5\x57\x36\xdc\x8c\x59\x25\x62\x17\x23\x2e\xc6\x5a\x57\xdd\x32\x58\x59\xd7\x59\x3f\x47\x6e\x48\xbe\x7e\x5f\x72\xe8\xd5\xe0\x5c\xc8\x1d\xd6\x46\x94\xa1\x7e\xe1\x32\x28\xd0\xc9\xd9\x01\x32\x15\xfb\xa0\x06\xfc\xbb\x2d\x2f\xa6\xc0\x21\xea\x82\xa1\x26\x44\x0f\x40\xa2\x9d\x8f\x76\x4c\x86\xbe\x0f\x15\x1b\xa6\xa4\x8b\x25\x67\xa3\xbc\xed\x4f\x4e\xb4\xce\x35\x19\xae\xd9\x1f\x88\x60\xa7\x08\xd7\x3e\x58\xd9\x86\xd7\x8c\x2c\x7a\x0f\xd6\x69\x4e\xbd\x1f\x78\x4c\x7e\x34\x5d\x1f\x98\x3e\x36\x5c\xbf\x49\x80\x3c\x0f\xc5\x07\x42\x70\x03\x44\x92\x1a\x35\x65\x5f\x21\x8f\xe9\x82\xc9\xcf\x6a\x65\x5b\xfa\x79\x68\x4f\x36\x5f\x8a\xd2\x2f\x35\xfc\x7a\x4a\x23\xa5\xb8\x61\x71\xe7\x6e\x65\x98\xc9\x0f\x8d\x8f\x6d\x4b\xa7\x3d\x4f\x8d\x35\x6f\x2f\x4f\xbd\xda\x6c\x27\xc4\xc0\x1f\x2c\xba\xd9\xdc\x3a\xfe\x27\xb0\x4f\x08\x23\x71\xde\x5c\x79\x97\xec\xf7\xee\x7a\x34\xf8\x1c\xcd\x21\xb7\xef\x88\x0e\x6a\xb8\xe2\x3b\x20\x49\x20\xec\x06\x3e\x07\x47\x20\xec\x4e\xf0\x09\x84\xdd\x11\xa2\x1e\x61\x29\x31\x61\x87\xad\xe0\x73\x70\x04\xc2\xee\x04\x9f\x03\x13\x36\x9f\x20\xe2\x7e\xce\xbf\xba\xba\xba\x7a\xf5\xe1\xc3\xab\xc9\x04\xa3\x23\x21\xf2\x16\x48\xdf\x23\x72\x38\x2e\x23\x84\xf5\x52\xad\x66\x05\x10\xf5\x35\xf0\xfe\xfd\x58\x88\xb1\xd6\x78\xeb\xab\xe2\xf7\x43\xf0\xdd\x61\x76\xb0\xeb\x75\xf5\x34\xd7\x84\xab\x3d\x10\xa0\xb6\xb1\xf5\x38\x32\x3c\x7b\x8a\xbc\x68\x51\x3d\x3d\x86\x70\x11\xc2\x45\x08\x17\x21\x5c\x34\xa7\xa8\x0c\x17\x79\xbc\x60\x9b\xc7\xf7\x1e\xbe\x09\x7f\x4c\xc5\xbc\x13\xda\xe3\x7a\x19\xee\xdd\x58\x7b\x48\xd0\xa7\xf3\x6f\x9f\xc8\x79\xdb\x6c\x33\x51\x25\xd0\x27\xd0\x27\xd0\x67\xfb\x64\x0b\x97\xeb\x14\x28\xd3\x5f\xca\x6c\x79\x70\xd9\xfe\x19\x91\x32\x6d\x29\x63\x7b\x6b\x92\x14\x8e\xf7\x18\xf9\x12\x34\x3b\x2c\xda\x3e\x35\xf3\x14\xc9\xc0\xce\xd3\x66\x67\xe0\xdf\x3e\xf1\xf4\x19\xe6\x67\x0f\x07\xa6\x05\xa6\x05\xa6\xbd\x0c\xd3\xe6\x4a\x71\x20\xb2\x77\x1c\xfb\x4c\x28\x53\xbf\x26\x2a\xed\x4a\x1b\xf3\x61\xaa\xf2\x0d\xff\xf2\x14\xc8\x72\xd1\xf5\xd9\x3a\x1d\x8f\xcf\xa5\x5b\x44\x43\x84\x6f\x09\x4f\xa1\xd8\xfc\xeb\xb3\xd7\x56\x6b\x92\x9f\x15\xea\xd5\xae\x09\xd7\xe0\xfd\x90\x84\xd0\xdf\x5b\x2e\xe4\x03\x51\xf9\x94\x21\x3d\x54\x6c\x98\xae\x98\xbf\xa8\xbb\xf1\x8c\x96\x10\xdd\x00\xfd\xb3\x06\x52\xe3\x48\x9a\xca\x77\xbe\x8d\x43\x64\xd8\xea\xe6\xdd\x92\x71\x9a\x80\xf4\xe7\xa0\xc3\x9f\x6f\x5c\x42\xff\x94\x30\xe1\xfe\x1f\xce\x7e\x32\x70\xab\xf7\xed\x48\x89\x38\x75\x39\x1a\x18\x64\xa4\x28\x93\x8b\x91\xed\xc8\xe8\xdc\x96\x00\x3f\x33\x21\xb4\xd3\xfd\x04\x9c\xfb\x3d\x5d\x44\x4e\x3a\xcb\xf7\xb1\x29\xec\x3a\x3e\xed\x27\x25\xf8\xb4\x56\xc0\xa0\xfc\x3b\x1b\x64\x83\xff\x02\x00\x00\xff\xff\xfb\xb3\xf6\x5c\x6f\x3a\x00\x00") +var _yaoFieldsModelTransJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xcd\x72\xdb\x36\x10\xbe\xeb\x29\x30\xa8\x0f\xed\x8c\xa2\x71\x7b\xe8\x41\xb7\x24\x72\x1a\x77\x9a\xa4\x13\x69\x3a\xe3\xe9\xf4\x00\x11\x6b\x09\x35\x7e\x58\x02\xb4\xe2\x28\x7c\xf7\x0e\x40\x52\x24\x68\xd2\x96\x6b\x59\xa2\x54\xe4\x90\x10\xbb\x8b\xbf\x0f\xfb\x2d\x00\x61\xb3\x1e\x20\x84\x6f\x49\xc2\xc8\x9c\x83\xc6\x63\x64\x05\x08\xe1\x48\x71\x95\xd8\x22\xc2\x71\xc2\x04\x49\xee\xf0\x18\xe1\xef\xde\xbd\xbb\xb8\x38\x3f\xc7\x28\x1b\x20\x94\x0d\x07\xb6\x32\xe1\x8c\xe8\x7a\x55\x6d\x12\x26\x17\xd6\x9c\xc2\x35\x49\xb9\xc1\xc3\xa2\xcd\x25\x49\x5a\xc4\x02\x28\x4b\xc5\x0c\xbe\x18\xab\x34\xf6\xdf\x42\xc3\x95\x5c\xb4\xc9\xe7\x4c\x16\x03\xaa\x4b\x29\x31\x60\x98\x80\xd9\x57\xd7\x49\x51\x2a\xb5\x95\xa6\x29\xd5\x86\x88\xb8\x52\xb9\x62\xa5\x97\x77\x97\xd2\xc0\x02\xdc\xc8\x59\xf1\xe9\x69\xa3\x04\x04\x48\xa3\x5b\x0c\x52\xa9\xd9\x42\x02\x9d\x3d\xd8\x8c\x16\x84\xf3\x47\xd5\x0f\x74\x33\x67\x8b\xee\xea\x4e\xb9\xc5\x18\xdf\x78\x8d\x94\xd2\xcb\x76\xe3\x69\x63\xc8\x1d\xe6\x97\x13\xd7\x21\x2d\xcb\xcc\x1f\xc8\x46\x4e\x21\x62\x82\x70\x2b\xbc\xe6\x8a\x54\x4b\xaa\xd2\x39\x87\x7b\xe2\xb2\xb7\x49\x55\xad\x14\xbd\x6b\xb5\xdb\x34\xd3\x6a\xf6\xeb\xf4\xd3\x47\xab\xfc\x5b\x2b\x59\xca\xec\xf7\xbc\x29\xb4\x86\x6f\x9a\xc2\x34\x65\xb4\xc5\xab\x59\xfc\x9a\xd2\x04\xb4\x6e\xf3\x78\x12\xb5\x28\x2b\x4a\x5d\x33\xe0\xb4\xc6\xa8\xd2\xa2\x14\x38\x13\x6e\x1c\xf4\xa5\x04\x21\x7c\x03\x8e\x13\x67\x6b\x4e\xe6\xc0\xd1\xb7\x6f\x28\x52\xc2\xa2\x6d\x3f\x25\x11\x90\x15\x03\x28\x49\xe4\xc6\xbd\x5a\x42\x02\xa3\xb3\xb5\x33\x18\x09\x62\xa2\x65\xdd\x0c\x28\x33\x5e\x37\xd6\xef\xef\x62\x87\xe6\xa5\x8c\x53\x53\x33\x46\x36\x58\xa8\x58\x17\x71\x83\x93\x08\x96\x8a\xd3\xdc\x45\xce\x7e\xfb\x3e\xe6\x40\x34\x20\x66\xab\xfd\x80\xee\x8f\x33\xcb\x03\x4b\xfe\xa7\xfc\xca\x86\x9b\x39\xab\x44\xec\x62\xc6\xc5\x5c\xeb\xaa\x5b\x06\x2b\xdb\x74\xd6\xcf\x99\x1b\x92\xfb\xef\x4b\x4e\xbd\x9a\x9c\x0b\xb9\xc3\xda\x8c\x32\xd4\x2f\x5c\x06\x05\x3a\x39\x3b\x40\xa6\x62\x1f\xd4\x80\x7f\xb6\xe5\xc5\x14\x38\x44\x5d\x30\xd4\x84\xe8\x01\x48\xb4\x6b\xa3\x1d\x93\xa1\xdf\x86\x8a\x0d\x53\xd2\xc5\x92\xb3\x51\xde\xf7\x27\x27\x5a\xe7\x9a\x0c\xd7\xec\x0f\x44\xb0\x53\x84\x6b\x1f\xac\x6c\xc3\x6b\x46\x16\xbd\x07\xeb\x34\x97\xde\x0f\x3c\x26\x3f\x9a\xae\x0f\x4c\x1f\x1b\xae\x5f\x27\x40\x9e\x87\xe2\x03\x21\xb8\x01\x22\x49\x8d\x9a\xb2\xaf\x90\xc7\x74\xc1\xe4\x67\xb5\xb2\x3d\xfd\x34\xb4\x27\x9b\x2f\x45\xe9\xe7\x1a\x7e\x3d\xa5\x91\x52\xdc\xb0\xb8\x73\xb7\x32\xcc\xe4\x87\xc6\xc7\xb6\xa5\xd3\x5e\xa7\x86\xcf\xdb\xcb\x53\xaf\x36\xdb\x09\x31\xf0\x3b\x8b\x6e\x36\xb7\x8e\xff\x08\xec\x13\xc2\x48\x9c\x77\x57\xde\x25\xfb\xbd\xbb\x1e\x0d\x3e\x47\x73\xc8\xed\x3b\xa2\x83\x1a\xae\xf8\x0e\x48\x12\x08\xbb\x81\xcf\xc1\x11\x08\xbb\x13\x7c\x02\x61\x77\x84\xa8\x47\x58\x4a\x4c\xd8\x61\x2b\xf8\x1c\x1c\x81\xb0\x3b\xc1\xe7\xc0\x84\xcd\x17\x88\xb8\x9f\xf3\xaf\xae\xae\xae\x5e\x7d\xf8\xf0\x6a\x32\xc1\xe8\x48\x88\xbc\x05\xd2\xf7\x88\x1c\x8e\xcb\x08\x61\xbd\x54\xab\x59\x01\x44\xdd\x07\xde\xbf\x1f\x0b\x31\xd6\x1a\x6f\x7d\x55\xfc\xff\x10\x7c\x77\x98\x1d\xec\x7a\x5d\x3d\xcd\x35\xe1\x6a\x0f\x04\xa8\x6d\x6e\x3d\x8e\x0c\xcf\x5e\x22\x2f\x5a\x54\x4f\x8f\x21\x5c\x84\x70\x11\xc2\x45\x08\x17\xcd\x25\x2a\xc3\x45\x1e\x2f\xd8\xe6\xf1\xbd\x87\x6f\xc2\x1f\x53\x31\xef\x84\xf6\xb8\x5e\x86\x7b\x37\xd7\x1e\x12\xf4\xe9\xfc\xdb\x27\x72\xde\x36\xdb\x4c\x54\x09\xf4\x09\xf4\x09\xf4\xd9\x3e\xd9\xc2\xe5\x3a\x05\xca\xf4\x97\x32\x5b\x1e\x5c\xb6\x7f\x46\xa4\x4c\x5b\xca\xd8\xd1\x9a\x24\x85\xe3\x3d\x46\xbe\x04\xcd\x0e\x8b\xb6\x4f\xcd\x3c\x45\x32\xb0\xf3\xb4\xd9\x19\xf8\xb7\x4f\x3c\x7d\x86\xf9\xd9\xc3\x81\x69\x81\x69\x81\x69\x2f\xc3\xb4\xb9\x52\x1c\x88\xec\x1d\xc7\x3e\x13\xca\xd4\x2f\x89\x4a\xbb\xd2\xc6\x7c\x98\xaa\x7c\xc3\x3f\x3d\x05\xb2\x5c\x74\x63\xb6\x8d\x8e\xc7\x17\xd2\x39\xd1\x10\xe1\x5b\xc2\x53\xdb\xd3\x8f\xf5\xa5\x6b\xab\x32\xc9\x0f\x0a\xf5\x3a\xe7\xde\x2f\x48\x08\xfd\xb5\xa5\x07\x1f\x88\xc3\x27\x89\xe5\xa1\xa2\xc1\x74\xc5\x7c\x37\xee\x06\x32\x5a\x42\x74\x03\xf4\x8f\x12\x9d\xc6\x09\x34\x95\x6f\x7d\x83\xf3\x61\x6b\xfd\xb7\x4b\xc6\x69\x02\xd2\x47\xbd\xa3\x2d\xdf\xb8\xc4\xfb\x29\x11\xc1\xfd\x97\x9b\xfd\x24\xdb\x56\x4f\xd9\x91\x12\x71\xea\xd2\x31\x30\xc8\x48\x51\x26\x17\x23\x3b\x90\xd1\x85\x2d\x01\x7e\x66\xee\x67\x67\xf3\x13\x70\xcd\xef\xe9\xce\x71\xd2\x09\xbd\x8f\x2d\x61\xd7\x49\x69\x3f\xd9\xbf\xa7\xe5\x01\x83\xf2\xef\x6c\x90\x0d\xfe\x0d\x00\x00\xff\xff\x0e\xa4\xe8\xa9\x5a\x3a\x00\x00") func yaoFieldsModelTransJsonBytes() ([]byte, error) { return bindataRead( @@ -1216,7 +1216,7 @@ func yaoFieldsModelTransJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14959, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1236,7 +1236,7 @@ func yaoLangsEnUsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1256,7 +1256,7 @@ func yaoLangsZhCnGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1276,7 +1276,7 @@ func yaoLangsZhCnLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1296,7 +1296,7 @@ func yaoLangsZhCnLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1316,7 +1316,7 @@ func yaoLangsZhHkGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1336,7 +1336,7 @@ func yaoLangsZhHkLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1356,7 +1356,7 @@ func yaoLangsZhHkLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1376,7 +1376,7 @@ func yaoReleaseAppYaz() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1702187663, 0)} + info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1722645209, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1433,8 +1433,6 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "builder/foo.js": builderFooJs, - "builder/index.html": builderIndexHtml, "init/README.md": initReadmeMd, "init/aigcs/translate.ai.yml": initAigcsTranslateAiYml, "init/apis/aigc.http.yao": initApisAigcHttpYao, @@ -1468,6 +1466,8 @@ var _bindata = map[string]func() (*asset, error){ "init/studio/hello.js": initStudioHelloJs, "init/tables/admin/user.tab.yao": initTablesAdminUserTabYao, "init/tables/demo/pet.tab.yao": initTablesDemoPetTabYao, + "libsui/index.ts": libsuiIndexTs, + "libsui/utils.ts": libsuiUtilsTs, "public/index.html": publicIndexHtml, "ui/index.html": uiIndexHtml, "xgen/setup/index.html": xgenSetupIndexHtml, @@ -1536,10 +1536,6 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "builder": {nil, map[string]*bintree{ - "foo.js": {builderFooJs, map[string]*bintree{}}, - "index.html": {builderIndexHtml, map[string]*bintree{}}, - }}, "init": {nil, map[string]*bintree{ "README.md": {initReadmeMd, map[string]*bintree{}}, "aigcs": {nil, map[string]*bintree{ @@ -1631,6 +1627,10 @@ var _bintree = &bintree{nil, map[string]*bintree{ }}, }}, }}, + "libsui": {nil, map[string]*bintree{ + "index.ts": {libsuiIndexTs, map[string]*bintree{}}, + "utils.ts": {libsuiUtilsTs, map[string]*bintree{}}, + }}, "public": {nil, map[string]*bintree{ "index.html": {publicIndexHtml, map[string]*bintree{}}, }}, diff --git a/data/data.go b/data/data.go index f6e8597a..e6be82f2 100644 --- a/data/data.go +++ b/data/data.go @@ -46,18 +46,6 @@ func Setup() *assetfs.AssetFS { panic("unreachable") } -// Builder Builder ui -func Builder() *assetfs.AssetFS { - assetInfo := func(path string) (os.FileInfo, error) { - return os.Stat(path) - } - for k := range _bintree.Children { - k = "builder" - return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k, Fallback: "index.html"} - } - panic("unreachable") -} - // ReplaceXGen bindata file func ReplaceXGen(search, replace string) error { err := replaceXGenIndex(search, replace) diff --git a/service/static.go b/service/static.go index 00b4a2bf..c1acebd3 100644 --- a/service/static.go +++ b/service/static.go @@ -18,9 +18,6 @@ var AppFileServer http.Handler // XGenFileServerV1 XGen v1.0 var XGenFileServerV1 http.Handler = http.FileServer(data.XgenV1()) -// BuilderFileServer Builder ui -var BuilderFileServer http.Handler = http.FileServer(data.Builder()) - // AdminRoot cache var AdminRoot = "" diff --git a/sui/core/build.go b/sui/core/build.go index 181e0e8b..49ac3f80 100644 --- a/sui/core/build.go +++ b/sui/core/build.go @@ -71,6 +71,19 @@ func (page *Page) Build(ctx *BuildContext, option *BuildOption) (*goquery.Docume ctx.warnings = append(ctx.warnings, warnings...) } + // Prepend the libsui.min.js + if !option.IgnoreLibSUI { + script := ScriptNode{ + Parent: "head", + Attrs: []html.Attribute{ + {Key: "src", Val: fmt.Sprintf("%s/libsui.min.js", option.AssetRoot)}, + {Key: "type", Val: "text/javascript"}, + {Key: "name", Val: "libsui"}, + }, + } + ctx.scripts = append([]ScriptNode{script}, ctx.scripts...) + } + // Scripts scripts, err := page.BuildScripts(ctx, option, "__page", namespace) if err != nil { diff --git a/sui/core/compile.go b/sui/core/compile.go index d16138fd..ebe9f38c 100644 --- a/sui/core/compile.go +++ b/sui/core/compile.go @@ -58,13 +58,6 @@ func (page *Page) Compile(ctx *BuildContext, option *BuildOption) (string, []str } - // SUI lib - lib, err := libsui(option.ScriptMinify) - if err != nil { - return "", warnings, err - } - head.AppendHtml("\n\n" + `` + "\n\n") - // Page Config page.Config = page.GetConfig() diff --git a/sui/core/injections.go b/sui/core/injections.go index 923c8620..137d4957 100644 --- a/sui/core/injections.go +++ b/sui/core/injections.go @@ -5,235 +5,39 @@ import ( "github.com/evanw/esbuild/pkg/api" "github.com/yaoapp/gou/runtime/transform" + "github.com/yaoapp/yao/data" ) var libsuicode = "" -func libsui(minify bool) (string, error) { - if libsuicode != "" { - return libsuicode, nil - } +// LibSUI return the libsui code +func LibSUI() ([]byte, []byte, error) { - option := api.TransformOptions{Target: api.ES2015} - if minify { - option.MinifyIdentifiers = true - option.MinifySyntax = true - option.MinifyWhitespace = true - } - var err error - libsuicode, err = transform.JavaScript(libsuisource, option) + // Read source code from bindata + index, err := data.Read("libsui/index.ts") if err != nil { - return "", fmt.Errorf("libsui error: %w", err) + return nil, nil, err } - return libsuicode, nil + + utils, err := data.Read("libsui/utils.ts") + if err != nil { + return nil, nil, err + } + + // Merge the source code + source := fmt.Sprintf("%s\n%s", index, utils) + + // Build the source code + js, sm, err := transform.TypeScriptWithSourceMap(string(source), api.TransformOptions{ + Target: api.ES2015, + MinifyIdentifiers: true, + MinifySyntax: true, + MinifyWhitespace: true, + }) + + return js, sm, nil } -const libsuisource = ` - - function $$(selector) { - elm = null; - if (typeof selector === "string" ){ - elm = document.querySelector(selector); - } - - if (selector instanceof HTMLElement) { - elm = selector; - } - - if (elm) { - cn = elm.getAttribute("s:cn"); - if (cn != "" && typeof window[cn] === "function") { - const component = new window[cn](elm); - return new __sui_component(elm, component); - } - } - return null; - } - - const $utils = { - - Store: (elm) => { - if (typeof elm === "string") { - elm = document.querySelector(elm); - } - return new __sui_store(elm); - }, - - RemoveClass: (element, className) => { - const classes = Array.isArray(className) ? className : className.split(" "); - classes.forEach((c) => { - const v = c.replace(/[\n\r\s]/g, ""); - if (v === "") return; - element.classList.remove(v); - }); - return $utils; - }, - - AddClass: (element, className) => { - const classes = Array.isArray(className) ? className : className.split(" "); - classes.forEach((c) => { - const v = c.replace(/[\n\r\s]/g, ""); - if (v === "") return; - element.classList.add(v); - }); - return $utils; - }, - } - - function __sui_component_root(elm, name) { - while (elm && elm.getAttribute("s:cn") !== name) { - elm = elm.parentElement; - } - return elm; - } - - function __sui_state(component) { - this.handlers = component.watch || {}; - this.Set = async function (key, value, target) { - const handler = this.handlers[key]; - target = target || component.root; - if (handler && typeof handler === "function") { - const stateObj = { - target: target, - stopPropagation: function () { - target.setAttribute("state-propagation", "true"); - }, - } - await handler(value, stateObj); - const isStopPropagation = target ? target.getAttribute("state-propagation") === "true" : false; - if (isStopPropagation) { - return; - } - - let parent = component.root.parentElement; - while (parent && !parent.getAttribute("s:cn")) { - parent = parent.parentElement; - } - if ( parent == document.body || parent == null) { - return; - } - // Dispatch the state change custom event to parent component - const event = new CustomEvent("state:change", { detail: { key: key, value: value, target:component.root } }); - parent.dispatchEvent(event); - } - } - } - - function __sui_props(elm) { - this.Get = function (key) { - if (!elm || typeof elm.getAttribute !== "function") { - return null; - } - const k = "prop:" + key; - const v = elm.getAttribute(k); - const json = elm.getAttribute("json-attr-prop:" + key) === "true"; - if (json) { - try { - return JSON.parse(v); - } catch (e) { - return null; - } - } - return v; - } - - this.List = function () { - const props = {}; - if (!elm || typeof elm.getAttribute !== "function") { - return props; - } - - const attrs = elm.attributes; - for (let i = 0; i < attrs.length; i++) { - const attr = attrs[i]; - if (attr.name.startsWith("prop:")) { - const k = attr.name.replace("prop:", ""); - const json = elm.getAttribute("json-attr-prop:" + k) === "true"; - if (json) { - try { - props[k] = JSON.parse(attr.value); - } catch (e) { - props[k] = null; - } - continue; - } - props[k] = attr.value; - } - } - return props; - } - } - - function __sui_component(elm, component) { - this.root = elm; - this.store = new __sui_store(elm); - this.props = new __sui_props(elm); - this.state = component ? new __sui_state(component) : {}; - } - - function __sui_event_handler(event, dataKeys, jsonKeys, target, root, handler) { - const data = {}; - target = target || null; - if (target) { - dataKeys.forEach(function (key) { - const value = target.getAttribute("data:" + key); - data[key] = value; - }) - jsonKeys.forEach(function (key) { - const value = target.getAttribute("json:" + key); - data[key] = null; - if (value && value != "") { - try { - data[key] = JSON.parse(value); - } catch (e) { - const message = e.message || e || "An error occurred"; - console.error(` + "`[SUI] Event Handler Error: ${message}`" + `, target); - } - } - }) - } - handler && handler(event, data, { - rootElement: root, - targetElement: target - }); - }; - - function __sui_store(elm) { - elm = elm || document.body; - - this.Get = function (key) { - return elm.getAttribute("data:" + key); - } - - this.Set = function (key, value) { - elm.setAttribute("data:" + key, value); - } - - this.GetJSON = function (key) { - const value = elm.getAttribute("json:" + key); - if (value && value != "") { - try { - const res = JSON.parse(value); - return res; - } catch (e) { - const message = e.message || e || "An error occurred"; - console.error(` + "`[SUI] Event Handler Error: ${message}`" + `, elm); - return null; - } - } - return null; - } - - this.SetJSON = function (key, value) { - elm.setAttribute("json:" + key, JSON.stringify(value)); - } - - this.GetData = function () { - return this.GetJSON("__component_data") || {}; - } - } -` - const initScriptTmpl = ` try { var __sui_data = %s; diff --git a/sui/core/types.go b/sui/core/types.go index 038e37d0..54709b13 100644 --- a/sui/core/types.go +++ b/sui/core/types.go @@ -262,6 +262,7 @@ type BuildOption struct { PublicRoot string `json:"public_root,omitempty"` AssetRoot string `json:"asset_root,omitempty"` IgnoreAssetRoot bool `json:"ignore_asset_root,omitempty"` + IgnoreLibSUI bool `json:"ignore_lib_sui,omitempty"` IgnoreDocument bool `json:"ignore_document,omitempty"` JitMode bool `json:"jit_mode,omitempty"` WithWrapper bool `json:"with_wrapper,omitempty"` diff --git a/sui/libsui/index.ts b/sui/libsui/index.ts new file mode 100644 index 00000000..8a0f55d5 --- /dev/null +++ b/sui/libsui/index.ts @@ -0,0 +1,177 @@ +function $$(selector) { + let elm: HTMLElement | null = null; + if (typeof selector === "string") { + elm = document.querySelector(selector); + } + + if (selector instanceof HTMLElement) { + elm = selector; + } + + if (elm) { + const cn = elm.getAttribute("s:cn"); + if (cn && cn != "" && typeof window[cn] === "function") { + const component = new window[cn](elm); + return new __sui_component(elm, component); + } + } + return null; +} + +function __sui_component_root(elm, name) { + while (elm && elm.getAttribute("s:cn") !== name) { + elm = elm.parentElement; + } + return elm; +} + +function __sui_state(component) { + this.handlers = component.watch || {}; + this.Set = async function (key, value, target) { + const handler = this.handlers[key]; + target = target || component.root; + if (handler && typeof handler === "function") { + const stateObj = { + target: target, + stopPropagation: function () { + target.setAttribute("state-propagation", "true"); + }, + }; + await handler(value, stateObj); + const isStopPropagation = target + ? target.getAttribute("state-propagation") === "true" + : false; + if (isStopPropagation) { + return; + } + + let parent = component.root.parentElement; + while (parent && !parent.getAttribute("s:cn")) { + parent = parent.parentElement; + } + if (parent == document.body || parent == null) { + return; + } + // Dispatch the state change custom event to parent component + const event = new CustomEvent("state:change", { + detail: { key: key, value: value, target: component.root }, + }); + parent.dispatchEvent(event); + } + }; +} + +function __sui_props(elm) { + this.Get = function (key) { + if (!elm || typeof elm.getAttribute !== "function") { + return null; + } + const k = "prop:" + key; + const v = elm.getAttribute(k); + const json = elm.getAttribute("json-attr-prop:" + key) === "true"; + if (json) { + try { + return JSON.parse(v); + } catch (e) { + return null; + } + } + return v; + }; + + this.List = function () { + const props = {}; + if (!elm || typeof elm.getAttribute !== "function") { + return props; + } + + const attrs = elm.attributes; + for (let i = 0; i < attrs.length; i++) { + const attr = attrs[i]; + if (attr.name.startsWith("prop:")) { + const k = attr.name.replace("prop:", ""); + const json = elm.getAttribute("json-attr-prop:" + k) === "true"; + if (json) { + try { + props[k] = JSON.parse(attr.value); + } catch (e) { + props[k] = null; + } + continue; + } + props[k] = attr.value; + } + } + return props; + }; +} + +function __sui_component(elm, component) { + this.root = elm; + this.store = new __sui_store(elm); + this.props = new __sui_props(elm); + this.state = component ? new __sui_state(component) : {}; +} + +function __sui_event_handler(event, dataKeys, jsonKeys, target, root, handler) { + const data = {}; + target = target || null; + if (target) { + dataKeys.forEach(function (key) { + const value = target.getAttribute("data:" + key); + data[key] = value; + }); + jsonKeys.forEach(function (key) { + const value = target.getAttribute("json:" + key); + data[key] = null; + if (value && value != "") { + try { + data[key] = JSON.parse(value); + } catch (e) { + const message = e.message || e || "An error occurred"; + console.error(`[SUI] Event Handler Error: ${message} `, target); + } + } + }); + } + handler && + handler(event, data, { + rootElement: root, + targetElement: target, + }); +} + +function __sui_store(elm) { + elm = elm || document.body; + + this.Get = function (key) { + return elm.getAttribute("data:" + key); + }; + + this.Set = function (key, value) { + elm.setAttribute("data:" + key, value); + }; + + this.GetJSON = function (key) { + const value = elm.getAttribute("json:" + key); + if (value && value != "") { + try { + const res = JSON.parse(value); + return res; + } catch (e) { + const message = e.message || e || "An error occurred"; + console.error(`[SUI] Event Handler Error: ${message}`, elm); + return null; + } + } + return null; + }; + + this.SetJSON = function (key, value) { + elm.setAttribute("json:" + key, JSON.stringify(value)); + }; + + this.GetData = function () { + return this.GetJSON("__component_data") || {}; + }; +} diff --git a/sui/libsui/utils.ts b/sui/libsui/utils.ts new file mode 100644 index 00000000..593b11f1 --- /dev/null +++ b/sui/libsui/utils.ts @@ -0,0 +1,28 @@ +const $utils = { + Store: (elm) => { + if (typeof elm === "string") { + elm = document.querySelector(elm); + } + return new __sui_store(elm); + }, + + RemoveClass: (element, className) => { + const classes = Array.isArray(className) ? className : className.split(" "); + classes.forEach((c) => { + const v = c.replace(/[\n\r\s]/g, ""); + if (v === "") return; + element.classList.remove(v); + }); + return $utils; + }, + + AddClass: (element, className) => { + const classes = Array.isArray(className) ? className : className.split(" "); + classes.forEach((c) => { + const v = c.replace(/[\n\r\s]/g, ""); + if (v === "") return; + element.classList.add(v); + }); + return $utils; + }, +}; diff --git a/sui/storages/local/build.go b/sui/storages/local/build.go index 4a428c2e..8fefc35c 100644 --- a/sui/storages/local/build.go +++ b/sui/storages/local/build.go @@ -124,6 +124,12 @@ func (tmpl *Template) Build(option *core.BuildOption) ([]string, error) { return warnings, err } + // Add sui lib to the global + err = tmpl.UpdateJSSDK(option) + if err != nil { + return warnings, err + } + // Execute the build after hook if option.ExecScripts { res := tmpl.ExecAfterBuildScripts() @@ -200,6 +206,42 @@ func (tmpl *Template) SyncAssetFile(file string, option *core.BuildOption) error return copy(sourceFile, targetFile) } +// UpdateJSSDK update the js sdk +func (tmpl *Template) UpdateJSSDK(option *core.BuildOption) error { + + jsCode, sourceMap, err := core.LibSUI() + if err != nil { + return err + } + + // get source abs path + root, err := tmpl.local.DSL.PublicRoot(option.Data) + if err != nil { + log.Error("SyncAssets: Get the public root error: %s. use %s", err.Error(), tmpl.local.DSL.Public.Root) + root = tmpl.local.DSL.Public.Root + } + + targetRoot := filepath.Join(application.App.Root(), "public", root, "assets") + + file := filepath.Join(targetRoot, "libsui.min.js") + mapFile := filepath.Join(targetRoot, "libsui.min.js.map") + + // create the target directory + if exist, _ := os.Stat(targetRoot); exist == nil { + os.MkdirAll(targetRoot, os.ModePerm) + } + + // write the js sdk + err = os.WriteFile(file, []byte(jsCode), 0644) + if err != nil { + return err + } + + // write the source map + err = os.WriteFile(mapFile, []byte(sourceMap), 0644) + return nil +} + func (tmpl *Template) writeGlobalScript(data map[string]interface{}) error { file, source, err := tmpl.backendScriptSource("__global.backend") if err != nil {