tauri/tooling/api
Lucas Fernandes Nogueira c77b40324e
refactor(core): add support to multiple webviews on a Tauri window (#8280)
* feat: update to latest wry

* wry dev branch [skip ci]

* fix linux [skip ci]

* refactor(runtime): split webview and window types

* split dispatch

* implement create_webview

* move webview message

* wip webview mod

* create webview manager, finish webview struct and builder

* fix tests and docs

* rename WindowUrl to WebviewUrl

* update examples

* event refactor

* update JS API

* fix events

* update example

* add WebviewWindow class on JS

* fix macos build

* allow creating window+webview on the same runtime call

* rename tauri://window-created to tauri://webview-created

* Window::add_child

* use inner_size from webview on macOS

* add multiwebview example

* automatically resize webviews on window resize

* fix tests

* set_position, set_size

* position, size getters

* set_focus

* add close fn

* update mock runtime

* lint [skip ci]

* fix inner_size getter [skip ci]

* import hwnd [skip ci]

* update webview bound ratios on set_size/set_position

* add auto_resize option

* fix android

* fix build on windows

* typo

* with_webview isnt desktop only

* add WebviewWindow rust struct (and builder)

* fix build on android

* license header

* fix macos/windows

* fix macos build

* resolve todo

* handle window not found

* hide unstable features

* document unstable feature [skip ci]

* webview plugin permissions

* hide more stuff

* fix doctests

* typos

* add change files

* fix examples

* rename hook
2024-01-24 11:05:18 -03:00
..
src refactor(core): add support to multiple webviews on a Tauri window (#8280) 2024-01-24 11:05:18 -03:00
.eslintrc fix(api): add top-level main, module and types fields (#8267) 2023-11-20 18:12:52 -03:00
.gitignore feat: add notification sound (#7269) 2023-08-08 15:09:04 -03:00
CHANGELOG.md Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
LICENSE_APACHE-2.0 fix(js-api): dist (#1498) 2021-04-15 01:04:20 +02:00
LICENSE_MIT fix(js-api): dist (#1498) 2021-04-15 01:04:20 +02:00
package.json Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
README.md Merge remote-tracking branch 'origin/dev' into next (#7067) 2023-05-29 21:29:24 -03:00
rollup.config.ts refactor(api): generate types next to modules (#8392) 2023-12-14 13:27:48 -03:00
tsconfig.json fix(api): add top-level main, module and types fields (#8267) 2023-11-20 18:12:52 -03:00
yarn.lock chore(deps) Update dependency eslint-plugin-security to v2 (dev) (#8440) 2023-12-20 12:14:39 -03:00

@tauri-apps/api

status License lint js FOSSA Status Chat Server website https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg support

Component Version
@tauri-apps/api

About Tauri

Tauri is a polyglot and generic system that is very composable and allows engineers to make a wide variety of applications. It is used for building applications for Desktop Computers using a combination of Rust tools and HTML rendered in a Webview. Apps built with Tauri can ship with any number of pieces of an optional JS API / Rust API so that webviews can control the system via message passing. In fact, developers can extend the default API with their own functionality and bridge the Webview and Rust-based backend easily.

Tauri apps can have custom menus and have tray-type interfaces. They can be updated, and are managed by the user's operating system as expected. They are very small, because they use the system's webview. They do not ship a runtime, since the final binary is compiled from rust. This makes the reversing of Tauri apps not a trivial task.

This module

This is a typescript library that creates cjs and esm JavaScript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure typescript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.

To learn more about the details of how all of these pieces fit together, please consult this ARCHITECTURE.md document.

Installation

The preferred method is to install this module locally as a dependency:

$ npm install --save @tauri-apps/api
$ yarn add @tauri-apps/api

Semver

tauri is following Semantic Versioning 2.0.

Licenses

Code: (c) 2019 - 2021 - The Tauri Programme within The Commons Conservancy.

MIT or MIT/Apache 2.0 where applicable.

Logo: CC-BY-NC-ND