@flogeez/angular-tiptap-editor 2.0.2 → 2.1.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/CHANGELOG.md +268 -250
- package/LICENSE +21 -21
- package/README.md +805 -744
- package/fesm2022/flogeez-angular-tiptap-editor.mjs +1943 -1800
- package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
- package/index.d.ts +291 -167
- package/package.json +1 -1
- package/src/lib/styles/bubble-menu.global.css +52 -52
- package/src/lib/styles/index.css +40 -40
- package/src/lib/styles/material-symbols.css +17 -17
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
/* Styles globaux pour les menus contextuels Tiptap */
|
|
2
|
-
.tippy-box {
|
|
3
|
-
/* Par défaut Tippy limite à 350px */
|
|
4
|
-
max-width: none !important;
|
|
5
|
-
background: transparent !important;
|
|
6
|
-
box-shadow: none !important;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.tippy-content {
|
|
10
|
-
/* Le container interne ne doit pas rajouter de padding, on gère dans .bubble-menu */
|
|
11
|
-
padding: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.tippy-box .bubble-menu {
|
|
15
|
-
display: flex !important;
|
|
16
|
-
align-items: center;
|
|
17
|
-
gap: 6px;
|
|
18
|
-
background: var(--ate-menu-bg, rgb(255, 255, 255)) !important;
|
|
19
|
-
border: 1px solid var(--ate-menu-border, rgba(0, 0, 0, 0.1));
|
|
20
|
-
border-radius: var(--ate-menu-border-radius,
|
|
21
|
-
padding: var(--ate-menu-padding, 6px);
|
|
22
|
-
box-shadow: var(--ate-menu-shadow, 0 8px 32px rgba(0, 0, 0, 0.12));
|
|
23
|
-
z-index: 1000;
|
|
24
|
-
animation: slideUp 0.18s cubic-bezier(0, 0, 0.2, 1);
|
|
25
|
-
white-space: nowrap;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/* Cache le menu intelligemment si la source (le slash) est scrollée hors vue */
|
|
29
|
-
.tippy-box[data-reference-hidden] {
|
|
30
|
-
opacity: 0 !important;
|
|
31
|
-
transition: opacity 0.18s cubic-bezier(0, 0, 0.2, 1);
|
|
32
|
-
pointer-events: none !important;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.bubble-menu .tiptap-separator {
|
|
36
|
-
width: 1px;
|
|
37
|
-
height: 28px;
|
|
38
|
-
background: color-mix(in srgb, var(--ate-menu-border), transparent 50%);
|
|
39
|
-
margin: 0 4px;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@keyframes slideUp {
|
|
43
|
-
from {
|
|
44
|
-
opacity: 0;
|
|
45
|
-
transform: translateY(6px) scale(0.98);
|
|
46
|
-
}
|
|
47
|
-
to {
|
|
48
|
-
opacity: 1;
|
|
49
|
-
transform: translateY(0) scale(1);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
1
|
+
/* Styles globaux pour les menus contextuels Tiptap */
|
|
2
|
+
.tippy-box {
|
|
3
|
+
/* Par défaut Tippy limite à 350px */
|
|
4
|
+
max-width: none !important;
|
|
5
|
+
background: transparent !important;
|
|
6
|
+
box-shadow: none !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.tippy-content {
|
|
10
|
+
/* Le container interne ne doit pas rajouter de padding, on gère dans .bubble-menu */
|
|
11
|
+
padding: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.tippy-box .bubble-menu {
|
|
15
|
+
display: flex !important;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 6px;
|
|
18
|
+
background: var(--ate-menu-bg, rgb(255, 255, 255)) !important;
|
|
19
|
+
border: 1px solid var(--ate-menu-border, rgba(0, 0, 0, 0.1));
|
|
20
|
+
border-radius: var(--ate-menu-border-radius, 12px);
|
|
21
|
+
padding: var(--ate-menu-padding, 6px);
|
|
22
|
+
box-shadow: var(--ate-menu-shadow, 0 8px 32px rgba(0, 0, 0, 0.12));
|
|
23
|
+
z-index: 1000;
|
|
24
|
+
animation: slideUp 0.18s cubic-bezier(0, 0, 0.2, 1);
|
|
25
|
+
white-space: nowrap;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Cache le menu intelligemment si la source (le slash) est scrollée hors vue */
|
|
29
|
+
.tippy-box[data-reference-hidden] {
|
|
30
|
+
opacity: 0 !important;
|
|
31
|
+
transition: opacity 0.18s cubic-bezier(0, 0, 0.2, 1);
|
|
32
|
+
pointer-events: none !important;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.bubble-menu .tiptap-separator {
|
|
36
|
+
width: 1px;
|
|
37
|
+
height: 28px;
|
|
38
|
+
background: color-mix(in srgb, var(--ate-menu-border), transparent 50%);
|
|
39
|
+
margin: 0 4px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@keyframes slideUp {
|
|
43
|
+
from {
|
|
44
|
+
opacity: 0;
|
|
45
|
+
transform: translateY(6px) scale(0.98);
|
|
46
|
+
}
|
|
47
|
+
to {
|
|
48
|
+
opacity: 1;
|
|
49
|
+
transform: translateY(0) scale(1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
package/src/lib/styles/index.css
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
@import "./bubble-menu.global.css";
|
|
2
|
-
@import "./material-symbols.css";
|
|
3
|
-
|
|
4
|
-
/* Styles pour les liens */
|
|
5
|
-
.tiptap-link {
|
|
6
|
-
color: var(--ate-primary, #1d4ed8);
|
|
7
|
-
text-decoration: underline;
|
|
8
|
-
cursor: pointer;
|
|
9
|
-
transition: color 0.2s ease;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.tiptap-link:hover {
|
|
13
|
-
color: var(--ate-primary-light-alpha, #1d4ed8);
|
|
14
|
-
text-decoration: underline;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/* Styles pour la surbrillance */
|
|
18
|
-
.tiptap-highlight {
|
|
19
|
-
background-color: var(--ate-highlight-bg, #fef08a);
|
|
20
|
-
padding: 0.1em 0.2em;
|
|
21
|
-
border-radius: 2px;
|
|
22
|
-
color: var(--ate-highlight-color, #854d0e);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* Styles pour les alignements de texte - Tiptap utilise des classes */
|
|
26
|
-
.ProseMirror .has-text-align-left {
|
|
27
|
-
text-align: left;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.ProseMirror .has-text-align-center {
|
|
31
|
-
text-align: center;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.ProseMirror .has-text-align-right {
|
|
35
|
-
text-align: right;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.ProseMirror .has-text-align-justify {
|
|
39
|
-
text-align: justify;
|
|
40
|
-
}
|
|
1
|
+
@import "./bubble-menu.global.css";
|
|
2
|
+
@import "./material-symbols.css";
|
|
3
|
+
|
|
4
|
+
/* Styles pour les liens */
|
|
5
|
+
.tiptap-link {
|
|
6
|
+
color: var(--ate-primary, #1d4ed8);
|
|
7
|
+
text-decoration: underline;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
transition: color 0.2s ease;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tiptap-link:hover {
|
|
13
|
+
color: var(--ate-primary-light-alpha, #1d4ed8);
|
|
14
|
+
text-decoration: underline;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Styles pour la surbrillance */
|
|
18
|
+
.tiptap-highlight {
|
|
19
|
+
background-color: var(--ate-highlight-bg, #fef08a);
|
|
20
|
+
padding: 0.1em 0.2em;
|
|
21
|
+
border-radius: 2px;
|
|
22
|
+
color: var(--ate-highlight-color, #854d0e);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Styles pour les alignements de texte - Tiptap utilise des classes */
|
|
26
|
+
.ProseMirror .has-text-align-left {
|
|
27
|
+
text-align: left;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ProseMirror .has-text-align-center {
|
|
31
|
+
text-align: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ProseMirror .has-text-align-right {
|
|
35
|
+
text-align: right;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ProseMirror .has-text-align-justify {
|
|
39
|
+
text-align: justify;
|
|
40
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
.material-symbols-outlined {
|
|
2
|
-
font-family: "Material Symbols Outlined";
|
|
3
|
-
font-weight: normal;
|
|
4
|
-
font-style: normal;
|
|
5
|
-
font-size: 24px;
|
|
6
|
-
line-height: 1;
|
|
7
|
-
letter-spacing: normal;
|
|
8
|
-
text-transform: none;
|
|
9
|
-
display: inline-block;
|
|
10
|
-
white-space: nowrap;
|
|
11
|
-
word-wrap: normal;
|
|
12
|
-
direction: ltr;
|
|
13
|
-
font-feature-settings: "liga";
|
|
14
|
-
-webkit-font-feature-settings: "liga";
|
|
15
|
-
-webkit-font-smoothing: antialiased;
|
|
16
|
-
font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
17
|
-
}
|
|
1
|
+
.material-symbols-outlined {
|
|
2
|
+
font-family: "Material Symbols Outlined";
|
|
3
|
+
font-weight: normal;
|
|
4
|
+
font-style: normal;
|
|
5
|
+
font-size: 24px;
|
|
6
|
+
line-height: 1;
|
|
7
|
+
letter-spacing: normal;
|
|
8
|
+
text-transform: none;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
white-space: nowrap;
|
|
11
|
+
word-wrap: normal;
|
|
12
|
+
direction: ltr;
|
|
13
|
+
font-feature-settings: "liga";
|
|
14
|
+
-webkit-font-feature-settings: "liga";
|
|
15
|
+
-webkit-font-smoothing: antialiased;
|
|
16
|
+
font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
17
|
+
}
|