TyphonJS

T

TyphonJS

Join the community to ask questions about TyphonJS and get answers from other members.

Join

typhonjs-runtime

packages

Dropdowns are not mouse-interactable inside ApplicationShell

I can't click on the entries created by either Svelecte or svelte-select if that dropdown is inside an ApplicationShell

Chat Message Failed to Render

Attempting to load multiple svelte elements into a chat message. So far I was successful, but the moment I try to add a specific anchor to the svelte component, it breaks, resulting in:
No description

Settings are not a store and Chat Messages Talk

I wanted to grab the TJSGameSettings stores, but it seems that they are not actual stores? They have subscribe, set, and update methods... What I am doing here is essentially ```js gameSettings = new TJSGameSettings("pf2e-target-damage") console.log($gameSettings.getWritableStore("classic"))...
No description

Settings Page

I was looking at ways to override the default foundry tab for settings and was wondering if there's a way to use svelte/TRL to display our system settings instead of core behavior. I also tried creating a new settings menu and instead of extending FormApplication using either SvelteApplication or TJSDialog but foundry doesn't seem to register those as clickable buttons in the settings menu.

Release: `svelte-standard` 0.0.23 - "secrets" in editor components respect GM user level.

Greets @FVTT â–¹ Developer! Just a small patch note for svelte-standard that went out earlier this week. I fixed TJSTinyMCE and TJSProseMirror editor components to respect the GM user level when enriching content. These components now properly hide secret blocks in the editor content for non-GM users. ---...

Release: `svelte-standard` 0.0.22 - small fix for new a11y warnings in latest Svelte.

Greets @FVTT â–¹ Developer. I just pushed out a small update to svelte-standard to handle the new a11y warning, no-noninteractive-element-to-interactive-role that popped up in Svelte 3.57.0. Despite having what I think are proper role and tabindex settings for TJSMenu and TJSContextMenu Svelte complained w/ this new a11y warning. This is now resolved. So nothing groundbreaking here, just making sure you have a warning free build process w/ the latest Svelte....

Core chat sidebar extension

Continuing a discussion with @voodoofrog about a project to extend the core chat sidebar panel.

Release: `svelte-standard` 0.0.21 - Svelte sidebar apps refinement (final?)

Greets @FVTT â–¹ Developer. This update provides what should be the final refinement for FVTTSidebarControl. Given some initial feedback a few more features have been added. Usually there isn't this much incremental additions so quickly w/ svelte-standard, but this update really should finalize FVTTSidebarControl. The add, remove, replace methods now take an optional condition field that can be a boolean or function that returns a truthy value to conditionally run the sidebar action. This allows you to add condition: () => game.user.isGM for instance to only add / replace, etc. the sidebar for GM users. Another useful new field particularly for replacing core Foundry sidebars is mergeAppImpl. This allows you to provide the control / model code that implements whatever API the core sidebar app may provide directly in the add / replace data. Instead of augmenting the globalThis.ui.<SIDEBAR ID> field via FVTTSidebarControl.wait().then() you can directly include a custom implementation to merge directly in add / replace....

Sequencer: Powered by Svelte

I've started on the long overdue conversion for sequencer to have its UI powered by Svelte, which allows for much easier visualization of its database. Next up, the effect manager!

Release: `svelte-standard` 0.0.20 - More Svelte sidebar apps

Greets @FVTT â–¹ Developer. Following on the heels of svelte-standard 0.0.19 the latest release further extends FVTTSidebarControl allowing you to replace an existing Foundry sidebar app w/ a Svelte powered sidebar and also the ability to remove a stock Foundry sidebar app from the core Sidebar app. The replacement aspect was requested and I had a good idea that it would be useful. Please do report any problems using this new API. Replacing existing sidebars will require you to augment required methods in the given core sidebar app being replaced. Use FVTTSidebarControl.wait().then() to augment as necessary. A very basic and incomplete example of augmenting combat tracker replacement is in the sample code below. There is no new developer overview video as the essentials are more or less the same except there are new FVTTSidebarControl.remove and FVTTSidebarControl.replace methods. Do feel free to checkout the last update video though: https://www.youtube.com/watch?v=otmXoOtp7NQ Basic usage:...

Release: `svelte-standard` 0.0.19 - Svelte sidebar applications

Greets @FVTT â–¹ Developer. I have put out a patch to svelte-standard fixing the ProseMirror library incompatibility for a corner case, but more exciting is a new API to add Svelte powered sidebar applications to the main Foundry sidebar easily and with lots of options that are all data defined. You mainly just have to provide a component for the sidebar and the provided API does the rest. I have made a video overview of this feature. I'll attach it to this post when it finishes processing. There is no new demo in essential-svelte-esm, but the video should give you all the info needed to get started. ...

Sidebar Tab Application

I have, after diving deep into the Foundry Code, figured out how to actually add new Sidebar tabs. it's a two step process of sorts. You need to add the actual button to reveal the Sidebar Tab, as well as actually provide the SidebarTab Application. ...

Svelte error when instantiating a component that wasn't bundled in the same module

as discussed in the lounge, you can find the load point here: https://github.com/FaeyUmbrea/obs-utils/blob/main/src/svelte/OverlayRenderer.svelte Ignore the fact that window.obsutils.singleInstanceOverlays is a Set and doesn't work with #each, that is fixed in my local copy of the file. The issue is that what ever Classes are in the singleInstanceOverlays Set implode in the init() function call....

Backspace doesn't work on TJSProseMirror components if content is blank when edit button is clicked

Think I found a bug with TJSProseMirror. When I click the edit button on an editor component with no text in it, the backspace key is non-functional. Then, if I save it with text and click to edit it again, I can backspace. ...
No description

Why is this update causing a duplicate Actor sheet to be opened?

On my ActorSheetShell.svelte I have a button:
<i class="fas fa-lock" on:click="{toggleLock}" />
<i class="fas fa-lock" on:click="{toggleLock}" />
Which updates a boolean on the Actor sheet system:...

TJSProseMirror for arrays?

Question about the TJSProseMirror component. I am trying to pass a fieldname belonging to an object in an array like so: fieldName={system.rulesElement[${idx}].message}...

Lancer system & TRL

Let's move the conversation over to a forum post as I have a feeling there could be a few messages. When I'm done w/ lunch I'll finish this initial post. 😄

Why is this element not reactive?

I'm using this element in two partials within the same component:
<TJSSelect options="{manaTypes}" bind:value='{$doc.system.manaType}' />
<TJSSelect options="{manaTypes}" bind:value='{$doc.system.manaType}' />
In both partials, $doc comes from context:...

How does essential-esm-svelte App Position work?

I've had a look at the code but I can't for the life of me figure out how the height of the application is being adjusted. I can see how the height value is being generated and stored, but I don't see how that transform gets applied to change the height of the app?

Can I mix and match standard foundry views with Svelte components?

And if so, how so? E.g. on my items sheet I want to render the default ActiveEffects view on one of the tabs. No point recreating the wheel there methinks. I tried this as the code for the tab: ```...