Commit Graph

228 Commits

Author SHA1 Message Date
Matthias Metelka
371f731e30
Editor Field Descriptions (#1476)
* Add description input to fields dialog

QLineEdit seems like the best option, as it saves space and motivates users to keep their descriptions concise.

* Add setDescriptions to note initialization script

Went for the extra function instead of including it in setFields to prevent potential add-on breakages.

* Add tooltip next to field name if description is set

* Refactor code according to suggestions

Set default tooltip placement to right instead of bottom

Use .get() for fld["description"]

Fix tab order in fields dialog

Swap out abbreviation "desc" for full length name to keep consistency

* Update Protobuf and Rust for description

Add description to notetypes.proto and schema11

Co-authored-by: RumovZ <RumovZ@users.noreply.github.com>

* Fix tooltips not updating with description

Remove redundant variable tooltipOptions

Update previousTooltip within reactive function

* Move LabelDescription out of LabelName

Co-authored-by: Henrik Giesel <hgiesel@users.noreply.github.com>

* Decrease icon size and fix alignment

Co-Authored-By: Henrik Giesel <hengiesel@gmail.com>

* the new key needs to be cleared from fields, not the notetype itself

Co-authored-by: RumovZ <RumovZ@users.noreply.github.com>
Co-authored-by: Henrik Giesel <hengiesel@gmail.com>
Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2021-11-06 09:42:48 +10:00
Henrik Giesel
c9bd39c6a2
Several editor fixes (#1478)
* Declare toolbar api via modifiable property

* Fix addon buttons

* Assign editing areas in a synchronous way

* Restore the Tab shortcut that moves the caret to end

- moveCaretToEnd is called twice now: The moveCaretToEnd calls in
  *TextInput causes the caret to be moved to the end when switching back
  from the window and back.
- To fix this, I will need the code for saving and restoring locations
  from #1377

* Restore selections in the PlainTextInput

* Improve type safety of destroyable

- clearable-array was renamed to destroyable
2021-11-05 11:29:02 +10:00
Henrik Giesel
09c29219b4
Several CSS fixes - Editor Cleanup (#1470)
* Refactor editor css, fix editor button highlight

- Avoid using webview.css
- Move more buttons css into button_mixins

* Fix DropdownItem appearance

* Fix the visuals of tags

* Make dropdown font slightly smaller

* Give SelectOption a background color

* Move some css from deck-options-base to CardStateCustomizer

* Avoid using core.scss for CardStats

* Avoid using sass/core in congrats package

* Inline core.scss into webview.scss

* Include fusion-vars for base.scss

* need to keep core.scss around for now (dae)
2021-10-31 08:29:22 +10:00
Henrik Giesel
afc56a8398
Fix DeckOptions toolbar having wrong margins and no flex-grow (#1464)
ButtonToolbar.svelte now has to assume that the button elements
are two levels below it. This can be simplified once we can use
flex-gap.
2021-10-28 19:37:52 +10:00
Damien Elmes
6af8a47d57 fix deprecation warning in latest svelte-preprocess 2021-10-26 08:43:02 +10:00
Henrik Giesel
0dff5ea3a3
Use trailingComma: all setting in .prettierrc (#1435) 2021-10-19 09:06:00 +10:00
Henrik Giesel
c2768e2188
Translate Editor entirely to Svelte (#1403)
* Translate editor to Svelte

Make editor fields grid rather than flexbox

Refactor ButtonToolbar margins

Remove remaining svelte.d.ts symlinks

Implement saveNow

Fix text surrounding

Remove HTML editor button

Clean up some empty files

Add visual for new field state badges

* Adds new IconConstrain.svelte to generalize the icon handling for
IconButton and Badge

Implement sticky functionality again

Enable Editable and Codable field state badges

Add shortcuts to FieldState badges

Add Shift+F9 shortcut back

Add inline padding back to editor fields, tag editor and toolbar

Make Editable and Codable only "visually hidden"

This way they are still updated in the background
Otherwise reshowing them will always start them up empty

Make empty editing area focusable

Start with moving fieldsKey and currentFieldKey to context.ts

Fix Codable being wrong size when opening for first time

Add back drag'n'drop

Make ButtonItem display: contents again

* This will break the gap between ButtonGroup items, however once we
  have a newer Chromium version we should use CSS gap property anyway

Fix most of typing issues

Use --label-color background color LabelContainer

Add back red color for dupes

Generalize the editor toolbar in the multiroot editor to widgets

Implement Notification.svelte for showing cloze hints

Add colorful icon to notification

Hook up Editable to EditingArea

Move EditingArea into EditorField

Include editorField in editor/context

Fix rebasing issues

Uniformly use SvelteComponentTyped

Take LabelContainer out of EditingArea

Use mirror-dom and node-store to export editable content

Fix editable update mechanism

Prepare passing the editing inputs as slots

Pass in editing inputs as slots

Use codable options again in codemirror

Delete editor/lib.ts

Remove CodableAdapter, Use more generic CodeMirror component

Fix clicking LabelContainer to focus

Use prettier

Rename Editable to ContentEditable

Fix writing Mathjax from Codable to Editable

Correctly adjust output HTML from editable

Refactor EditableStyles out of EditableContainer

Pass Image and Mathjax Handle via slots to Editable

Make Editable add its editingInputApi

Make Editable hideable

Fix font size not being set correctly

Refactor both fieldFocused and focusInCodable to focusInEditable

Fix focusIfField

Bring back $activeInput

Fix ClozeButton

Remove signifyCustomInput

Refactor MathjaxHandle

Refactor out some logic into store-subscribe

Fix Mathjax editor

Use focusTrap instead of focusing div

Delegate focus back to editingInput when refocusing focusTrap

Elegantly move focus between editing inputs when closing/opening

Make Codable tabbable

Automatically move caret to end on editable and codable

+ remove from editingInput api

Fix ButtonDropdown having two rows and missing button margins

Make svelte_check and eslint pass

Satisfy editor svelte_check

Save field updates to db again

Await editable styles before mounting content editable

Remove unused import from OldEditorAdapter

Add copyright header to OldEditorAdapter

Update button active state from contenteditable

* Use activateStickyShortcuts after waiting for noteEditorPromise

* Set fields via stores, make tags correctly set

* Add explaining comment to setFields

* Fix ClozeButton

* Send focus and blur events again

* Fix Codable not correctly updating on blur with invalid HTML

* Remove old code for special Enter behavior in tags

* Do not use logical properties for ButtonToolbar margins

* Remove getCurrentField

Instead use noteEditor->currentField or noteEditor->activeInput

* Remove Extensible type

* Use context-property for NoteEditor, EditorField and EditingArea

* Rename parameter in mirror-dom.allowResubscription

* Fix cutOrCopy

* Refactor context.ts into the individual components

* Move focusing of editingArea up to editorField

* Rename promiseResolve -> promiseWithResolver

* Rename Editable->RichTextInput and Codable->PlainTextInput

* Remove now unnecessary type assertion for `getNoteEditor` and `getEditingArea`

* Refocus field after adding, so subscription to editing area is refreshed
2021-10-18 22:01:15 +10:00
Damien Elmes
bb5053990b pass ts deps into most Svelte packages; remove redundant deps
Henrik, I've left editable/editor alone to avoid causing a conflict;
please add them in your PR instead when you get a chance.
2021-10-18 12:44:31 +10:00
Damien Elmes
7128de895f declare bootstrap prereq in Svelte compile
Mistakenly stripped this out when removing the typescript dependencies
2021-10-13 11:48:22 +10:00
Henrik Giesel
c64bac57a6
Put sass into repo directory (#1409)
Fix Sass build
2021-10-09 10:25:03 +10:00
Damien Elmes
046c6c55d3 use extra rootDir in tsconfig instead of symlinks
The nice thing about the symlink approach is that it allowed tsc -b
to function without any changes to the tsconfig.json file, but it meant
there were extra links we had to maintain. So instead, we just add an
extra rootDirs entry, and add two commented-out lines that can be
uncommented when wanting to build with tsc directly.
2021-10-01 18:36:52 +10:00
Damien Elmes
e9d71bfbe4 yarn upgrade --latest
bootstrap still held back
2021-10-01 12:52:53 +10:00
Damien Elmes
a3d9f90af5 update to latest rules_nodejs & switch to ts_project
ts_library() is deprecated and will presumably be dropped from a
future rules_nodejs, and it wasn't working with the jest tests
after updating, so we switch over to ts_project().

There are some downsides:

- It's a bit slower, as the worker mode doesn't appear to function
at the moment.
- Getting it working with a mix of source files and generated files
was quite tricky, especially as things behave differently on Windows,
and differently when editing with VS Code. Solved with a small patch
to the rules, and a wrapper script that copies everything into the
bin folder first. To keep VS Code working correctly as well, the built
files are symlinked into the source folder.
- TS libraries are not implicitly linked to node_modules, so they
can't be imported with an absolute name like "lib/proto" - we need
to use relative paths like "../lib/proto" instead. Adjusting "paths"
in tsconfig.json makes it work for TS compilation, but then it fails
at the esbuild stage. We could resolve it by wrapping the TS
libraries in a subsequent js_library() call, but that has the downside
of losing the transient dependencies, meaning they need to be listed
again.  Alternatively we might be able to solve it in the future by
adjusting esbuild, but for now the paths have been made relative to
keep things simple.

Upsides:

- Along with updates to the Svelte tooling, Svelte typing has improved.
All exports made in a Svelte file are now visible to other files that
import them, and we no longer rebuild the Svelte files when TS files
are updated, as the Svelte files do no type checking themselves, and
are just a simple transpilation. Svelte-check now works on Windows again,
and there should be no errors when editing in VS Code after you've
built the project. The only downside seems to be that cmd+clicking
on a Svelte imports jumps to the .d.ts file instead of the original now;
presumably they'll fix that in a future plugin update.
- Each subfolder now has its own tsconfig.json, and tsc can be called
directly for testing purposes (but beware it will place build products
in the source tree): ts/node_modules/.bin/tsc -b ts
- We can drop the custom esbuild_toolchain, as it's included in the
latest rules_nodejs.

Other changes:

- "image_module_support" is moved into lib/, and imported with
<reference types=...>
- Images are now imported directly from their npm package; the
extra copy step has been removed.

Windows users may need to use "bazel clean" before building this,
due to old files lying around in the build folder.
2021-10-01 12:52:53 +10:00
Damien Elmes
604247482d handle changed aria-expanded typing 2021-09-29 12:20:27 +10:00
Henrik Giesel
60690e0557 Rename StickyBar and StickyBottom to StickyHeader and StickyFooter 2021-09-15 23:15:55 +02:00
Henrik Giesel
b502ceedca Make the ImageHandle and MathjaxHandle dropdowns perfectly touch the HandleSelection 2021-09-15 22:26:32 +02:00
Henrik Giesel
97647e7b24 Prevent hiding handles by clicking on handles 2021-09-15 17:56:56 +02:00
Henrik Giesel
ce9674f824 Correctly pass down dropdownObject... 2021-09-15 16:16:42 +02:00
Henrik Giesel
c227c7dc39 Make StickyBottom actually stick and make editor fullsize + flexbox 2021-09-15 15:21:37 +02:00
Henrik Giesel
71bdeeba39 Apply specific CSS to Mathjax CodeMirror 2021-09-15 13:46:04 +02:00
Henrik Giesel
1185593fee Use CodeMirror for Mathjax Editor 2021-09-15 13:33:18 +02:00
Henrik Giesel
dd280038a8 Prevent tooltip expanding body tag in editor 2021-09-15 02:24:09 +02:00
Henrik Giesel
69c6265111 Align suggestions with start of tag 2021-09-09 19:03:06 +02:00
Henrik Giesel
75ed24b7ea Do not use overflow-x on ButtonToolbar
* Fixes deck-options dropdown not showing.
  It seems like it's no longer necessary
2021-09-09 17:50:02 +02:00
Henrik Giesel
8fd4412dbe Fix bug where sometimes Autocomplete menu would not show even though suggestions exist 2021-09-09 15:38:11 +02:00
Henrik Giesel
7bdf9aaf00 Set disabled class on TagInput from WithAutocomplete 2021-09-09 15:38:10 +02:00
Henrik Giesel
eb3bc08420 Explicitly not support dropleft/dropright
We'll deal with it when we have a use case
2021-09-09 15:38:09 +02:00
Henrik Giesel
18b838a173 Correctly place dropdown and only update if there's activeInput 2021-09-09 15:38:09 +02:00
Henrik Giesel
96cbca8fb6 Update to use shortened SCSS paths for some components 2021-09-09 15:38:05 +02:00
Henrik Giesel
b49112a910 Refer to ./ instead of components/ from within components 2021-09-09 15:38:04 +02:00
Henrik Giesel
f5b58442ce Fix ts/components:svelte_check 2021-09-09 15:38:03 +02:00
Henrik Giesel
a0970e8515 Add scrollbar_lib to components 2021-09-09 15:38:03 +02:00
Henrik Giesel
04b75859cc Implement nowrap mode 2021-09-09 15:38:01 +02:00
Henrik Giesel
28b1c09cda Implement TagWithTooltip 2021-09-09 15:38:00 +02:00
Henrik Giesel
7058d14d25 Move WithTooltip to components 2021-09-09 15:38:00 +02:00
Henrik Giesel
ffb1f3bff2 Space out Sticky Bottom with Spacer component 2021-09-09 15:37:58 +02:00
Henrik Giesel
d40e0df11b Position stickyBottom fixed 2021-09-09 15:37:56 +02:00
Henrik Giesel
d15d6d1584 Improve positioning of tag editor badges 2021-09-09 15:37:56 +02:00
Henrik Giesel
63dc42cff6 Do not open autocomplete on clicking input 2021-09-09 15:37:55 +02:00
Henrik Giesel
95806c5176 Allow clicking on suggestion items 2021-09-09 15:37:54 +02:00
Henrik Giesel
3dff89fda5 Switch WithAutocomplete to WithDropdown and fix SelectedTagBadge 2021-09-09 15:37:53 +02:00
Henrik Giesel
874a315f83 Add SelectedTagBadge to offer context items for selected tags 2021-09-09 15:37:53 +02:00
Henrik Giesel
376f543680 Make automatic deselect when leaving tag editor 2021-09-09 15:37:52 +02:00
Henrik Giesel
e876a374e2 Disable toggle on clicking element (toggle) for WithAutocomplete 2021-09-09 15:37:51 +02:00
Henrik Giesel
b93646209a Introduce AutocompleteItem
* needs too much custom styling / behavior to be done with DropdownItem
2021-09-09 15:37:50 +02:00
Henrik Giesel
a515a9899b Don't allow Enter/Tab/Arrows for Autocomplete, if not active
Don't show Autocomplete, if there are no items available
2021-09-09 15:37:49 +02:00
Henrik Giesel
11c6fe880b Add some visual for TagAutocomplete 2021-09-09 15:37:39 +02:00
Henrik Giesel
281985480d Fix some WithDropdownMenu logic 2021-09-09 15:37:37 +02:00
Henrik Giesel
808d01c4fb Decouple TagInput from TagAutocomplete completely 2021-09-09 15:37:37 +02:00
Henrik Giesel
8d95503189 Add tabbable option to DropdownItem 2021-09-09 15:37:37 +02:00
Henrik Giesel
a5af3a9280 Fix issue with text showing below StickyBottom 2021-09-09 15:37:37 +02:00
Henrik Giesel
6c6062cc58 Make styling of DropdownMenu easier by introducing dropdown-content 2021-09-09 15:37:36 +02:00
Henrik Giesel
d705d049ce Delete when updating tagname to empty text 2021-09-09 15:37:35 +02:00
Henrik Giesel
3ad86dfb33 Use our DropdownMenu component for TagAutocomplete 2021-09-09 15:37:34 +02:00
Henrik Giesel
64a2ead2ca Remove TagInputEdit and TagInputNew 2021-09-09 15:37:34 +02:00
Henrik Giesel
f056851c1e Port Focus tags shortcut to webview 2021-09-09 15:37:34 +02:00
Henrik Giesel
9418b1491b Create AddTagBadge component 2021-09-09 15:37:33 +02:00
Henrik Giesel
77be86ec21 Enable tag delete icon 2021-09-09 15:37:33 +02:00
Henrik Giesel
1026d26793 Display a tag-outline icon in the bottom left 2021-09-09 15:37:33 +02:00
Henrik Giesel
bb6db5bd95 Add Tag DeleteIcon 2021-09-09 15:37:33 +02:00
Henrik Giesel
f9b320e105 Mount TagEditor 2021-09-09 15:37:33 +02:00
Henrik Giesel
f5ab78825a Fix Float buttons in rtl 2021-09-06 21:15:37 +10:00
Henrik Giesel
2d342ddfe3 Have a uniform border-radius for buttons and fields 2021-09-06 21:15:37 +10:00
Henrik Giesel
cc2641095f Fix automatic positioning of ButtonDropdown after changing float property 2021-09-06 21:15:37 +10:00
Henrik Giesel
3579b6a3b6 Introduce WithImageConstrained 2021-09-06 21:15:37 +10:00
Henrik Giesel
c6e56e0465 Better RTL support 2021-09-06 21:15:36 +10:00
Henrik Giesel
8ff8186aab Uniformly shorten SCSS imports/uses 2021-09-02 23:37:17 +02:00
Henrik Giesel
95c8f5a12a Use event object in createShortcut, fix F8 for highlight 2021-07-26 06:15:30 +02:00
Damien Elmes
616db33c0e refactor protobuf handling for split/import
In order to split backend.proto into a more manageable size, the protobuf
handling needed to be updated. This took more time than I would have
liked, as each language handles protobuf differently:

- The Python Protobuf code ignores "package" directives, and relies
solely on how the files are laid out on disk. While it would have been
nice to keep the generated files in a private subpackage, Protobuf gets
confused if the files are located in a location that does not match
their original .proto layout, so the old approach of storing them in
_backend/ will not work. They now clutter up pylib/anki instead. I'm
rather annoyed by that, but alternatives seem to be having to add an extra
level to the Protobuf path, making the other languages suffer, or trying
to hack around the issue by munging sys.modules.
- Protobufjs fails to expose packages if they don't start with a capital
letter, despite the fact that lowercase packages are the norm in most
languages :-( This required a patch to fix.
- Rust was the easiest, as Prost is relatively straightforward compared
to Google's tools.

The Protobuf files are now stored in /proto/anki, with a separate package
for each file. I've split backend.proto into a few files as a test, but
the majority of that work is still to come.

The Python Protobuf building is a bit of a hack at the moment, hard-coding
"proto" as the top level folder, but it seems to get the job done for now.

Also changed the workspace name, as there seems to be a number of Bazel
repos moving away from the more awkward reverse DNS naming style.
2021-07-10 19:17:05 +10:00
Henrik Giesel
adfe6597a5 disabledKey => fieldFocusedKey 2021-07-05 18:15:03 +02:00
Henrik Giesel
9cc0d0a01c Fix issues with sometimes cause assignment of wrong position value 2021-07-05 17:17:58 +02:00
Henrik Giesel
24af5bada3 More uniform file naming
kebap-case for .ts, .scss, .html, and directories
2021-07-01 12:24:16 +02:00
Henrik Giesel
6493adf7ca Refactor WithDropdown to be more versatile and cause less bugs 2021-06-30 14:01:33 +02:00
Henrik Giesel
4e4683a122 Make gear button show dropdown menu 2021-06-21 20:24:15 +02:00
Henrik Giesel
48b7ae3cd0 Revert button with gear icon, that shows revert dropdown item 2021-06-21 19:11:10 +02:00
Henrik Giesel
abca240de7 Disable RevertButton tooltip on touch devices
The tooltip will show after you clicked Revert. There's no sensible way
to show the tooltip, without also triggering the functionality
2021-06-21 17:02:48 +02:00
Henrik Giesel
dba85e7755 Add down-arrow SASS function 2021-06-21 17:02:48 +02:00
Henrik Giesel
65f0e7a4ea Use custom down arrow for both SelectButton and EnumSelector 2021-06-21 17:02:48 +02:00
Henrik Giesel
e030e6f656 Rename SectionItem to just Item and use across option sections 2021-06-21 17:02:46 +02:00
Henrik Giesel
2728b5fa63 Add Container.svelte 2021-06-21 17:01:45 +02:00
Henrik Giesel
282de21675 Use Bootstrap containers instead of CSS in base for deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
c49ad009d0 Add Section and SectionItem for the deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
da076aa48e Generalize ButtonToolbarItem to SectionItem 2021-06-21 17:01:42 +02:00
Henrik Giesel
28679968f7 Disable FormatBlock buttons for Codable 2021-06-18 01:17:43 +02:00
Henrik Giesel
eeb954535f Disable Bold button in Codable 2021-06-18 00:27:07 +02:00
Henrik Giesel
06545d98a4 Change default icon size of IconButtons 2021-05-31 00:31:10 +02:00
Henrik Giesel
aaa210d662 Make ColorPicker buttons halfwidth 2021-05-31 00:17:06 +02:00
Henrik Giesel
8e81a79fbf Implement new ColorPicker 2021-05-30 22:58:40 +02:00
Henrik Giesel
54609f408a Implement new way to way to display icons in IconButtons
* allows for multiple icons overlay
* allows to make individual icons smaller/bigger
2021-05-30 21:05:16 +02:00
Henrik Giesel
91b16a67d6 Add overflow-x: hidden for SelectButton 2021-05-28 21:33:34 +02:00
Henrik Giesel
358794c911 Uniformly use variables to Button{Toolbar,Group} for setting button properties
Instead of using WithTheming around ButtonToolbar/ButtonGroup
2021-05-27 17:13:36 +02:00
Damien Elmes
0026506543 update ts deps
- prettier's formatting has changed, so files needed to be reformatted
- dart is spitting out deprecation warnings like:

254 │   2: $spacer / 2,
    │      ^^^^^^^^^^^
    ╵
    bazel-out/darwin-fastbuild/bin/ts/sass/bootstrap/_variables.scss 254:6  @import
    ts/sass/button_mixins.scss 2:9                                          @use
    ts/components/ColorPicker.svelte 2:5                                    root stylesheet

DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($grid-gutter-width, 2)
2021-05-26 09:37:40 +10:00
Henrik Giesel
5cc6fc7d9b Use TextInputModal directly from svelte component
* the only important thing is that it is not positioned within elements
  with display: none
* I think we can treat the existence of the modal to be a kind of
  "precondition" that has to be met for the component to be used
2021-05-26 08:46:12 +10:00
Henrik Giesel
cf223d615a Fix background on DropdownItem + make transitions on buttons quicker 2021-05-24 19:53:30 +02:00
Henrik Giesel
3a18dce03f Prefer event.which over event.{key,code}
It works better with alternative Latin-based keyboard layouts
2021-05-22 17:50:23 +02:00
Henrik Giesel
c89c42dc37 Base shortcuts with letters no event.key, with symbols/numbers on event.code 2021-05-21 22:45:55 +02:00
Henrik Giesel
ae19ed527d Switch to keyboard shortcuts based on event.key 2021-05-20 18:28:59 +02:00
Damien Elmes
5d21383e88 make sticky bar border a bit fainter 2021-05-20 12:49:07 +10:00
Damien Elmes
9789dd2bf9 fix invisible dropdown arrow in night mode; use bootstrap styling in top 2021-05-20 12:43:47 +10:00
Damien Elmes
df38788e07 move deck name into window title; v-center sticky bar 2021-05-19 19:34:15 +10:00
Damien Elmes
3f0fd548d8 increase toolbar size by 5px and use the default font sizes
Workaround for #1174 for now
2021-05-19 19:23:32 +10:00
Henrik Giesel
32ca473fd4 Make SaveButton functional 2021-05-18 18:55:22 +02:00
Henrik Giesel
94cdebe59c Make styling on select button behave correctly 2021-05-18 17:50:18 +02:00
Henrik Giesel
e5d11ac547 WIP: Use our components in deckoptions sticky bar 2021-05-18 16:32:29 +02:00
Henrik Giesel
8b0c6ba5df Check for id when inserting dynamic elements
* I'm not sure it behaved, if there were multiple elements
  inserted by different add-ons into the same container
2021-05-07 16:50:17 +02:00
Henrik Giesel
cf38cb334e Fix remaining errors in editor/*.svelte files 2021-05-07 15:10:28 +02:00
Henrik Giesel
6081a02558 Use MouseEvent instead of KeyboardEvent in WithShortcut
* otherwise the disabled button will allow it to pass through
2021-05-07 14:46:08 +02:00
Henrik Giesel
9e747a5744 Rename Detachable.detach to detached 2021-05-07 14:31:08 +02:00
Henrik Giesel
2112b419f9 Fix ButtonDropdown 2021-05-07 02:04:44 +02:00
Henrik Giesel
193e2f9e60 Make LabelButtons support active notion 2021-05-07 02:04:44 +02:00
Henrik Giesel
0f4d4eb5a9 Only initialize extension apis if necessary 2021-05-07 02:04:44 +02:00
Henrik Giesel
c9368ed98f Add lefttopbtns as AddonButtons 2021-05-07 02:04:44 +02:00
Henrik Giesel
928f486867 Add ButtonToolbarItem as interface for modifying button groups 2021-05-07 02:04:44 +02:00
Henrik Giesel
4a6b3b3786 Clean up ButtonGroup and factor out extension logic 2021-05-07 02:04:44 +02:00
Henrik Giesel
e80f43e8fc Enable setting of PreviewButton and hiding of cloze button again 2021-05-07 02:04:42 +02:00
Henrik Giesel
862905c58a Fix typing issues 2021-05-07 02:03:55 +02:00
Henrik Giesel
0371405c23 Use ButtonGroupItem for all buttons in editor 2021-05-07 02:03:55 +02:00
Henrik Giesel
bcb1b5d214 Set ButtonPosition via ButtonGroupItem 2021-05-07 02:03:55 +02:00
Henrik Giesel
e1cc22b9ee Add hiding functionality in ButtonGroup 2021-05-07 02:03:55 +02:00
Henrik Giesel
26f85a0f9d Add API for adding new buttons, updating existing ones in ButtonGroup 2021-05-07 02:03:55 +02:00
Henrik Giesel
413ac6cf63 Fix issue with dropdowns 2021-05-07 02:03:55 +02:00
Henrik Giesel
c1adebf2da Add .dropdown-menu class to DropdownMenu 2021-05-07 02:03:55 +02:00
Henrik Giesel
9d9df2a04b Add back ColorButtons 2021-05-07 02:03:55 +02:00
Henrik Giesel
bd31a19852 Activate FormatBlockButtons 2021-05-07 02:03:55 +02:00
Henrik Giesel
0baf14dc8b Refactor {CommandIcon,Icon,Square}Button into IconButton and WithState 2021-05-07 02:03:55 +02:00
Henrik Giesel
2f5074bff6 Make StickyBar flex 2021-05-07 02:03:55 +02:00
Henrik Giesel
8aa3f5f2fa Translate ts files in ts/editor to svelte files 2021-05-07 02:03:55 +02:00
Henrik Giesel
47b1cfe804 Rename editor-toolbar to components 2021-05-07 02:03:55 +02:00