autumnnote 1.4.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -21
- package/dist/autumnnote.css +324 -2
- package/dist/autumnnote.es.js +700 -228
- package/dist/autumnnote.es.js.map +1 -1
- package/dist/autumnnote.umd.js +691 -235
- package/dist/autumnnote.umd.js.map +1 -1
- package/package.json +8 -1
- package/src/js/Context.js +8 -3
- package/src/js/core/detectLang.js +98 -0
- package/src/js/core/dom.js +62 -6
- package/src/js/core/markdown.js +14 -13
- package/src/js/core/range.js +2 -2
- package/src/js/editing/History.js +6 -6
- package/src/js/editing/Style.js +19 -19
- package/src/js/editing/Table.js +4 -6
- package/src/js/editing/Typing.js +6 -6
- package/src/js/i18n/en.js +2 -0
- package/src/js/i18n/vi.js +2 -0
- package/src/js/index.js +4 -3
- package/src/js/module/BubbleToolbar.js +30 -13
- package/src/js/module/Buttons.js +16 -14
- package/src/js/module/Clipboard.js +5 -5
- package/src/js/module/CodeTooltip.js +42 -16
- package/src/js/module/Codeview.js +2 -2
- package/src/js/module/ContextMenu.js +12 -12
- package/src/js/module/Editor.js +64 -12
- package/src/js/module/EmojiDialog.js +19 -13
- package/src/js/module/FindReplace.js +85 -59
- package/src/js/module/Fullscreen.js +1 -1
- package/src/js/module/IconDialog.js +26 -20
- package/src/js/module/ImageCropOverlay.js +6 -6
- package/src/js/module/ImageDialog.js +18 -12
- package/src/js/module/ImageResizer.js +1 -1
- package/src/js/module/ImageTooltip.js +8 -4
- package/src/js/module/LinkDialog.js +18 -12
- package/src/js/module/LinkTooltip.js +5 -2
- package/src/js/module/Mention.js +3 -3
- package/src/js/module/Statusbar.js +2 -2
- package/src/js/module/TableTooltip.js +180 -18
- package/src/js/module/Toolbar.js +16 -15
- package/src/js/module/VideoDialog.js +8 -2
- package/src/js/module/VideoResizer.js +3 -3
- package/src/js/module/VideoTooltip.js +11 -6
- package/src/js/renderer.js +4 -2
- package/src/js/settings.js +53 -36
- package/src/styles/autumnnote.scss +332 -4
package/README.md
CHANGED
|
@@ -26,16 +26,17 @@ A modern WYSIWYG rich-text editor built with vanilla JavaScript (ES2022+) — no
|
|
|
26
26
|
|
|
27
27
|
1. [Features](#features)
|
|
28
28
|
2. [Installation](#installation)
|
|
29
|
-
3. [
|
|
30
|
-
4. [
|
|
31
|
-
5. [API](#api)
|
|
32
|
-
6. [
|
|
33
|
-
7. [
|
|
34
|
-
8. [
|
|
35
|
-
9. [
|
|
36
|
-
10. [
|
|
37
|
-
11. [
|
|
38
|
-
12. [
|
|
29
|
+
3. [Framework Wrappers](#framework-wrappers)
|
|
30
|
+
4. [Quick Start](#quick-start)
|
|
31
|
+
5. [Plugin API](#plugin-api)
|
|
32
|
+
6. [API](#api)
|
|
33
|
+
7. [Options](#options)
|
|
34
|
+
8. [Toolbar Customisation](#toolbar-customisation)
|
|
35
|
+
9. [Keyboard Shortcuts](#keyboard-shortcuts)
|
|
36
|
+
10. [Mentions](#mentions)
|
|
37
|
+
11. [Project Structure](#project-structure)
|
|
38
|
+
12. [Comparison](#comparison)
|
|
39
|
+
13. [License](#license)
|
|
39
40
|
|
|
40
41
|
---
|
|
41
42
|
|
|
@@ -66,7 +67,8 @@ A modern WYSIWYG rich-text editor built with vanilla JavaScript (ES2022+) — no
|
|
|
66
67
|
- **FA Icon picker** — FontAwesome 6 Free Solid icons across 8 categories; keyword search; configurable style, size, and colour; inserts as `<i>` element; auto-injects FA CDN if not on the page
|
|
67
68
|
|
|
68
69
|
### Search
|
|
69
|
-
- **Find and Replace** — `Ctrl+F` to find, `Ctrl+H` for find-and-replace; TreeWalker text matching; `<mark>` highlighting; case-sensitive toggle; Prev/Next navigation; single and replace-all modes
|
|
70
|
+
- **Find and Replace** — `Ctrl+F` to find, `Ctrl+H` for find-and-replace; compact non-blocking floating panel (top-right); TreeWalker text matching; `<mark>` highlighting; case-sensitive `Aa` toggle; icon-button Prev/Next navigation (↑ ↓); single and replace-all modes
|
|
71
|
+
- **Auto language detection** — when selected text is formatted as a code block the editor automatically analyses the content and applies Prism.js syntax highlighting; 20 languages detected: JavaScript, TypeScript, Python, HTML, CSS, SCSS, JSON, SQL, Bash, Java, C#, PHP, Ruby, Go, Rust, C++, C, Kotlin, Swift, XML
|
|
70
72
|
|
|
71
73
|
### Inline tooltips
|
|
72
74
|
Floating toolbars appear automatically when the user clicks on an editable element:
|
|
@@ -76,8 +78,8 @@ Floating toolbars appear automatically when the user clicks on an editable eleme
|
|
|
76
78
|
| **Link** | Open in new tab, Edit (reopens dialog), Unlink |
|
|
77
79
|
| **Image** | Edit alt/URL (reopens dialog), Crop, Delete |
|
|
78
80
|
| **Video** | Edit (reopens dialog), Delete |
|
|
79
|
-
| **Table cell** | Row above/below, Delete row, Column left/right, Delete column, Merge cells, Unmerge cells, Cell selection mode, Column width, Row height, Border width, Delete table |
|
|
80
|
-
| **Code block** | Copy code, Delete block |
|
|
81
|
+
| **Table cell** | Row above/below, Delete row, Column left/right, Delete column, Merge cells, Unmerge cells, Cell selection mode, Column width, Row height, Border width, **Cell background colour**, Delete table |
|
|
82
|
+
| **Code block** | Copy code, Language selector (20 languages + SCSS), Delete block |
|
|
81
83
|
|
|
82
84
|
### Context menu
|
|
83
85
|
Right-click inside the editor opens a context menu with: **Undo**, **Redo**, **Cut**, **Copy**, **Paste**, **Bold**, **Italic**, **Underline**, **Copy Format**, **Paste Format**, **Remove Format**, and a **colour palette** for quick text/highlight colour changes.
|
|
@@ -91,7 +93,8 @@ Right-click inside the editor opens a context menu with: **Undo**, **Redo**, **C
|
|
|
91
93
|
### UI
|
|
92
94
|
- **Toolbar** — fully configurable button groups; overflow strategy: `wrap` (default) or `scroll`; on viewports ≤ 640 px the toolbar automatically switches to a single horizontally-scrollable row regardless of the `toolbarOverflow` setting; FontAwesome icons with built-in SVG fallback
|
|
93
95
|
- **Sticky toolbar** — `stickyToolbar: true` pins the toolbar to the viewport top; configurable offset for fixed nav bars
|
|
94
|
-
- **Dark / light theme** — `theme: 'dark'` or `theme: 'light'` (default); full SCSS variable coverage
|
|
96
|
+
- **Dark / light theme** — `theme: 'dark'` or `theme: 'light'` (default); full SCSS variable coverage; dark styles propagate to all floating elements (dialogs, tooltips, colour pickers)
|
|
97
|
+
- **Draggable dialogs** — all dialogs (Link, Image, Video, Emoji, Icon, Find & Replace) can be repositioned by dragging their title bar; position is clamped to the viewport
|
|
95
98
|
- **Image resizer** — drag handle on selected image to resize proportionally
|
|
96
99
|
- **Video resizer** — drag handle on selected video embed to resize
|
|
97
100
|
- **Statusbar** — live word and character count; drag handle to resize editor height; limit warnings when `maxChars` or `maxWords` is reached
|
|
@@ -166,6 +169,66 @@ import 'autumnnote/dist/autumnnote.css';
|
|
|
166
169
|
|
|
167
170
|
---
|
|
168
171
|
|
|
172
|
+
## Framework Wrappers
|
|
173
|
+
|
|
174
|
+
Official React and Vue 3 wrappers are available as separate packages in this monorepo (managed with pnpm workspaces).
|
|
175
|
+
|
|
176
|
+
### React
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npm install autumnnote autumnnote-react
|
|
180
|
+
import 'autumnnote/dist/autumnnote.css';
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
```jsx
|
|
184
|
+
import { useRef } from 'react';
|
|
185
|
+
import AutumnNoteEditor from 'autumnnote-react';
|
|
186
|
+
|
|
187
|
+
function MyEditor() {
|
|
188
|
+
const editorRef = useRef(null);
|
|
189
|
+
|
|
190
|
+
return (
|
|
191
|
+
<AutumnNoteEditor
|
|
192
|
+
ref={editorRef}
|
|
193
|
+
options={{ placeholder: 'Start typing…', height: 300, bubbleToolbar: true }}
|
|
194
|
+
/>
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Access the editor instance:
|
|
199
|
+
editorRef.current.getHTML();
|
|
200
|
+
editorRef.current.invoke('editor.setHTML', '<p>Hello!</p>');
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
The `ref` is forwarded to the underlying `Context` instance via `useImperativeHandle`. Pass a `key` prop to force remount when options change.
|
|
204
|
+
|
|
205
|
+
### Vue 3
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
npm install autumnnote autumnnote-vue
|
|
209
|
+
import 'autumnnote/dist/autumnnote.css';
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
```vue
|
|
213
|
+
<script setup>
|
|
214
|
+
import { ref } from 'vue';
|
|
215
|
+
import AutumnNoteEditor from 'autumnnote-vue';
|
|
216
|
+
|
|
217
|
+
const editorRef = ref(null);
|
|
218
|
+
</script>
|
|
219
|
+
|
|
220
|
+
<template>
|
|
221
|
+
<AutumnNoteEditor
|
|
222
|
+
ref="editorRef"
|
|
223
|
+
:options="{ placeholder: 'Start typing…', height: 300 }"
|
|
224
|
+
/>
|
|
225
|
+
</template>
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Access the editor instance via `editorRef.value.editor.value` (the `editor` reactive ref exposed by `defineExpose`).
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
169
232
|
## Quick Start
|
|
170
233
|
|
|
171
234
|
### ES Module
|
|
@@ -641,16 +704,34 @@ src/
|
|
|
641
704
|
└── autumnnote.scss Main stylesheet
|
|
642
705
|
```
|
|
643
706
|
|
|
707
|
+
### Monorepo structure
|
|
708
|
+
|
|
709
|
+
This project uses **pnpm workspaces** to manage the core library alongside official framework wrappers:
|
|
710
|
+
|
|
711
|
+
```
|
|
712
|
+
autumn-note-ce/
|
|
713
|
+
├── pnpm-workspace.yaml # workspace root
|
|
714
|
+
├── src/ # core library source
|
|
715
|
+
├── packages/
|
|
716
|
+
│ ├── react/ # autumnnote-react
|
|
717
|
+
│ │ └── src/index.jsx
|
|
718
|
+
│ └── vue/ # autumnnote-vue
|
|
719
|
+
│ └── src/AutumnNote.vue
|
|
720
|
+
└── test/ # Vitest test suite
|
|
721
|
+
```
|
|
722
|
+
|
|
644
723
|
### Development commands
|
|
645
724
|
|
|
646
725
|
```bash
|
|
647
|
-
|
|
648
|
-
npm run dev
|
|
649
|
-
npm run build
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
npm run
|
|
653
|
-
npm run
|
|
726
|
+
pnpm install # install all workspace packages
|
|
727
|
+
npm run dev # start Vite dev server with HMR
|
|
728
|
+
npm run build # build core ES + UMD + CSS to dist/
|
|
729
|
+
pnpm --filter autumnnote-react build # build React wrapper
|
|
730
|
+
pnpm --filter autumnnote-vue build # build Vue wrapper
|
|
731
|
+
npm test # run Vitest test suite once
|
|
732
|
+
npm run test:watch # run tests in watch mode
|
|
733
|
+
npm run lint # ESLint
|
|
734
|
+
npm run typecheck # TypeScript type check (tsconfig.json)
|
|
654
735
|
```
|
|
655
736
|
|
|
656
737
|
Build output in `dist/`:
|
package/dist/autumnnote.css
CHANGED
|
@@ -560,6 +560,30 @@
|
|
|
560
560
|
letter-spacing: 0.02em;
|
|
561
561
|
}
|
|
562
562
|
|
|
563
|
+
.an-link-tooltip-btn--shade {
|
|
564
|
+
flex-direction: column;
|
|
565
|
+
gap: 1px;
|
|
566
|
+
padding: 4px 0 3px;
|
|
567
|
+
height: auto;
|
|
568
|
+
}
|
|
569
|
+
.an-link-tooltip-btn--shade .an-bubble-btn-svg {
|
|
570
|
+
display: flex;
|
|
571
|
+
align-items: center;
|
|
572
|
+
justify-content: center;
|
|
573
|
+
line-height: 0;
|
|
574
|
+
}
|
|
575
|
+
.an-link-tooltip-btn--shade .an-bubble-btn-svg svg {
|
|
576
|
+
display: block;
|
|
577
|
+
}
|
|
578
|
+
.an-link-tooltip-btn--shade .an-link-tooltip-color-strip {
|
|
579
|
+
display: block;
|
|
580
|
+
width: 13px;
|
|
581
|
+
height: 3px;
|
|
582
|
+
border-radius: 1px;
|
|
583
|
+
pointer-events: none;
|
|
584
|
+
background: transparent;
|
|
585
|
+
}
|
|
586
|
+
|
|
563
587
|
.an-link-tooltip-btn--active {
|
|
564
588
|
background: rgba(59, 130, 246, 0.12) !important;
|
|
565
589
|
color: #3b82f6 !important;
|
|
@@ -626,6 +650,51 @@
|
|
|
626
650
|
gap: 6px;
|
|
627
651
|
}
|
|
628
652
|
|
|
653
|
+
.an-cell-shade-popover {
|
|
654
|
+
position: fixed;
|
|
655
|
+
z-index: 1200;
|
|
656
|
+
background: #ffffff;
|
|
657
|
+
border: 1px solid #d1d5db;
|
|
658
|
+
border-radius: 8px;
|
|
659
|
+
padding: 10px 10px 6px;
|
|
660
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
661
|
+
min-width: 166px;
|
|
662
|
+
}
|
|
663
|
+
.an-cell-shade-popover .an-size-popover-title {
|
|
664
|
+
font-size: 11px;
|
|
665
|
+
font-weight: 600;
|
|
666
|
+
color: #6b7280;
|
|
667
|
+
text-transform: uppercase;
|
|
668
|
+
letter-spacing: 0.5px;
|
|
669
|
+
margin-bottom: 8px;
|
|
670
|
+
}
|
|
671
|
+
.an-cell-shade-popover .an-shade-no-color {
|
|
672
|
+
display: inline-flex;
|
|
673
|
+
align-items: center;
|
|
674
|
+
gap: 4px;
|
|
675
|
+
padding: 3px 8px;
|
|
676
|
+
font-size: 12px;
|
|
677
|
+
color: #6b7280;
|
|
678
|
+
background: transparent;
|
|
679
|
+
border: 1px solid #d1d5db;
|
|
680
|
+
border-radius: 4px;
|
|
681
|
+
cursor: pointer;
|
|
682
|
+
font-family: inherit;
|
|
683
|
+
}
|
|
684
|
+
.an-cell-shade-popover .an-shade-no-color:hover {
|
|
685
|
+
background: #f3f4f6;
|
|
686
|
+
color: #111827;
|
|
687
|
+
}
|
|
688
|
+
.an-cell-shade-popover .an-shade-color-input {
|
|
689
|
+
width: 24px;
|
|
690
|
+
height: 24px;
|
|
691
|
+
padding: 0;
|
|
692
|
+
border: 1px solid #d1d5db;
|
|
693
|
+
border-radius: 4px;
|
|
694
|
+
cursor: pointer;
|
|
695
|
+
background: transparent;
|
|
696
|
+
}
|
|
697
|
+
|
|
629
698
|
.an-codeview {
|
|
630
699
|
flex: 1;
|
|
631
700
|
width: 100%;
|
|
@@ -698,8 +767,31 @@
|
|
|
698
767
|
gap: 10px;
|
|
699
768
|
}
|
|
700
769
|
|
|
770
|
+
.an-dialog-header {
|
|
771
|
+
display: flex;
|
|
772
|
+
align-items: center;
|
|
773
|
+
gap: 12px;
|
|
774
|
+
margin-bottom: 4px;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.an-dialog-icon {
|
|
778
|
+
display: flex;
|
|
779
|
+
align-items: center;
|
|
780
|
+
justify-content: center;
|
|
781
|
+
width: 38px;
|
|
782
|
+
height: 38px;
|
|
783
|
+
flex-shrink: 0;
|
|
784
|
+
border-radius: 10px;
|
|
785
|
+
background: rgba(59, 130, 246, 0.1);
|
|
786
|
+
color: #3b82f6;
|
|
787
|
+
}
|
|
788
|
+
.an-dialog-icon svg {
|
|
789
|
+
display: block;
|
|
790
|
+
stroke: currentColor;
|
|
791
|
+
}
|
|
792
|
+
|
|
701
793
|
.an-dialog-title {
|
|
702
|
-
margin: 0
|
|
794
|
+
margin: 0;
|
|
703
795
|
font-size: 16px;
|
|
704
796
|
font-weight: 600;
|
|
705
797
|
color: #111827;
|
|
@@ -750,6 +842,102 @@
|
|
|
750
842
|
cursor: pointer;
|
|
751
843
|
}
|
|
752
844
|
|
|
845
|
+
.an-fr-dialog {
|
|
846
|
+
background: transparent;
|
|
847
|
+
pointer-events: none;
|
|
848
|
+
align-items: flex-start;
|
|
849
|
+
justify-content: flex-end;
|
|
850
|
+
padding: 56px 16px 0 0;
|
|
851
|
+
}
|
|
852
|
+
.an-fr-dialog .an-fr-box {
|
|
853
|
+
pointer-events: auto;
|
|
854
|
+
width: 360px;
|
|
855
|
+
padding: 14px 16px 16px;
|
|
856
|
+
gap: 8px;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
.an-fr-header {
|
|
860
|
+
display: flex;
|
|
861
|
+
align-items: center;
|
|
862
|
+
justify-content: space-between;
|
|
863
|
+
margin-bottom: 2px;
|
|
864
|
+
}
|
|
865
|
+
.an-fr-header .an-dialog-title {
|
|
866
|
+
margin: 0;
|
|
867
|
+
font-size: 14px;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
.an-fr-search-bar {
|
|
871
|
+
display: flex;
|
|
872
|
+
align-items: center;
|
|
873
|
+
gap: 4px;
|
|
874
|
+
}
|
|
875
|
+
.an-fr-search-bar .an-fr-input {
|
|
876
|
+
flex: 1;
|
|
877
|
+
min-width: 0;
|
|
878
|
+
padding: 6px 8px;
|
|
879
|
+
font-size: 13px;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
.an-fr-replace-row {
|
|
883
|
+
display: flex;
|
|
884
|
+
align-items: center;
|
|
885
|
+
gap: 6px;
|
|
886
|
+
}
|
|
887
|
+
.an-fr-replace-row .an-fr-input {
|
|
888
|
+
flex: 1;
|
|
889
|
+
min-width: 0;
|
|
890
|
+
padding: 6px 8px;
|
|
891
|
+
font-size: 13px;
|
|
892
|
+
}
|
|
893
|
+
.an-fr-replace-row .an-fr-replace-btn {
|
|
894
|
+
flex-shrink: 0;
|
|
895
|
+
padding: 5px 10px;
|
|
896
|
+
font-size: 12px;
|
|
897
|
+
white-space: nowrap;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
.an-fr-icon-btn {
|
|
901
|
+
display: flex;
|
|
902
|
+
align-items: center;
|
|
903
|
+
justify-content: center;
|
|
904
|
+
flex-shrink: 0;
|
|
905
|
+
width: 28px;
|
|
906
|
+
height: 28px;
|
|
907
|
+
padding: 0;
|
|
908
|
+
font-size: 12px;
|
|
909
|
+
font-weight: 600;
|
|
910
|
+
font-family: inherit;
|
|
911
|
+
border: 1px solid transparent;
|
|
912
|
+
border-radius: 4px;
|
|
913
|
+
background: transparent;
|
|
914
|
+
color: #6b7280;
|
|
915
|
+
cursor: pointer;
|
|
916
|
+
}
|
|
917
|
+
.an-fr-icon-btn svg {
|
|
918
|
+
display: block;
|
|
919
|
+
stroke: currentColor;
|
|
920
|
+
}
|
|
921
|
+
.an-fr-icon-btn:hover {
|
|
922
|
+
background: #f3f4f6;
|
|
923
|
+
color: #111827;
|
|
924
|
+
border-color: #d1d5db;
|
|
925
|
+
}
|
|
926
|
+
.an-fr-icon-btn.an-fr-icon-btn--active {
|
|
927
|
+
background: rgba(59, 130, 246, 0.1);
|
|
928
|
+
color: #3b82f6;
|
|
929
|
+
border-color: rgba(59, 130, 246, 0.3);
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
.an-fr-counter {
|
|
933
|
+
font-size: 11px;
|
|
934
|
+
color: #6b7280;
|
|
935
|
+
white-space: nowrap;
|
|
936
|
+
min-width: 36px;
|
|
937
|
+
text-align: right;
|
|
938
|
+
flex-shrink: 0;
|
|
939
|
+
}
|
|
940
|
+
|
|
753
941
|
.an-input {
|
|
754
942
|
width: 100%;
|
|
755
943
|
padding: 7px 10px;
|
|
@@ -1127,6 +1315,28 @@
|
|
|
1127
1315
|
margin: 0;
|
|
1128
1316
|
}
|
|
1129
1317
|
|
|
1318
|
+
.an-dialog-title-group {
|
|
1319
|
+
display: flex;
|
|
1320
|
+
align-items: center;
|
|
1321
|
+
gap: 10px;
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
.an-dialog-icon--sm {
|
|
1325
|
+
width: 32px;
|
|
1326
|
+
height: 32px;
|
|
1327
|
+
border-radius: 8px;
|
|
1328
|
+
background: rgba(59, 130, 246, 0.1);
|
|
1329
|
+
color: #3b82f6;
|
|
1330
|
+
display: flex;
|
|
1331
|
+
align-items: center;
|
|
1332
|
+
justify-content: center;
|
|
1333
|
+
flex-shrink: 0;
|
|
1334
|
+
}
|
|
1335
|
+
.an-dialog-icon--sm svg {
|
|
1336
|
+
display: block;
|
|
1337
|
+
stroke: currentColor;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1130
1340
|
.an-icon-close {
|
|
1131
1341
|
display: flex;
|
|
1132
1342
|
align-items: center;
|
|
@@ -1608,6 +1818,27 @@
|
|
|
1608
1818
|
.an-theme-dark .an-dialog-title {
|
|
1609
1819
|
color: #cdd6f4;
|
|
1610
1820
|
}
|
|
1821
|
+
.an-theme-dark .an-dialog-icon,
|
|
1822
|
+
.an-theme-dark .an-dialog-icon--sm {
|
|
1823
|
+
background: rgba(129, 140, 248, 0.15);
|
|
1824
|
+
color: #818cf8;
|
|
1825
|
+
}
|
|
1826
|
+
.an-theme-dark .an-fr-icon-btn {
|
|
1827
|
+
color: #a6adc8;
|
|
1828
|
+
}
|
|
1829
|
+
.an-theme-dark .an-fr-icon-btn:hover {
|
|
1830
|
+
background: #313244;
|
|
1831
|
+
color: #cdd6f4;
|
|
1832
|
+
border-color: #45475a;
|
|
1833
|
+
}
|
|
1834
|
+
.an-theme-dark .an-fr-icon-btn.an-fr-icon-btn--active {
|
|
1835
|
+
background: rgba(129, 140, 248, 0.15);
|
|
1836
|
+
color: #818cf8;
|
|
1837
|
+
border-color: rgba(129, 140, 248, 0.3);
|
|
1838
|
+
}
|
|
1839
|
+
.an-theme-dark .an-fr-counter {
|
|
1840
|
+
color: #6c7086;
|
|
1841
|
+
}
|
|
1611
1842
|
.an-theme-dark .an-label {
|
|
1612
1843
|
color: #cdd6f4;
|
|
1613
1844
|
}
|
|
@@ -1642,11 +1873,20 @@
|
|
|
1642
1873
|
}
|
|
1643
1874
|
.an-theme-dark .an-color-popup,
|
|
1644
1875
|
.an-theme-dark .an-table-picker-popup,
|
|
1645
|
-
.an-theme-dark .an-size-popover
|
|
1876
|
+
.an-theme-dark .an-size-popover,
|
|
1877
|
+
.an-theme-dark .an-cell-shade-popover {
|
|
1646
1878
|
background: #24273a;
|
|
1647
1879
|
border-color: #3f3f5f;
|
|
1648
1880
|
color: #cdd6f4;
|
|
1649
1881
|
}
|
|
1882
|
+
.an-theme-dark .an-cell-shade-popover .an-shade-no-color {
|
|
1883
|
+
border-color: #3f3f5f;
|
|
1884
|
+
color: #a6adc8;
|
|
1885
|
+
}
|
|
1886
|
+
.an-theme-dark .an-cell-shade-popover .an-shade-no-color:hover {
|
|
1887
|
+
background: #313244;
|
|
1888
|
+
color: #cdd6f4;
|
|
1889
|
+
}
|
|
1650
1890
|
.an-theme-dark .an-link-tooltip-btn--active {
|
|
1651
1891
|
background: rgba(99, 102, 241, 0.2) !important;
|
|
1652
1892
|
color: #818cf8 !important;
|
|
@@ -1666,6 +1906,19 @@
|
|
|
1666
1906
|
background: rgba(99, 102, 241, 0.3);
|
|
1667
1907
|
border-color: #6366f1;
|
|
1668
1908
|
}
|
|
1909
|
+
.an-theme-dark .an-color-custom {
|
|
1910
|
+
border-top-color: #3f3f5f;
|
|
1911
|
+
color: #cdd6f4;
|
|
1912
|
+
}
|
|
1913
|
+
.an-theme-dark .an-color-arrow:hover {
|
|
1914
|
+
border-left-color: #45475a;
|
|
1915
|
+
}
|
|
1916
|
+
.an-theme-dark .an-table-label {
|
|
1917
|
+
color: #6c7086;
|
|
1918
|
+
}
|
|
1919
|
+
.an-theme-dark .an-context-table-grid-panel {
|
|
1920
|
+
border-top-color: #3f3f5f;
|
|
1921
|
+
}
|
|
1669
1922
|
.an-theme-dark .an-context-item {
|
|
1670
1923
|
color: #cdd6f4;
|
|
1671
1924
|
}
|
|
@@ -1703,10 +1956,22 @@
|
|
|
1703
1956
|
color: #cdd6f4;
|
|
1704
1957
|
}
|
|
1705
1958
|
.an-theme-dark .an-icon-cell {
|
|
1959
|
+
color: #a6adc8;
|
|
1960
|
+
}
|
|
1961
|
+
.an-theme-dark .an-icon-cell i {
|
|
1706
1962
|
color: #cdd6f4;
|
|
1707
1963
|
}
|
|
1708
1964
|
.an-theme-dark .an-icon-cell:hover {
|
|
1709
1965
|
background: #2a2a3e;
|
|
1966
|
+
border-color: #45475a;
|
|
1967
|
+
}
|
|
1968
|
+
.an-theme-dark .an-icon-cell.active {
|
|
1969
|
+
background: rgba(129, 140, 248, 0.15);
|
|
1970
|
+
border-color: #818cf8;
|
|
1971
|
+
color: #818cf8;
|
|
1972
|
+
}
|
|
1973
|
+
.an-theme-dark .an-icon-cell.active i {
|
|
1974
|
+
color: #818cf8;
|
|
1710
1975
|
}
|
|
1711
1976
|
.an-theme-dark .an-icon-close {
|
|
1712
1977
|
color: #a6adc8;
|
|
@@ -1715,6 +1980,63 @@
|
|
|
1715
1980
|
background: #2a2a3e;
|
|
1716
1981
|
color: #cdd6f4;
|
|
1717
1982
|
}
|
|
1983
|
+
.an-theme-dark .an-emoji-box {
|
|
1984
|
+
background: #1e1e2e;
|
|
1985
|
+
border-color: #45475a;
|
|
1986
|
+
}
|
|
1987
|
+
.an-theme-dark .an-emoji-cell {
|
|
1988
|
+
color: inherit;
|
|
1989
|
+
}
|
|
1990
|
+
.an-theme-dark .an-emoji-cell:hover {
|
|
1991
|
+
background: #313244;
|
|
1992
|
+
}
|
|
1993
|
+
.an-theme-dark .an-emoji-grid {
|
|
1994
|
+
scrollbar-color: #45475a transparent;
|
|
1995
|
+
}
|
|
1996
|
+
.an-theme-dark .an-icon-box {
|
|
1997
|
+
background: #1e1e2e;
|
|
1998
|
+
border-color: #45475a;
|
|
1999
|
+
}
|
|
2000
|
+
.an-theme-dark .an-icon-grid {
|
|
2001
|
+
background: #181825;
|
|
2002
|
+
border-color: #45475a;
|
|
2003
|
+
}
|
|
2004
|
+
.an-theme-dark .an-icon-options {
|
|
2005
|
+
background: #181825;
|
|
2006
|
+
border-color: #45475a;
|
|
2007
|
+
}
|
|
2008
|
+
.an-theme-dark .an-icon-preview {
|
|
2009
|
+
background: #181825;
|
|
2010
|
+
border-color: #45475a;
|
|
2011
|
+
color: #cdd6f4;
|
|
2012
|
+
}
|
|
2013
|
+
.an-theme-dark .an-icon-preview .an-icon-preview-empty {
|
|
2014
|
+
color: #6c7086;
|
|
2015
|
+
}
|
|
2016
|
+
.an-theme-dark .an-icon-option-select {
|
|
2017
|
+
background: #313244;
|
|
2018
|
+
border-color: #45475a;
|
|
2019
|
+
color: #cdd6f4;
|
|
2020
|
+
}
|
|
2021
|
+
.an-theme-dark .an-icon-empty {
|
|
2022
|
+
color: #6c7086;
|
|
2023
|
+
}
|
|
2024
|
+
.an-theme-dark .an-bubble-color-picker {
|
|
2025
|
+
background: #24273a;
|
|
2026
|
+
border-color: #3f3f5f;
|
|
2027
|
+
}
|
|
2028
|
+
.an-theme-dark .an-bubble-color-picker .an-context-color-custom {
|
|
2029
|
+
border-color: #3f3f5f;
|
|
2030
|
+
color: #a6adc8;
|
|
2031
|
+
}
|
|
2032
|
+
.an-theme-dark .an-table-tooltip {
|
|
2033
|
+
background: #24273a;
|
|
2034
|
+
border-color: #3f3f5f;
|
|
2035
|
+
}
|
|
2036
|
+
.an-theme-dark .an-fr-box {
|
|
2037
|
+
background: #1e1e2e;
|
|
2038
|
+
border-color: #45475a;
|
|
2039
|
+
}
|
|
1718
2040
|
|
|
1719
2041
|
.an-toolbar-overflow-scroll .an-toolbar {
|
|
1720
2042
|
flex-wrap: nowrap;
|