@rufous/ui 0.1.88 → 0.1.90
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/dist/main.cjs +7459 -678
- package/dist/main.css +188 -17
- package/dist/main.d.cts +9 -0
- package/dist/main.d.ts +9 -0
- package/dist/main.js +7209 -428
- package/package.json +1 -1
package/dist/main.css
CHANGED
|
@@ -13972,7 +13972,6 @@ svg.jodit-icon {
|
|
|
13972
13972
|
.rf-rte-wrapper:has(.ai-commands-panel),
|
|
13973
13973
|
.rf-rte-wrapper:has(.tts-panel),
|
|
13974
13974
|
.rf-rte-wrapper:has(.stt-panel),
|
|
13975
|
-
.rf-rte-wrapper:has(.image-toolbar),
|
|
13976
13975
|
.rf-rte-wrapper:has(.translate-toast-popup) {
|
|
13977
13976
|
z-index: 100;
|
|
13978
13977
|
}
|
|
@@ -14009,9 +14008,23 @@ svg.jodit-icon {
|
|
|
14009
14008
|
padding: 4px 8px;
|
|
14010
14009
|
flex-wrap: wrap;
|
|
14011
14010
|
}
|
|
14012
|
-
.rf-rte-wrapper .toolbar-row
|
|
14011
|
+
.rf-rte-wrapper .toolbar-row .with-close {
|
|
14012
|
+
width: calc(100% - 32px);
|
|
14013
|
+
}
|
|
14014
|
+
.rf-rte-wrapper .toolbar-row + .toolbar-row,
|
|
14015
|
+
.rf-rte-wrapper .toolbar-row-right + .toolbar-row-right {
|
|
14013
14016
|
border-top: 1px solid #e8eaed;
|
|
14014
14017
|
}
|
|
14018
|
+
.rf-rte-wrapper .toolbar-row-right {
|
|
14019
|
+
display: flex;
|
|
14020
|
+
align-items: center;
|
|
14021
|
+
gap: 1px;
|
|
14022
|
+
padding: 4px 0px;
|
|
14023
|
+
position: absolute;
|
|
14024
|
+
right: 0;
|
|
14025
|
+
top: 0;
|
|
14026
|
+
width: 32px;
|
|
14027
|
+
}
|
|
14015
14028
|
.rf-rte-wrapper .toolbar-group {
|
|
14016
14029
|
display: flex;
|
|
14017
14030
|
align-items: center;
|
|
@@ -14043,6 +14056,17 @@ svg.jodit-icon {
|
|
|
14043
14056
|
position: relative;
|
|
14044
14057
|
flex-shrink: 0;
|
|
14045
14058
|
}
|
|
14059
|
+
.rf-rte-wrapper .toolbar-btn.btn-cross {
|
|
14060
|
+
background-color: #fafbfd;
|
|
14061
|
+
}
|
|
14062
|
+
.rf-rte-wrapper .toolbar-btn.btn-cross svg {
|
|
14063
|
+
width: 12px;
|
|
14064
|
+
height: 12px;
|
|
14065
|
+
color: #a81c08;
|
|
14066
|
+
}
|
|
14067
|
+
.rf-rte-wrapper .toolbar-btn.special-characters-btn {
|
|
14068
|
+
font-size: 20px;
|
|
14069
|
+
}
|
|
14046
14070
|
.rf-rte-wrapper .toolbar-btn svg {
|
|
14047
14071
|
width: 20px;
|
|
14048
14072
|
height: 20px;
|
|
@@ -14267,6 +14291,7 @@ svg.jodit-icon {
|
|
|
14267
14291
|
font-weight: 500;
|
|
14268
14292
|
cursor: pointer;
|
|
14269
14293
|
border-bottom: 2px solid transparent;
|
|
14294
|
+
border-radius: 0;
|
|
14270
14295
|
transition: color 0.15s, border-color 0.15s;
|
|
14271
14296
|
}
|
|
14272
14297
|
.rf-rte-wrapper .color-picker-tab:hover {
|
|
@@ -14496,6 +14521,10 @@ svg.jodit-icon {
|
|
|
14496
14521
|
font-size: 12px;
|
|
14497
14522
|
line-height: 1;
|
|
14498
14523
|
}
|
|
14524
|
+
.rf-rte-wrapper .task-icon img {
|
|
14525
|
+
width: 18px;
|
|
14526
|
+
height: 18px;
|
|
14527
|
+
}
|
|
14499
14528
|
.rf-rte-wrapper .task-icon.task-todo {
|
|
14500
14529
|
color: #dc2626;
|
|
14501
14530
|
border: 2px solid #dc2626;
|
|
@@ -14503,10 +14532,11 @@ svg.jodit-icon {
|
|
|
14503
14532
|
.rf-rte-wrapper .task-icon.task-working {
|
|
14504
14533
|
color: #2563eb;
|
|
14505
14534
|
border: 2px solid #2563eb;
|
|
14535
|
+
font-size: 25px;
|
|
14506
14536
|
}
|
|
14507
14537
|
.rf-rte-wrapper .task-icon.task-blocked {
|
|
14508
14538
|
color: #1f2937;
|
|
14509
|
-
|
|
14539
|
+
border: 2px solid #000000;
|
|
14510
14540
|
}
|
|
14511
14541
|
.rf-rte-wrapper .task-icon.task-resolved {
|
|
14512
14542
|
color: #16a34a;
|
|
@@ -14901,6 +14931,22 @@ svg.jodit-icon {
|
|
|
14901
14931
|
border-radius: 8px;
|
|
14902
14932
|
max-width: 100%;
|
|
14903
14933
|
}
|
|
14934
|
+
.rf-rte-wrapper .tiptap video {
|
|
14935
|
+
max-width: 100%;
|
|
14936
|
+
}
|
|
14937
|
+
.rf-rte-wrapper .rf-video-outer {
|
|
14938
|
+
margin: 0.8em 0;
|
|
14939
|
+
}
|
|
14940
|
+
.rf-rte-wrapper .rf-video-outer video,
|
|
14941
|
+
.rf-rte-wrapper .rf-video-outer iframe {
|
|
14942
|
+
display: block;
|
|
14943
|
+
max-width: 100%;
|
|
14944
|
+
}
|
|
14945
|
+
.rf-rte-wrapper .rf-video-outer.rf-video-selected video,
|
|
14946
|
+
.rf-rte-wrapper .rf-video-outer.rf-video-selected iframe {
|
|
14947
|
+
outline: 2px solid #6366f1;
|
|
14948
|
+
outline-offset: 2px;
|
|
14949
|
+
}
|
|
14904
14950
|
.rf-rte-wrapper .bubble-menu {
|
|
14905
14951
|
display: flex;
|
|
14906
14952
|
gap: 2px;
|
|
@@ -14979,10 +15025,47 @@ svg.jodit-icon {
|
|
|
14979
15025
|
border-radius: 8px;
|
|
14980
15026
|
margin: 0.8em 0;
|
|
14981
15027
|
}
|
|
14982
|
-
.rf-rte-wrapper .
|
|
15028
|
+
.rf-rte-wrapper .rf-image-resizable img {
|
|
15029
|
+
display: block;
|
|
15030
|
+
max-width: 100%;
|
|
15031
|
+
}
|
|
15032
|
+
.rf-rte-wrapper .rf-image-resizable.rf-image-selected img {
|
|
14983
15033
|
outline: 2px solid #6366f1;
|
|
14984
15034
|
outline-offset: 2px;
|
|
14985
15035
|
}
|
|
15036
|
+
.rf-rte-wrapper .rf-resize-handle {
|
|
15037
|
+
display: none;
|
|
15038
|
+
position: absolute;
|
|
15039
|
+
width: 10px;
|
|
15040
|
+
height: 10px;
|
|
15041
|
+
background: #6366f1;
|
|
15042
|
+
border: 2px solid #fff;
|
|
15043
|
+
border-radius: 50%;
|
|
15044
|
+
z-index: 10;
|
|
15045
|
+
}
|
|
15046
|
+
.rf-rte-wrapper .rf-image-selected .rf-resize-handle {
|
|
15047
|
+
display: block;
|
|
15048
|
+
}
|
|
15049
|
+
.rf-rte-wrapper .rf-resize-handle--nw {
|
|
15050
|
+
top: 5px;
|
|
15051
|
+
left: -7px;
|
|
15052
|
+
cursor: nw-resize;
|
|
15053
|
+
}
|
|
15054
|
+
.rf-rte-wrapper .rf-resize-handle--ne {
|
|
15055
|
+
top: 5px;
|
|
15056
|
+
right: -7px;
|
|
15057
|
+
cursor: ne-resize;
|
|
15058
|
+
}
|
|
15059
|
+
.rf-rte-wrapper .rf-resize-handle--sw {
|
|
15060
|
+
bottom: 5px;
|
|
15061
|
+
left: -7px;
|
|
15062
|
+
cursor: sw-resize;
|
|
15063
|
+
}
|
|
15064
|
+
.rf-rte-wrapper .rf-resize-handle--se {
|
|
15065
|
+
bottom: 5px;
|
|
15066
|
+
right: -7px;
|
|
15067
|
+
cursor: se-resize;
|
|
15068
|
+
}
|
|
14986
15069
|
.rf-rte-wrapper .status-bar {
|
|
14987
15070
|
display: flex;
|
|
14988
15071
|
justify-content: space-between;
|
|
@@ -15062,7 +15145,7 @@ svg.jodit-icon {
|
|
|
15062
15145
|
letter-spacing: 0.5px;
|
|
15063
15146
|
text-transform: uppercase;
|
|
15064
15147
|
}
|
|
15065
|
-
.
|
|
15148
|
+
.image-toolbar {
|
|
15066
15149
|
display: flex;
|
|
15067
15150
|
align-items: center;
|
|
15068
15151
|
gap: 3px;
|
|
@@ -15070,11 +15153,9 @@ svg.jodit-icon {
|
|
|
15070
15153
|
background: #1e293b;
|
|
15071
15154
|
border-radius: 10px;
|
|
15072
15155
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
|
15073
|
-
position: absolute;
|
|
15074
|
-
z-index: 100;
|
|
15075
15156
|
transform: translateY(4px);
|
|
15076
15157
|
}
|
|
15077
|
-
.
|
|
15158
|
+
.image-toolbar .img-tool-btn {
|
|
15078
15159
|
display: inline-flex;
|
|
15079
15160
|
align-items: center;
|
|
15080
15161
|
justify-content: center;
|
|
@@ -15089,15 +15170,15 @@ svg.jodit-icon {
|
|
|
15089
15170
|
line-height: 1;
|
|
15090
15171
|
gap: 3px;
|
|
15091
15172
|
}
|
|
15092
|
-
.
|
|
15173
|
+
.image-toolbar .img-tool-btn:hover {
|
|
15093
15174
|
background: #334155;
|
|
15094
15175
|
color: #f8fafc;
|
|
15095
15176
|
}
|
|
15096
|
-
.
|
|
15177
|
+
.image-toolbar .img-tool-copy-wrapper {
|
|
15097
15178
|
position: relative;
|
|
15098
15179
|
display: inline-flex;
|
|
15099
15180
|
}
|
|
15100
|
-
.
|
|
15181
|
+
.image-toolbar .img-copy-toast {
|
|
15101
15182
|
position: absolute;
|
|
15102
15183
|
bottom: 100%;
|
|
15103
15184
|
left: 50%;
|
|
@@ -15123,10 +15204,10 @@ svg.jodit-icon {
|
|
|
15123
15204
|
transform: translateX(-50%) translateY(0);
|
|
15124
15205
|
}
|
|
15125
15206
|
}
|
|
15126
|
-
.
|
|
15207
|
+
.image-toolbar .img-tool-dropdown {
|
|
15127
15208
|
position: relative;
|
|
15128
15209
|
}
|
|
15129
|
-
.
|
|
15210
|
+
.image-toolbar .img-tool-menu {
|
|
15130
15211
|
position: absolute;
|
|
15131
15212
|
top: 100%;
|
|
15132
15213
|
left: 0;
|
|
@@ -15139,16 +15220,32 @@ svg.jodit-icon {
|
|
|
15139
15220
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
|
15140
15221
|
margin-top: 4px;
|
|
15141
15222
|
}
|
|
15223
|
+
.image-toolbar .dropdown-item {
|
|
15224
|
+
display: flex;
|
|
15225
|
+
align-items: center;
|
|
15226
|
+
gap: 10px;
|
|
15227
|
+
width: 100%;
|
|
15228
|
+
padding: 7px 12px;
|
|
15229
|
+
border: none;
|
|
15230
|
+
border-radius: 4px;
|
|
15231
|
+
background: transparent;
|
|
15232
|
+
color: #3c4043;
|
|
15233
|
+
font-size: 13px;
|
|
15234
|
+
cursor: pointer;
|
|
15235
|
+
text-align: left;
|
|
15236
|
+
white-space: nowrap;
|
|
15237
|
+
transition: background 0.12s ease;
|
|
15238
|
+
}
|
|
15239
|
+
.image-toolbar .dropdown-item:hover {
|
|
15240
|
+
background: #e8eaed;
|
|
15241
|
+
color: #202124;
|
|
15242
|
+
}
|
|
15142
15243
|
.rf-rte-wrapper .tiptap img {
|
|
15143
15244
|
cursor: grab;
|
|
15144
15245
|
}
|
|
15145
15246
|
.rf-rte-wrapper .tiptap img:active {
|
|
15146
15247
|
cursor: grabbing;
|
|
15147
15248
|
}
|
|
15148
|
-
.rf-rte-wrapper .tiptap img.ProseMirror-selectednode {
|
|
15149
|
-
outline: 2px solid #6366f1;
|
|
15150
|
-
outline-offset: 2px;
|
|
15151
|
-
}
|
|
15152
15249
|
.modal-overlay {
|
|
15153
15250
|
position: fixed;
|
|
15154
15251
|
top: 0;
|
|
@@ -15464,6 +15561,7 @@ svg.jodit-icon {
|
|
|
15464
15561
|
background: #fef2f2;
|
|
15465
15562
|
border-left: 3px solid #991b1b;
|
|
15466
15563
|
font-weight: 600;
|
|
15564
|
+
border-radius: 0;
|
|
15467
15565
|
}
|
|
15468
15566
|
.translate-code {
|
|
15469
15567
|
color: #991b1b;
|
|
@@ -16118,6 +16216,79 @@ svg.jodit-icon {
|
|
|
16118
16216
|
.rf-rte-mention-name {
|
|
16119
16217
|
font-weight: 500;
|
|
16120
16218
|
}
|
|
16219
|
+
.rf-spell-error {
|
|
16220
|
+
text-decoration: underline wavy #dc2626;
|
|
16221
|
+
text-decoration-skip-ink: none;
|
|
16222
|
+
text-underline-offset: 3px;
|
|
16223
|
+
cursor: default;
|
|
16224
|
+
}
|
|
16225
|
+
.rf-spell-tooltip {
|
|
16226
|
+
background: #fff;
|
|
16227
|
+
border: 1px solid #dadce0;
|
|
16228
|
+
border-radius: 8px;
|
|
16229
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
|
|
16230
|
+
min-width: 160px;
|
|
16231
|
+
max-width: 240px;
|
|
16232
|
+
overflow: hidden;
|
|
16233
|
+
font-family: inherit;
|
|
16234
|
+
}
|
|
16235
|
+
.rf-spell-tooltip-header {
|
|
16236
|
+
padding: 8px 12px 6px;
|
|
16237
|
+
font-size: 0.8rem;
|
|
16238
|
+
color: #dc2626;
|
|
16239
|
+
font-weight: 600;
|
|
16240
|
+
border-bottom: 1px solid #f3f4f6;
|
|
16241
|
+
}
|
|
16242
|
+
.rf-spell-tooltip-word {
|
|
16243
|
+
text-decoration: underline wavy #dc2626;
|
|
16244
|
+
text-underline-offset: 2px;
|
|
16245
|
+
}
|
|
16246
|
+
.rf-spell-tooltip-suggestions {
|
|
16247
|
+
padding: 4px 0;
|
|
16248
|
+
}
|
|
16249
|
+
.rf-spell-suggestion-btn {
|
|
16250
|
+
display: block;
|
|
16251
|
+
width: 100%;
|
|
16252
|
+
padding: 6px 12px;
|
|
16253
|
+
text-align: left;
|
|
16254
|
+
background: none;
|
|
16255
|
+
border: none;
|
|
16256
|
+
cursor: pointer;
|
|
16257
|
+
color: #1f2937;
|
|
16258
|
+
font-size: 0.85rem;
|
|
16259
|
+
font-family: inherit;
|
|
16260
|
+
transition: background 0.12s;
|
|
16261
|
+
}
|
|
16262
|
+
.rf-spell-suggestion-btn:hover {
|
|
16263
|
+
background: #f3f4f6;
|
|
16264
|
+
}
|
|
16265
|
+
.rf-spell-no-suggestions {
|
|
16266
|
+
padding: 8px 12px;
|
|
16267
|
+
color: #9ca3af;
|
|
16268
|
+
font-size: 0.8rem;
|
|
16269
|
+
font-style: italic;
|
|
16270
|
+
}
|
|
16271
|
+
.rf-spell-tooltip-footer {
|
|
16272
|
+
border-top: 1px solid #f3f4f6;
|
|
16273
|
+
padding: 2px 0;
|
|
16274
|
+
}
|
|
16275
|
+
.rf-spell-action-btn {
|
|
16276
|
+
display: block;
|
|
16277
|
+
width: 100%;
|
|
16278
|
+
padding: 5px 12px;
|
|
16279
|
+
text-align: left;
|
|
16280
|
+
background: none;
|
|
16281
|
+
border: none;
|
|
16282
|
+
cursor: pointer;
|
|
16283
|
+
color: #6b7280;
|
|
16284
|
+
font-size: 0.78rem;
|
|
16285
|
+
font-family: inherit;
|
|
16286
|
+
transition: background 0.12s;
|
|
16287
|
+
}
|
|
16288
|
+
.rf-spell-action-btn:hover {
|
|
16289
|
+
background: #f3f4f6;
|
|
16290
|
+
color: #374151;
|
|
16291
|
+
}
|
|
16121
16292
|
/*! Bundled license information:
|
|
16122
16293
|
|
|
16123
16294
|
jodit/es5/jodit.min.css:
|
package/dist/main.d.cts
CHANGED
|
@@ -484,6 +484,14 @@ interface BaseDialogProps {
|
|
|
484
484
|
size?: "sm" | "md" | "lg" | "xl" | "fullScreen";
|
|
485
485
|
/** Scoped style overrides. Supports nested CSS selectors with & */
|
|
486
486
|
sx?: SxProp;
|
|
487
|
+
/** A transition component (e.g. Fade, Slide, Grow, Zoom) to animate the dialog container */
|
|
488
|
+
TransitionComponent?: React.ComponentType<{
|
|
489
|
+
in: boolean;
|
|
490
|
+
children: React.ReactElement;
|
|
491
|
+
[key: string]: any;
|
|
492
|
+
}>;
|
|
493
|
+
/** Props forwarded to the TransitionComponent */
|
|
494
|
+
TransitionProps?: Record<string, any>;
|
|
487
495
|
}
|
|
488
496
|
declare const BaseDialog: React.FC<BaseDialogProps>;
|
|
489
497
|
|
|
@@ -1679,6 +1687,7 @@ interface RufousTextEditorProps {
|
|
|
1679
1687
|
onTranslate?: (text: string, sourceLang: string, targetLang: string) => Promise<string>;
|
|
1680
1688
|
onSpeechToText?: (text: string) => Promise<string>;
|
|
1681
1689
|
onTextToSpeech?: (text: string, voice?: string) => Promise<string>;
|
|
1690
|
+
onImageUpload?: (file: File) => Promise<string>;
|
|
1682
1691
|
mentions?: Array<{
|
|
1683
1692
|
id: string;
|
|
1684
1693
|
name: string;
|
package/dist/main.d.ts
CHANGED
|
@@ -484,6 +484,14 @@ interface BaseDialogProps {
|
|
|
484
484
|
size?: "sm" | "md" | "lg" | "xl" | "fullScreen";
|
|
485
485
|
/** Scoped style overrides. Supports nested CSS selectors with & */
|
|
486
486
|
sx?: SxProp;
|
|
487
|
+
/** A transition component (e.g. Fade, Slide, Grow, Zoom) to animate the dialog container */
|
|
488
|
+
TransitionComponent?: React.ComponentType<{
|
|
489
|
+
in: boolean;
|
|
490
|
+
children: React.ReactElement;
|
|
491
|
+
[key: string]: any;
|
|
492
|
+
}>;
|
|
493
|
+
/** Props forwarded to the TransitionComponent */
|
|
494
|
+
TransitionProps?: Record<string, any>;
|
|
487
495
|
}
|
|
488
496
|
declare const BaseDialog: React.FC<BaseDialogProps>;
|
|
489
497
|
|
|
@@ -1679,6 +1687,7 @@ interface RufousTextEditorProps {
|
|
|
1679
1687
|
onTranslate?: (text: string, sourceLang: string, targetLang: string) => Promise<string>;
|
|
1680
1688
|
onSpeechToText?: (text: string) => Promise<string>;
|
|
1681
1689
|
onTextToSpeech?: (text: string, voice?: string) => Promise<string>;
|
|
1690
|
+
onImageUpload?: (file: File) => Promise<string>;
|
|
1682
1691
|
mentions?: Array<{
|
|
1683
1692
|
id: string;
|
|
1684
1693
|
name: string;
|