psychedelicious
189c430e46
chore(ui): format
...
Lots of changed bc the line length is now 120. May as well do it now.
2024-01-28 19:57:53 +11:00
psychedelicious
138caa34de
chore(ui): lint
2024-01-28 19:57:53 +11:00
Mary Hipp
d0391cb430
chore(ui): bump @invoke-ai/ui-library, add @invoke-ai/eslint-config-react & @invoke-ai/prettier-config-react
2024-01-28 19:57:53 +11:00
psychedelicious
52b24e01e2
feat(ui): remove chakra as direct dependency
...
Moved a number of things to `@invoke-ai/ui` to support this.
Unfortunately, the bundle size has increased a bit. I will work on that later.
2024-01-23 14:13:18 -06:00
psychedelicious
2f656cc357
fix(ui): fix field context menu jank
...
Closes #5551
2024-01-23 14:13:18 -06:00
psychedelicious
e96ad41729
feat(ui): use @invoke-ai/ui hooks for modifiers, global menu state
2024-01-22 09:37:26 +11:00
psychedelicious
be72765d02
fix(ui): bump @invoke-ai/ui, fix TS issues
2024-01-22 09:37:26 +11:00
psychedelicious
5d068c1da1
feat(ui): migrate to @invoke-ai/ui
2024-01-22 09:37:26 +11:00
psychedelicious
b917ffecbe
chore(ui): format
2024-01-19 14:42:31 +11:00
Josh Corbett
2967a78c5a
feat: 💄 update lots of icons
2024-01-19 14:42:31 +11:00
psychedelicious
c0c8fa9a89
fix(ui): use nodrag on invinput in workflow editor
...
Closes #5476
2024-01-12 09:31:07 +11:00
psychedelicious
7d93329401
feat(ui): de-jank context menu
...
There was a lot of convoluted, janky logic related to trying to not mount the context menu's portal until its needed. This was in the library where the component was originally copied from.
I've removed that and resolved the jank, at the cost of there being an extra portal for each instance of the context menu. Don't think this is going to be an issue. If it is, the whole context menu could be refactored to be a singleton.
2024-01-10 08:22:46 -05:00
Josh Corbett
5779542084
Updated icons + Minor UI Tweaks ( #5427 )
...
* feat: 💄 updated icons + minor ui tweaks
* revert: 💄 removes ui tweaks
* revert: 💄 removed more ui tweaks
removed more ui tweaks and a commented-out icon import
* style: 🚨 satisfy the linter
---------
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com >
2024-01-07 14:14:44 +11:00
psychedelicious
3fe332e85f
fix(ui): fix add node autoconnect
...
The new select component appears to close itself before calling the onchange handler. This short-circuits the autoconnect logic. Tweaked so the ordering is correct.
2024-01-07 14:00:22 +11:00
psychedelicious
f51e8eeae1
fix(ui): better node footer spacing
2024-01-06 09:09:38 +11:00
psychedelicious
1a710a4c12
fix(ui): restore prev colors for workflow editor
...
Brand colors are now prefixed with "invoke".
2024-01-05 08:34:46 -05:00
psychedelicious
d8d266d3be
fix(ui): fix field title spacing
...
Closes #5405
2024-01-05 08:34:46 -05:00
psychedelicious
3c4150d153
fix(ui): update most other selectors
...
Just a few stragglers left. Good enough for now.
2024-01-06 00:03:07 +11:00
psychedelicious
367de44a8b
fix(ui): tidy remaining selectors
...
These were just using overly verbose syntax - like explicitly typing `state: RootState`, which is unnecessary.
2024-01-06 00:03:07 +11:00
psychedelicious
a23502f7ff
fix(ui): do not use state => state as an input selector
...
This is a no-no, whoops!
2024-01-06 00:03:07 +11:00
psychedelicious
cde9c3090f
fix(ui): use useAppSelector instead of useSelector
2024-01-06 00:03:07 +11:00
psychedelicious
29ccc6a3d8
chore(ui): lint
2024-01-03 13:18:50 +11:00
psychedelicious
acbf10f7ba
feat(ui): improve error indicator for model fields
2024-01-03 13:18:50 +11:00
psychedelicious
b1b5c0d3b2
fix(ui): fix workflow editor model selector, excise ONNX
...
Ensure workflow editor model selector component gets a value
This introduced some funky type issues related to ONNX models. ONNX doesn't work anyways (unmaintained). Instead of fixing the types to work with a non-working feature, ONNX is now removed entirely from the UI.
- Remove all refs to ONNX (and Olives)
- Fix some type issues
- Add ONNX nodes to the nodes denylist (so they are not visible in UI)
- Update VAE graph helper, which still had some ONNX logic. It's a very simple change and doesn't change any logic. Just removes some conditions that were for ONNX. I tested it and nothing broke.
- Regenerate types
- Fix prettier and eslint ignores for generated types
- Lint
2024-01-03 13:18:50 +11:00
psychedelicious
06245bc761
feat(ui): add support for default values for sliders
2024-01-03 13:18:50 +11:00
psychedelicious
0cefacb3a2
feat(ui): add support for default values for numberinputs
2024-01-03 13:18:50 +11:00
psychedelicious
baa5f75976
fix(ui): fix node styles
...
Got borked when adjusting control adapter styling. Should revisit this later.
2024-01-03 13:18:50 +11:00
psychedelicious
93e08df849
fix(ui): min fallback on nodes number fields -> -NUMPY_RAND_MAX
2024-01-03 13:18:50 +11:00
psychedelicious
7e2eeec1f3
feat(ui): optimized workflow building
...
- Store workflow in nanostore as singleton instead of building for each consumer
- Debounce the build (already was indirectly debounced)
- When the workflow is needed, imperatively grab it from the nanostores, instead of letting react handle it via reactivity
2024-01-01 08:13:23 -05:00
psychedelicious
5d4610d981
feat(ui): store node templates in separate slice
...
Flattens the `nodes` slice. May offer minor perf improvements in addition to just being cleaner.
2024-01-01 08:13:23 -05:00
psychedelicious
6209fef63d
fix(ui): focus add node popover on open
...
Need an extra ref to pass to the InvSelect component.
2024-01-01 08:13:23 -05:00
psychedelicious
5168415999
feat(ui): use nanostores for useMouseOverNode
...
This greatly reduces the weight of the event handlers.
2024-01-01 08:13:23 -05:00
psychedelicious
8d2ef5afc3
feat(ui): disable onlyRenderVisibleElements on Flow
...
This can cause stuttering when nodes are being moved in and out of the viewport. I think it's better to improve rendering/perf in other ways.
2024-01-01 08:13:23 -05:00
psychedelicious
539887b215
feat(ui): misc perf/rerender improvements
...
More efficient selectors, memoized/stable references to objects, lazy popover/menu rendering.
2024-01-01 08:13:23 -05:00
psychedelicious
2ba505cce9
feat(ui): use pubsub to for globalcontextmenuclose
...
Far more efficient than the crude redux incrementor thing.
2024-01-01 08:13:23 -05:00
psychedelicious
ee2529f3fd
lru
2024-01-01 08:13:23 -05:00
psychedelicious
2a41fd0b29
fix(ui): fix field title styling
2024-01-01 08:13:23 -05:00
psychedelicious
2d96c62fdb
feat(ui): more memoization
2023-12-29 08:26:14 -05:00
psychedelicious
4134f18319
fix(ui): InvEditable, linear field view styling
2023-12-29 08:26:14 -05:00
psychedelicious
3ce8f3d6fe
feat(ui): more memoization
2023-12-29 08:26:14 -05:00
psychedelicious
10fd4f6a61
feat(ui): update panel lib, move gallery to percentages
2023-12-29 08:26:14 -05:00
psychedelicious
56527da73e
feat(ui): memoize all components
2023-12-29 08:26:14 -05:00
psychedelicious
ca4b8e65c1
feat(ui): use stable objects for animation/native element styles
2023-12-29 08:26:14 -05:00
psychedelicious
4f2930412e
feat(ui): use primitive style props or memoized sx objects
2023-12-29 08:26:14 -05:00
psychedelicious
f0b102d830
feat(ui): ux improvements & redesign
...
This is a squash merge of a bajillion messy small commits created while iterating on the UI component library and redesign.
2023-12-29 08:26:14 -05:00
psychedelicious
1b8651fa26
fix(ui): do no create extraneous pos var
2023-12-28 20:44:02 +11:00
Jonathan
84a001720c
Added back bounds check
2023-12-28 20:44:02 +11:00
Jonathan
c9951cd86b
Eliminate constant console deprecation warnings
...
React Flow 11.10 eliminates the need to use project() and issues a deprecation warning to the console every time that onMouseMove is called (see https://reactflow.dev/whats-new/2023-11-10#rename-usereactflowproject-to-usereactflowscreentoflowposition ). This code change eliminates that warning,
2023-12-28 20:44:02 +11:00
Mary Hipp
702d0f68af
remove (Unsaved) if workflow library is disabled
2023-12-22 07:39:17 +11:00
psychedelicious
43f2837117
feat(nodes): add invocation classifications
...
Invocations now have a classification:
- Stable: LTS
- Beta: LTS planned, API may change
- Prototype: No LTS planned, API may change, may be removed entirely
The `@invocation` decorator has a new arg `classification`, and an enum `Classification` is added to `baseinvocation.py`.
The default is Stable; this is a non-breaking change.
The classification is presented in the node header as a hammer icon (Beta) or flask icon (prototype).
The icon has a tooltip briefly describing the classification.
2023-12-12 16:43:05 +11:00