diff --git a/gulpfile.js b/gulpfile.js index 8ea3e217d2..5af4611458 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -77,7 +77,7 @@ const common = { 'node_modules/@highlightjs/cdn-assets/highlight.min.js', 'node_modules/@isomorphic-git/lightning-fs/dist/lightning-fs.min.js', 'packages/amplify/dist/amplify.js', - 'packages/ui/dist/ui.js', + 'packages/ui/dist/ui/ui.js', 'node_modules/@logseq/sqlite-wasm/sqlite-wasm/jswasm/sqlite3.wasm', 'node_modules/react/umd/react.production.min.js', 'node_modules/react/umd/react.development.js', @@ -125,7 +125,8 @@ const common = { 'node_modules/prop-types/prop-types.min.js', 'node_modules/interactjs/dist/interact.min.js', 'packages/amplify/dist/amplify.js', - 'packages/ui/dist/ui.js', + 'packages/ui/dist/ui/ui.js', + 'packages/ui/dist/ionic/*.js', ]).pipe(gulp.dest(path.join(outputPath, 'capacitor', 'js'))), () => gulp.src([ 'node_modules/@logseq/sqlite-wasm/sqlite-wasm/jswasm/sqlite3.wasm', diff --git a/packages/ui/package.json b/packages/ui/package.json index 46ffd7280a..8be43cf659 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -6,7 +6,8 @@ "scripts": { "watch:ui:examples": "parcel serve ./examples/index.html", "build:ui:only": "parcel build --target ui", - "build:ui": "rm -rf .parcel-cache && yarn build:ui:only", + "build:ionic:only": "parcel build --target ionic", + "build:ui": "rm -rf .parcel-cache && yarn build:ui:only && yarn build:ionic:only", "watch:storybook": "storybook dev -p 6006", "postinstall": "yarn build:ui" }, @@ -32,6 +33,7 @@ "@radix-ui/react-toggle": "^1.1.6", "@radix-ui/react-toggle-group": "^1.1.7", "@radix-ui/react-tooltip": "^1.2.4", + "@ionic/react": "8.5.7", "class-variance-authority": "^0.7.1", "clsx": "^2.0.0", "cmdk": "^0.2.0", @@ -97,6 +99,14 @@ "react": false, "react-dom": false } + }, + "ionic": { + "source": "src/ionic.ts", + "outputFormat": "global", + "includeNodeModules": { + "react": false, + "react-dom": false + } } }, "resolutions": { diff --git a/packages/ui/yarn.lock b/packages/ui/yarn.lock index 2fae82b41a..30d7a10d12 100644 --- a/packages/ui/yarn.lock +++ b/packages/ui/yarn.lock @@ -1273,6 +1273,24 @@ resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.3.2.tgz#5c40f06fe8137390b071d961c66d27ee8f76f3bc" integrity sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA== +"@ionic/core@8.5.7": + version "8.5.7" + resolved "https://registry.yarnpkg.com/@ionic/core/-/core-8.5.7.tgz#7297c88035f0372225b052db5426b4e1788b3b42" + integrity sha512-V5ZRYXD1MgAPdjfLyOejILAdTqIzpMY7/v6GSynFPPWoEpfFbGe/tNsimrYm1/D8iouigYLkJjWSeg2rpIpESA== + dependencies: + "@stencil/core" "4.20.0" + ionicons "^7.2.2" + tslib "^2.1.0" + +"@ionic/react@8.5.7": + version "8.5.7" + resolved "https://registry.yarnpkg.com/@ionic/react/-/react-8.5.7.tgz#ad09cb3d1189e6f3cc52156fd56216655dd8d5e3" + integrity sha512-AgX4iu6SfuBhNgYr0H+K3oGsp7ESkCsnaqZdHRO2+GtKTmo4akMrFPihGj4LrZB/IaYwcvYQR/bPWHuZGJYsnw== + dependencies: + "@ionic/core" "8.5.7" + ionicons "^7.0.0" + tslib "*" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -3099,11 +3117,70 @@ resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb" integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw== +"@rollup/rollup-darwin-arm64@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.9.tgz#363467bc49fd0b1e17075798ac8e9ad1e1e29535" + integrity sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ== + +"@rollup/rollup-darwin-x64@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.9.tgz#c2fe3d85fffe47f0ed0f076b3563ada22c8af19c" + integrity sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q== + +"@rollup/rollup-linux-arm64-gnu@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.9.tgz#1015c9d07a99005025d13b8622b7600029d0b52f" + integrity sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw== + +"@rollup/rollup-linux-arm64-musl@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.9.tgz#8f895eb5577748fc75af21beae32439626e0a14c" + integrity sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A== + +"@rollup/rollup-linux-x64-gnu@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.9.tgz#7193cbd8d128212b8acda37e01b39d9e96259ef8" + integrity sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A== + +"@rollup/rollup-linux-x64-musl@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.9.tgz#29a6867278ca0420b891574cfab98ecad70c59d1" + integrity sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA== + +"@rollup/rollup-win32-arm64-msvc@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.9.tgz#89427dcac0c8e3a6d32b13a03a296a275d0de9a9" + integrity sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q== + +"@rollup/rollup-win32-x64-msvc@4.34.9": + version "4.34.9" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.9.tgz#1973871850856ae72bc678aeb066ab952330e923" + integrity sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw== + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== +"@stencil/core@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@stencil/core/-/core-4.20.0.tgz#221f2b36ab999891560449b02d6915862c435f49" + integrity sha512-WPrTHFngvN081RY+dJPneKQLwnOFD60OMCOQGmmSHfCW0f4ujPMzzhwWU1gcSwXPWXz5O+8cBiiCaxAbJU7kAg== + +"@stencil/core@^4.0.3": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@stencil/core/-/core-4.31.0.tgz#57c5da8e46d9ad51406e7f542dcb2048be4f25d4" + integrity sha512-Ei9MFJ6LPD9BMFs+klkHylbVOOYhG10Jv4bvoFf3GMH15kA41rSYkEdr4DiX84ZdErQE2qtFV/2SUyWoXh0AhA== + optionalDependencies: + "@rollup/rollup-darwin-arm64" "4.34.9" + "@rollup/rollup-darwin-x64" "4.34.9" + "@rollup/rollup-linux-arm64-gnu" "4.34.9" + "@rollup/rollup-linux-arm64-musl" "4.34.9" + "@rollup/rollup-linux-x64-gnu" "4.34.9" + "@rollup/rollup-linux-x64-musl" "4.34.9" + "@rollup/rollup-win32-arm64-msvc" "4.34.9" + "@rollup/rollup-win32-x64-msvc" "4.34.9" + "@storybook/addon-actions@7.5.3": version "7.5.3" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.5.3.tgz#e0d0d819488d1d19918b23469b3ea6610fee5f07" @@ -6601,6 +6678,13 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ionicons@^7.0.0, ionicons@^7.2.2: + version "7.4.0" + resolved "https://registry.yarnpkg.com/ionicons/-/ionicons-7.4.0.tgz#9c285aaa8089befbd6c5a89ae13292d364cd9ace" + integrity sha512-ZK94MMqgzMCPPMhmk8Ouu6goyVHFIlw/ACP6oe3FrikcI0N7CX0xcwVaEbUc0G/v3W0shI93vo+9ve/KpvcNhQ== + dependencies: + "@stencil/core" "^4.0.3" + ip@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" @@ -9279,6 +9363,11 @@ ts-dedent@^2.0.0, ts-dedent@^2.2.0: resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== +tslib@*: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@^1.13.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" diff --git a/resources/capacitor/index.html b/resources/capacitor/index.html index f426dc4757..e2da4652e7 100644 --- a/resources/capacitor/index.html +++ b/resources/capacitor/index.html @@ -32,6 +32,7 @@ const portal = new MagicPortal(worker); + diff --git a/src/main/capacitor/ionic.cljs b/src/main/capacitor/ionic.cljs index cfdcb401bb..e67fa31a41 100644 --- a/src/main/capacitor/ionic.cljs +++ b/src/main/capacitor/ionic.cljs @@ -1,15 +1,11 @@ (ns capacitor.ionic (:refer-clojure :exclude [list]) (:require ["@capacitor/camera" :as ionicCamera] - ["@ionic/react" :as ionicReact] [logseq.shui.icon.v2 :as shui-icon] [logseq.shui.util :as shui-util])) -;; initialize ionic react -(.setupIonicReact ionicReact) - ;(def define-custom-component ionicLoader/defineCustomElements) -(def ^js ionic-react ionicReact) +(def ^js ionic-react js/window.LSIonic) (def ^js camera (.-Camera ionicCamera)) (def ^js camera-result-type (.-CameraResultType ionicCamera))