Commit graph

379 commits

Author SHA1 Message Date
Henrik Giesel
2a548f2ebd Turn off no-explicit-warning for editing-area 2021-09-06 21:15:36 +10:00
Henrik Giesel
e8ec6b61a7 Use ResizeObserver to resize overlay if necessary 2021-09-06 21:15:36 +10:00
Henrik Giesel
2224d1c287 Reset image handle on keydown and blur 2021-09-06 21:15:36 +10:00
Henrik Giesel
796037649a Better RTL support 2021-09-06 21:15:36 +10:00
Henrik Giesel
9342d19504 Move selector / active logic up to ImageHandle 2021-09-06 21:15:36 +10:00
Henrik Giesel
47cd308251 Do not use width/height auto important to avoid enlarging smaller images 2021-09-06 21:15:36 +10:00
Henrik Giesel
7696a181f3 Implement Maximum image size mechanism 2021-09-06 21:15:36 +10:00
Henrik Giesel
a6b071d849 Add float tooltips 2021-09-06 21:15:36 +10:00
Henrik Giesel
5257a4db26 Allow SW resize 2021-09-06 21:15:36 +10:00
Henrik Giesel
5e91108a79 Bind to style properties instead of events 2021-09-06 21:15:36 +10:00
Henrik Giesel
b919b9cb7f Add functionality to set float of image 2021-09-06 21:15:36 +10:00
Henrik Giesel
2a81273115 Image resizes preserves ratio 2021-09-06 21:15:36 +10:00
Henrik Giesel
9b97320438 Add image-handle-dimensions to show dimensions directly on image 2021-09-06 21:15:36 +10:00
Henrik Giesel
53d1435aa7 First implementation of ImageHandle 2021-09-06 21:15:36 +10:00
Damien Elmes
3e5a2a92c7 Introduce editable-container
Contains the shadow root, and references to the styles.
Is ignorant of Editable.
Is necessary, so our we editable.scss does not need to contain
information about Codable, ImageHandle or all those other things which
have nothing to do with Editable
2021-09-06 21:15:36 +10:00
Henrik Giesel
1f34b666b9 Uniformly shorten SCSS imports/uses 2021-09-02 23:37:17 +02:00
Henrik Giesel
0667706d60 Add source for block level elements 2021-09-02 22:31:25 +10:00
Henrik Giesel
f7954af1be Remove special treatment of empty anki-editable 2021-09-02 22:31:25 +10:00
Henrik Giesel
47252983c5 Check for non-existence of block tags instead of exclusive existence of inline tags in editable 2021-09-02 22:31:25 +10:00
Damien Elmes
f5bbeba218 Merge pull request #1350 from hgiesel/exportshortcuts
Implement register-package and export some packages
2021-09-02 22:23:12 +10:00
Damien Elmes
575ddb6cc6 Merge pull request #1351 from hgiesel/fontisinline
Add FONT as an inline tag
2021-09-02 22:22:19 +10:00
Damien Elmes
3fc1ead668 don't allow | in generic family 2021-09-02 21:05:17 +10:00
Henrik Giesel
bafbdb3835 Add FONT as an inline tag 2021-08-31 13:59:07 +02:00
Henrik Giesel
76ca1356ac Implement register-package and export some packages
Exported packages are:
* anki/packages
* anki/shortcuts
* anki/bridgecommand
2021-08-30 14:41:40 +02:00
Damien Elmes
aaa6ecb7e6 Merge pull request #1340 from hgiesel/exportinternal
Export Svelte internals
2021-08-24 10:42:17 +10:00
Damien Elmes
875fd62264 expose require() instead of the svelte global
- Means add-on authors should not need to inject any code in their build
- Should be more flexible - we can export multiple libraries if we wish,
and don't have to worry about require() being clobbered by old add-ons.
2021-08-24 10:22:07 +10:00
Henrik Giesel
119d2e0eb4 Rename cross-unit to export-internal 2021-08-23 23:45:50 +02:00
Henrik Giesel
0585a5da3e Export WithShortcut 2021-08-23 21:23:04 +02:00
Henrik Giesel
5c987896cf Export svelte_internal as library on window object
Closes https://github.com/ankitects/anki/issues/1328.
2021-08-23 21:16:15 +02:00
hikaru-y
0331da21e6 Quote font family names, except for generic families
Fixes https://forums.ankiweb.net/t/font-script-is-not-changing-in-the-anki-windows/12465
2021-08-20 04:31:11 +09:00
Henrik Giesel
b396ef558c Satisfy eslint 2021-08-03 06:12:04 +02:00
Henrik Giesel
00b990b79e Add tooltip for Toggly sticky icon 2021-08-03 06:02:29 +02:00
Henrik Giesel
485460870c Increase inactive opacity a little for better discoverability 2021-08-03 05:52:57 +02:00
Henrik Giesel
2649dc0ad7 Add toggle sticky shortcuts F9 and Shift+F9 2021-08-03 05:52:07 +02:00
Damien Elmes
9a809af6ab Merge pull request #1320 from hgiesel/colorpickerplus
Remember last text and highlight color again
2021-08-03 09:07:46 +10:00
Henrik Giesel
39566638f3 Remember last text and highlight color again 2021-08-02 23:12:00 +02:00
Henrik Giesel
94eff9a864 Install Ctrl+Shfit+V paste only on Apple platforms 2021-07-31 03:43:10 +02:00
Henrik Giesel
8c6df4461d Remove registerShortcut for Ctrl+C/V/A/X from editor/index.ts 2021-07-30 22:28:40 +02:00
Damien Elmes
83a4e510da Merge pull request #1312 from hgiesel/smalleditorrefactors
Use :host instead of :host-context
2021-07-28 13:19:04 +10:00
Damien Elmes
cd784dd652 show warning when trying to indent plain text
https://forums.ankiweb.net/t/2-1-45-release-candidate/11362/55
2021-07-28 12:18:04 +10:00
Henrik Giesel
f682cdf755 Use :host instead of :host-context 2021-07-26 16:06:50 +02:00
Henrik Giesel
8335f81396 Use event object in createShortcut, fix F8 for highlight 2021-07-26 06:15:30 +02:00
Henrik Giesel
78f3aff987 Rename to text color and text color highlight 2021-07-26 05:28:28 +02:00
Henrik Giesel
28e2f62793 Remove protobuf important from reiewer (no longer necessary (?)) 2021-07-16 16:56:56 +02:00
Henrik Giesel
791d7f2f4b Move reviewer to ts/reviewer 2021-07-16 16:56:55 +02:00
Damien Elmes
3ca4ca397a add workaround for protobufjs requiring uppercase package names
I mourn the time lost trying to track this down :-(

https://github.com/protobufjs/protobuf.js/issues/1014

We can't patch the minified file in dist without essentially duplicating
it, so this change also switches from the external file to including
the src file as part of the bundle.
2021-07-10 15:24:01 +10:00
hikaru-y
d7ec723f4b Set lineWiseCopyCut option to false
Fixes https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/103
Related: https://github.com/codemirror/CodeMirror/issues/3169
2021-07-08 01:19:19 +09:00
Damien Elmes
0043910ae7 Merge pull request #1280 from hgiesel/addonimprov2
Export via components for Deck Options
2021-07-07 09:53:05 +10:00
Damien Elmes
13dcc9636e Merge pull request #1279 from hgiesel/addonimprov
Remove disabled / Export via Components
2021-07-07 09:31:00 +10:00
Henrik Giesel
30a50b746b Export editor globals under anki namespace 2021-07-06 03:48:33 +02:00
Henrik Giesel
9546c49f93 Remove WithShortcut for now - it does not work 2021-07-05 22:32:19 +02:00
Henrik Giesel
fb3545545c disabledKey => fieldFocusedKey 2021-07-05 18:15:03 +02:00
Henrik Giesel
57fe9f91c2 Fix issues with sometimes cause assignment of wrong position value 2021-07-05 17:17:58 +02:00
Henrik Giesel
9e415344ae Use Components.svelte instead of exporting from EditorToolbar.svelte 2021-07-05 16:19:03 +02:00
Damien Elmes
42514dd008 add comment about the use of linear-gradient
Otherwise one of us is likely to return to the code in a few years,
think it could be made simpler, and then break things again. :-)
2021-07-05 11:09:22 +10:00
hikaru-y
22e036a129 Prevent #dupe bgcolor from being carried over when copying text
use 'background-image' instead of 'background-color'
to prevent the background-color from being carried over
when copying text to another field in day mode
2021-07-05 04:11:03 +09:00
Damien Elmes
447bd2671c Merge pull request #1273 from hgiesel/macshortcuts
Execute Ctrl+C/V/X/A via execCommand in editor
2021-07-04 16:02:52 +10:00
Henrik Giesel
5b2290f868 Execute Ctrl+C/V/X/A through execCommand in editor (so we can customize it) 2021-07-03 01:48:49 +02:00
Henrik Giesel
76f432c94f Allow non-null assertion in focus-handlers 2021-07-03 01:14:59 +02:00
Henrik Giesel
1968972c1c Move selection into editable, if it's not there after focus 2021-07-03 01:00:52 +02:00
Damien Elmes
f4b15e1351 Merge pull request #1266 from hgiesel/renamelib
More uniform file naming
2021-07-02 09:31:52 +10:00
Henrik Giesel
db4cbfcb26 More uniform file naming
kebap-case for .ts, .scss, .html, and directories
2021-07-01 12:24:16 +02:00
Henrik Giesel
2680ffb969 Use better cloze button icon 2021-07-01 11:46:39 +02:00
Henrik Giesel
27335e1d33 Refactor WithDropdown to be more versatile and cause less bugs 2021-06-30 14:01:33 +02:00
Damien Elmes
50e7d6ea00 disable cloze&math buttons in html mode
Following on from 35777bb0ca
Keeping them active seems to encourage users to experiment:
https://forums.ankiweb.net/t/cloze-deleting-html-svg/11011
2021-06-25 10:31:47 +10:00
Henrik Giesel
1599526726 Make Codable abstract more over its textarea v codemirror when using fieldHTML 2021-06-24 19:55:50 +02:00
Henrik Giesel
9f0343f591 Make EditingArea intialize this.fieldHTML, not Editable.fieldHTML 2021-06-24 19:15:07 +02:00
Henrik Giesel
e5709ec90c Adapt use of createDropdown for editor buttons 2021-06-22 17:31:06 +02:00
Henrik Giesel
191684c1b0 Rename SectionItem to just Item and use across option sections 2021-06-21 17:02:46 +02:00
Henrik Giesel
d2360869b3 Add Section and SectionItem for the deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
0061d61db5 Generalize ButtonToolbarItem to SectionItem 2021-06-21 17:01:42 +02:00
Henrik Giesel
b1414c188d Add type hint in WithColorHelper 2021-06-19 16:31:35 +02:00
Henrik Giesel
0a7697596d Make Color Pickers also format with colors 2021-06-19 16:27:09 +02:00
Damien Elmes
22f073d29c Merge pull request #1242 from hgiesel/codable
In-line HTML-Editing for Editor
2021-06-18 17:18:35 +10:00
Henrik Giesel
c74d486120 Satisfy svelte_check 2021-06-18 03:12:02 +02:00
Henrik Giesel
44ed54a20f Remove components from editor BUILD.bazel again 2021-06-18 02:59:45 +02:00
Henrik Giesel
519cc78c66 Disable function dropdown when no field selected 2021-06-18 02:51:42 +02:00
Henrik Giesel
8ca7dc589c Satisfy linter 2021-06-18 02:44:15 +02:00
Henrik Giesel
f06b709a66 Make text wrapper buttons work with Codable 2021-06-18 02:33:56 +02:00
Henrik Giesel
35777bb0ca Disable Media button for Codable, but keep wrapping and cloze key for now 2021-06-18 02:02:01 +02:00
Henrik Giesel
5992910fe8 Disable ColorButtons for Codable 2021-06-18 01:44:15 +02:00
Henrik Giesel
2de2e7ccf5 Allow Tab and Shift+Tab on Codable 2021-06-18 01:32:46 +02:00
Henrik Giesel
dee7be2323 Disable FormatBlock buttons for Codable 2021-06-18 01:17:43 +02:00
Henrik Giesel
dd1344d7f0 Disable Bold button in Codable 2021-06-18 00:27:07 +02:00
Henrik Giesel
0315aeefd7 Make different onPaste behavior for Editable and Codable 2021-06-17 23:12:15 +02:00
Henrik Giesel
32b3702d3c Have correct enter behavior in for Editable and Codable 2021-06-17 22:02:06 +02:00
Henrik Giesel
e773d75f6d Add autoclosetag addon for CodeMirror 2021-06-17 21:45:11 +02:00
Henrik Giesel
b1414376e4 Make it so you don't have to close the HTML mode for html to be written back 2021-06-17 21:36:56 +02:00
Henrik Giesel
bf9cbcd527 Only toggle the current field, not all 2021-06-17 20:57:20 +02:00
Henrik Giesel
7687a030ff Make Codable enter behavior the same as Editable 2021-06-17 20:47:33 +02:00
Henrik Giesel
7530121314 Match and fold tags 2021-06-17 20:27:34 +02:00
Henrik Giesel
44e2560c8b Make editable hide correctly when activating codable 2021-06-17 19:08:14 +02:00
Henrik Giesel
df32f60029 Successfully add monokai theming 2021-06-17 18:36:12 +02:00
Henrik Giesel
751747a693 Make DOMParser correctly return innerHTML 2021-06-17 17:52:27 +02:00
Henrik Giesel
d2b697fc1b Make Codable correctly update the editable state and its button 2021-06-17 17:49:50 +02:00
Henrik Giesel
6ce9d18e4c Apply the Monokai theme 2021-06-17 17:18:00 +02:00
Henrik Giesel
e895f85cbc Setup toggleHtmlEdit on editingArea 2021-06-17 17:08:33 +02:00
Henrik Giesel
c6cee3bf31 Connect HtmlEditButton to codable 2021-06-17 15:30:05 +02:00
Henrik Giesel
48c8f89a11 Display CodeMirror in editingArea 2021-06-17 14:44:03 +02:00
Henrik Giesel
96e549e0d4 Add codable element 2021-06-17 13:46:25 +02:00
Damien Elmes
532ac8b511 Merge pull request #1230 from RumovZ/fields-check
Check for misplaced or missing clozes when adding and in the editor
2021-06-17 21:26:16 +10:00
RumovZ
be54c4352a Merge cloze hint divs into one 2021-06-15 08:43:18 +02:00
RumovZ
3572f0a0c6 Add editor hints for cloze errors 2021-06-12 17:35:40 +02:00
hikaru-y
d6370d13bf Disable color picker buttons when a field is not focused 2021-06-11 23:36:06 +09:00
Damien Elmes
33cecaa618 use different toolbar size on Mac
see discussion on 8c8bf26488
2021-06-05 11:28:36 +10:00
Damien Elmes
8c8bf26488 try toolbar size of 1.85rem
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/97
2021-06-04 15:11:34 +10:00
Henrik Giesel
973cd59b29 Make ColorPicker buttons halfwidth 2021-05-31 00:17:06 +02:00
Henrik Giesel
6d72e7bc49 Implement new ColorPicker 2021-05-30 22:58:40 +02:00
Henrik Giesel
93c0770cd0 Implement WithColorHelper.svelte 2021-05-30 21:44:05 +02:00
Henrik Giesel
794f9db637 Add new color icons 2021-05-30 20:09:09 +02:00
Henrik Giesel
054f96b726 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
3489257f41 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
ba1abf0353 Use min-{width,height} for legacy buttons 2021-05-25 20:29:42 +02:00
Henrik Giesel
e7f9eaf1ce Restructure legacy scss / remove button_mixin import 2021-05-25 13:57:09 +02:00
Henrik Giesel
5b6fbad5bb Base width/height off on --toolbar-size for legacy buttons 2021-05-25 13:29:55 +02:00
Matthias M
3d50972489 Restrict inversion to images 2021-05-24 19:46:51 +02:00
Matthias M
3ecc7add82 Adjust active:hover behaviour
so it behaves like Svelte buttons, when clicking and dragging the mouse away from the button.
2021-05-24 13:11:50 +02:00
Matthias M
ee1fbf2a8f Use !important instead of :not() selector
!important cannot be used with the radius mixin, so I had to state them explicitly.
2021-05-24 11:21:42 +02:00
Matthias M
afd6e47799 Merge branch 'ankitects:main' into main 2021-05-24 10:59:02 +02:00
Matthias M
a2980e04b0 Remove CSS variable button-bg again
The variable is not as useful as I thought, since night mode uses a gradient anyway (and day mode is simply white).
2021-05-23 19:39:57 +02:00
Matthias M
6cefa0f1bf Remove transition from .linkb to fix blinking 2021-05-23 15:55:22 +02:00
Matthias M
0063dcb3c8 Add CSS variable --button-bg
might be useful for add-on developers.
2021-05-23 01:18:00 +02:00
Matthias M
c612c41023 Make legacy buttons look like Svelte buttons
with extra night mode handling.
2021-05-23 00:50:02 +02:00
Matthias M
95cfd7e0b5 Invert legacy button content in night mode
for better visibility.
2021-05-22 22:40:21 +02:00
Henrik Giesel
6f31ab5990 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
5cbda88605 Base shortcuts with letters no event.key, with symbols/numbers on event.code 2021-05-21 22:45:55 +02:00
Henrik Giesel
abf1418695 Switch to keyboard shortcuts based on event.key 2021-05-20 18:28:59 +02:00
Damien Elmes
4fc701eb1b fix fields/cards font size & too-large toolbar on high DPI Windows
- enable default_css on editor again, so that the html element
is set to the system font size. If this is bringing in unwanted styling,
maybe we can come up with a different solution that just adjusts the
fonts
- make toolbar size relative to html font size, instead of hard-coding
it
2021-05-20 13:15:17 +10:00
Damien Elmes
991695b7f6 use standard toolbar colors for legacy items 2021-05-19 19:58:12 +10:00
Damien Elmes
390379ed62 disable svelte-check on Windows for now 2021-05-19 11:45:02 +10:00
Henrik Giesel
30d246d74b WIP: Use our components in deckoptions sticky bar 2021-05-18 16:32:29 +02:00
Henrik Giesel
777d774545 Use StickyBar in deckoptions 2021-05-18 14:13:11 +02:00
Damien Elmes
2dab3f0487 disable broken svelte_check test on Windows for now
Likely caused by a lack of sandboxing on Windows, causing the generated
.d.ts files to be visible to svelte_check, and being picked up in
preference over the .svelte file.
2021-05-08 12:15:49 +10:00
Henrik Giesel
cd6599c301 Fix module name formatting 2021-05-07 02:14:54 +02:00
Henrik Giesel
1e5feffba0 Fix Preview tooltip 2021-05-07 02:04:44 +02:00
Henrik Giesel
8a558eb297 Fix unused CSS selector issue in graphs introduced by updating Svelte 2021-05-07 02:04:44 +02:00
Henrik Giesel
fbc9c8a250 Use any in toolbar.ts for using context as parameter 2021-05-07 02:04:44 +02:00
Henrik Giesel
8f2c5a0c1c Turn on editor:eslint 2021-05-07 02:04:44 +02:00
Henrik Giesel
147617dff2 Add copyright header 2021-05-07 02:04:44 +02:00
Henrik Giesel
17bca7be6e Add ts-expect-error for module import in EditorToolbar 2021-05-07 02:04:44 +02:00
Henrik Giesel
bb2fb8e9f5 Fix ButtonDropdown 2021-05-07 02:04:44 +02:00
Henrik Giesel
d92a0c44c7 Add lefttopbtns as AddonButtons 2021-05-07 02:04:44 +02:00
Henrik Giesel
d3bec1a584 Add ButtonToolbarItem as interface for modifying button groups 2021-05-07 02:04:44 +02:00
Henrik Giesel
55e8256f0e Clean up ButtonGroup and factor out extension logic 2021-05-07 02:04:44 +02:00
Henrik Giesel
dd99524ae0 Enable setting of PreviewButton and hiding of cloze button again 2021-05-07 02:04:42 +02:00
Henrik Giesel
0612c3428b Fix typing issues 2021-05-07 02:03:55 +02:00
Henrik Giesel
47edde0d00 Set tooltip for buttons correctly 2021-05-07 02:03:55 +02:00
Henrik Giesel
74dad42df3 Use ButtonGroupItem for all buttons in editor 2021-05-07 02:03:55 +02:00
Henrik Giesel
f724b45ae1 Add hiding functionality in ButtonGroup 2021-05-07 02:03:55 +02:00
Henrik Giesel
da5756822f Add API for adding new buttons, updating existing ones in ButtonGroup 2021-05-07 02:03:55 +02:00