@iblai/iblai-js 2.4.5 → 2.5.1
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.
|
@@ -64637,6 +64637,10 @@ var spendCapsTabLabels$3 = {
|
|
|
64637
64637
|
deleteError: "Couldn't delete the spend limit"
|
|
64638
64638
|
}
|
|
64639
64639
|
};
|
|
64640
|
+
var summernoteTextEditor$3 = {
|
|
64641
|
+
loadFailed: "The editor could not be loaded. Reload the page to try again.",
|
|
64642
|
+
loading: "Loading editor…"
|
|
64643
|
+
};
|
|
64640
64644
|
var tabsAlertstab$3 = {
|
|
64641
64645
|
searchAlertsPlaceholder: "Search alerts",
|
|
64642
64646
|
searchAlertsAriaLabel: "Search alerts",
|
|
@@ -66666,6 +66670,7 @@ var en = {
|
|
|
66666
66670
|
skillsProfileSkillsBox: skillsProfileSkillsBox$3,
|
|
66667
66671
|
spendCapUsage: spendCapUsage$3,
|
|
66668
66672
|
spendCapsTabLabels: spendCapsTabLabels$3,
|
|
66673
|
+
summernoteTextEditor: summernoteTextEditor$3,
|
|
66669
66674
|
tabsAlertstab: tabsAlertstab$3,
|
|
66670
66675
|
tabsDisclaimersTab: tabsDisclaimersTab$3,
|
|
66671
66676
|
tabsEmbedTab: tabsEmbedTab$3,
|
|
@@ -71541,6 +71546,10 @@ var spendCapsTabLabels$2 = {
|
|
|
71541
71546
|
deleteError: "Impossible de supprimer la limite de dépenses"
|
|
71542
71547
|
}
|
|
71543
71548
|
};
|
|
71549
|
+
var summernoteTextEditor$2 = {
|
|
71550
|
+
loadFailed: "L'éditeur n'a pas pu être chargé. Rechargez la page pour réessayer.",
|
|
71551
|
+
loading: "Chargement de l'éditeur…"
|
|
71552
|
+
};
|
|
71544
71553
|
var tabsAlertstab$2 = {
|
|
71545
71554
|
searchAlertsPlaceholder: "Rechercher des alertes",
|
|
71546
71555
|
searchAlertsAriaLabel: "Rechercher des alertes",
|
|
@@ -73405,6 +73414,7 @@ var fr = {
|
|
|
73405
73414
|
skillsProfileSkillsBox: skillsProfileSkillsBox$2,
|
|
73406
73415
|
spendCapUsage: spendCapUsage$2,
|
|
73407
73416
|
spendCapsTabLabels: spendCapsTabLabels$2,
|
|
73417
|
+
summernoteTextEditor: summernoteTextEditor$2,
|
|
73408
73418
|
tabsAlertstab: tabsAlertstab$2,
|
|
73409
73419
|
tabsDisclaimersTab: tabsDisclaimersTab$2,
|
|
73410
73420
|
tabsEmbedTab: tabsEmbedTab$2,
|
|
@@ -78279,6 +78289,10 @@ var spendCapsTabLabels$1 = {
|
|
|
78279
78289
|
deleteError: "No se pudo eliminar el límite de gasto"
|
|
78280
78290
|
}
|
|
78281
78291
|
};
|
|
78292
|
+
var summernoteTextEditor$1 = {
|
|
78293
|
+
loadFailed: "No se pudo cargar el editor. Vuelve a cargar la página para intentarlo de nuevo.",
|
|
78294
|
+
loading: "Cargando el editor…"
|
|
78295
|
+
};
|
|
78282
78296
|
var tabsAlertstab$1 = {
|
|
78283
78297
|
searchAlertsPlaceholder: "Buscar alertas",
|
|
78284
78298
|
searchAlertsAriaLabel: "Buscar alertas",
|
|
@@ -80143,6 +80157,7 @@ var es = {
|
|
|
80143
80157
|
skillsProfileSkillsBox: skillsProfileSkillsBox$1,
|
|
80144
80158
|
spendCapUsage: spendCapUsage$1,
|
|
80145
80159
|
spendCapsTabLabels: spendCapsTabLabels$1,
|
|
80160
|
+
summernoteTextEditor: summernoteTextEditor$1,
|
|
80146
80161
|
tabsAlertstab: tabsAlertstab$1,
|
|
80147
80162
|
tabsDisclaimersTab: tabsDisclaimersTab$1,
|
|
80148
80163
|
tabsEmbedTab: tabsEmbedTab$1,
|
|
@@ -85017,6 +85032,10 @@ var spendCapsTabLabels = {
|
|
|
85017
85032
|
deleteError: "无法删除支出限额"
|
|
85018
85033
|
}
|
|
85019
85034
|
};
|
|
85035
|
+
var summernoteTextEditor = {
|
|
85036
|
+
loadFailed: "编辑器加载失败。请重新加载页面后重试。",
|
|
85037
|
+
loading: "正在加载编辑器…"
|
|
85038
|
+
};
|
|
85020
85039
|
var tabsAlertstab = {
|
|
85021
85040
|
searchAlertsPlaceholder: "搜索提醒",
|
|
85022
85041
|
searchAlertsAriaLabel: "搜索提醒",
|
|
@@ -86881,6 +86900,7 @@ var zh = {
|
|
|
86881
86900
|
skillsProfileSkillsBox: skillsProfileSkillsBox,
|
|
86882
86901
|
spendCapUsage: spendCapUsage,
|
|
86883
86902
|
spendCapsTabLabels: spendCapsTabLabels,
|
|
86903
|
+
summernoteTextEditor: summernoteTextEditor,
|
|
86884
86904
|
tabsAlertstab: tabsAlertstab,
|
|
86885
86905
|
tabsDisclaimersTab: tabsDisclaimersTab,
|
|
86886
86906
|
tabsEmbedTab: tabsEmbedTab,
|
|
@@ -187264,6 +187284,521 @@ function RichTextEditor({ value, onChange, exportFormat = 'markdown', disabled,
|
|
|
187264
187284
|
return (jsxs("div", { children: [jsx(EditorToolbar, { editor: editor, onAddLink: handleAddLink, onAddImage: handleAddImage, exportFormat: exportFormat, editorMode: editorMode, onToggleMode: handleToggleMode, disabled: disabled }), editorMode === 'visual' ? (jsx(EditorContent, { editor: editor, id: id, role: "textbox", "aria-multiline": "true", "aria-label": ariaLabel, "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, "aria-invalid": ariaInvalid, "aria-disabled": disabled ? 'true' : undefined })) : (jsx(Textarea, { value: htmlSource, onChange: handleSourceChange, disabled: disabled, placeholder: t('richTextEditor.enterHtmlPlaceholder'), id: id, "aria-label": ariaLabel || t('richTextEditor.htmlSourceEditorLabel'), "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, "aria-invalid": ariaInvalid, className: "min-h-[150px] max-h-[300px] overflow-y-auto rounded-b-md border font-mono text-sm leading-loose" }))] }));
|
|
187265
187285
|
}
|
|
187266
187286
|
|
|
187287
|
+
function styleInject(css, ref) {
|
|
187288
|
+
if ( ref === void 0 ) ref = {};
|
|
187289
|
+
var insertAt = ref.insertAt;
|
|
187290
|
+
|
|
187291
|
+
if (typeof document === 'undefined') { return; }
|
|
187292
|
+
|
|
187293
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
187294
|
+
var style = document.createElement('style');
|
|
187295
|
+
style.type = 'text/css';
|
|
187296
|
+
|
|
187297
|
+
if (insertAt === 'top') {
|
|
187298
|
+
if (head.firstChild) {
|
|
187299
|
+
head.insertBefore(style, head.firstChild);
|
|
187300
|
+
} else {
|
|
187301
|
+
head.appendChild(style);
|
|
187302
|
+
}
|
|
187303
|
+
} else {
|
|
187304
|
+
head.appendChild(style);
|
|
187305
|
+
}
|
|
187306
|
+
|
|
187307
|
+
if (style.styleSheet) {
|
|
187308
|
+
style.styleSheet.cssText = css;
|
|
187309
|
+
} else {
|
|
187310
|
+
style.appendChild(document.createTextNode(css));
|
|
187311
|
+
}
|
|
187312
|
+
}
|
|
187313
|
+
|
|
187314
|
+
var css_248z = "[class*=\" note-icon\"]:before,[class^=note-icon]:before{display:inline-block;font-family:summernote;font-size:inherit;font-style:normal;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}.note-icon-fw{text-align:center;width:1.25em}.note-icon-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.note-icon-pull-left{float:left}.note-icon-pull-right{float:right}.note-icon.note-icon-pull-left{margin-right:.3em}.note-icon.note-icon-pull-right{margin-left:.3em}.note-icon-align:before{content:\"\\ea01\"}.note-icon-align-center:before{content:\"\\ea02\"}.note-icon-align-indent:before{content:\"\\ea03\"}.note-icon-align-justify:before{content:\"\\ea04\"}.note-icon-align-left:before{content:\"\\ea05\"}.note-icon-align-outdent:before{content:\"\\ea06\"}.note-icon-align-right:before{content:\"\\ea07\"}.note-icon-arrow-circle-down:before{content:\"\\ea08\"}.note-icon-arrow-circle-left:before{content:\"\\ea09\"}.note-icon-arrow-circle-right:before{content:\"\\ea0a\"}.note-icon-arrow-circle-up:before{content:\"\\ea0b\"}.note-icon-arrows-alt:before{content:\"\\ea0c\"}.note-icon-arrows-h:before{content:\"\\ea0d\"}.note-icon-arrows-v:before{content:\"\\ea0e\"}.note-icon-bold:before{content:\"\\ea0f\"}.note-icon-caret:before{content:\"\\ea10\"}.note-icon-chain-broken:before{content:\"\\ea11\"}.note-icon-circle:before{content:\"\\ea12\"}.note-icon-close:before{content:\"\\ea13\"}.note-icon-code:before{content:\"\\ea14\"}.note-icon-col-after:before{content:\"\\ea15\"}.note-icon-col-before:before{content:\"\\ea16\"}.note-icon-col-remove:before{content:\"\\ea17\"}.note-icon-eraser:before{content:\"\\ea18\"}.note-icon-float-left:before{content:\"\\ea19\"}.note-icon-float-none:before{content:\"\\ea1a\"}.note-icon-float-right:before{content:\"\\ea1b\"}.note-icon-font:before{content:\"\\ea1c\"}.note-icon-frame:before{content:\"\\ea1d\"}.note-icon-italic:before{content:\"\\ea1e\"}.note-icon-link:before{content:\"\\ea1f\"}.note-icon-magic:before{content:\"\\ea20\"}.note-icon-menu-check:before{content:\"\\ea21\"}.note-icon-minus:before{content:\"\\ea22\"}.note-icon-orderedlist:before{content:\"\\ea23\"}.note-icon-pencil:before{content:\"\\ea24\"}.note-icon-picture:before{content:\"\\ea25\"}.note-icon-question:before{content:\"\\ea26\"}.note-icon-redo:before{content:\"\\ea27\"}.note-icon-rollback:before{content:\"\\ea28\"}.note-icon-row-above:before{content:\"\\ea29\"}.note-icon-row-below:before{content:\"\\ea2a\"}.note-icon-row-remove:before{content:\"\\ea2b\"}.note-icon-special-character:before{content:\"\\ea2c\"}.note-icon-square:before{content:\"\\ea2d\"}.note-icon-strikethrough:before{content:\"\\ea2e\"}.note-icon-subscript:before{content:\"\\ea2f\"}.note-icon-summernote:before{content:\"\\ea30\"}.note-icon-superscript:before{content:\"\\ea31\"}.note-icon-table:before{content:\"\\ea32\"}.note-icon-text-height:before{content:\"\\ea33\"}.note-icon-trash:before{content:\"\\ea34\"}.note-icon-underline:before{content:\"\\ea35\"}.note-icon-undo:before{content:\"\\ea36\"}.note-icon-unorderedlist:before{content:\"\\ea37\"}.note-icon-video:before{content:\"\\ea38\"}.note-frame{border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box;color:#000;font-family:sans-serif}.note-toolbar{background-color:#f5f5f5;border-bottom:1px solid;border-color:#ddd;border-top-left-radius:3px;border-top-right-radius:3px;color:#333;padding:10px 5px}.note-btn-group{display:inline-block;margin-right:8px;position:relative}.note-btn-group>.note-btn-group{margin-right:0}.note-btn-group>.note-btn:first-child{margin-left:0}.note-btn-group .note-btn+.note-btn,.note-btn-group .note-btn+.note-btn-group,.note-btn-group .note-btn-group+.note-btn,.note-btn-group .note-btn-group+.note-btn-group{margin-left:-1px}.note-btn-group>.note-btn-group:not(:first-child)>.note-btn,.note-btn-group>.note-btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.note-btn-group>.note-btn-group:not(:last-child)>.note-btn,.note-btn-group>.note-btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.note-btn-group.open>.note-dropdown{display:block}.note-btn{background-color:#fff;background-image:none;border:1px solid #dae0e5;border-radius:3px;color:#333;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.4;margin-bottom:0;outline:0;padding:5px 10px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.note-btn.focus,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border-color:#dae0e5;color:#333}.note-btn.disabled.focus,.note-btn.disabled:focus,.note-btn[disabled].focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn.focus,fieldset[disabled] .note-btn:focus{background-color:#fff;border-color:#dae0e5}.note-btn.active,.note-btn.focus,.note-btn:active,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border:1px solid #dae0e5;border-radius:1px;color:#333;outline:0;text-decoration:none}.note-btn.active,.note-btn:active{background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn{box-shadow:none;cursor:not-allowed;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=65);filter:alpha(opacity=65);-webkit-opacity:.65;-khtml-opacity:.65;-moz-opacity:.65;opacity:.65}.note-btn>span.note-icon-caret:first-child{margin-left:-1px}.note-btn>span.note-icon-caret:nth-child(2){margin-right:-5px;padding-left:3px}.note-btn-primary{background:#fa6362;color:#fff}.note-btn-primary.focus,.note-btn-primary:focus,.note-btn-primary:hover{background-color:#fa6362;border:1px solid #dae0e5;border-radius:1px;color:#fff;text-decoration:none}.note-btn-block{display:block;width:100%}.note-btn-block+.note-btn-block{margin-top:5px}input[type=button].note-btn-block,input[type=reset].note-btn-block,input[type=submit].note-btn-block{width:100%}button.close{-webkit-appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.close{color:#000;float:right;font-size:21px;line-height:1;opacity:.2}.close:hover{-ms-filter:alpha(opacity=100);filter:alpha(opacity=100);-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1}.note-dropdown{position:relative}.note-color .dropdown-toggle{padding-left:5px;width:30px}.note-dropdown-menu{background:#fff;background-clip:padding-box;border:1px solid #e2e2e2;box-shadow:0 1px 1px rgba(0,0,0,.06);display:none;float:left;left:0;min-width:100px;padding:5px;position:absolute;text-align:left;top:100%;z-index:1000}.note-dropdown-menu>:last-child{margin-right:0}.note-btn-group.open .note-dropdown-menu,.note-dropdown-item{display:block}.note-dropdown-item:hover{background-color:#ebebeb}a.note-dropdown-item,a.note-dropdown-item:hover{color:#000;margin:5px 0;text-decoration:none}.note-modal{bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);filter:alpha(opacity=100);left:0;-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;position:fixed;right:0;top:0;z-index:1050}.note-modal.open{display:block}.note-modal-content{background:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.2);border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);margin:30px 20px;outline:0;position:relative;width:auto}.note-modal-header{border:1px solid #ededef;padding:10px 20px}.note-modal-body{padding:20px 30px;position:relative}.note-modal-body kbd{background-color:#000;border-radius:2px;-ms-box-sizing:border-box;box-sizing:border-box;color:#fff;font-weight:700;padding:3px 5px}.note-modal-footer{height:40px;padding:10px;text-align:center}.note-modal-footer a{color:#337ab7;text-decoration:none}.note-modal-footer a:focus,.note-modal-footer a:hover{color:#23527c;text-decoration:underline}.note-modal-footer .note-btn{float:right}.note-modal-title{color:#42515f;font-size:20px;line-height:1.4;margin:0}.note-modal-backdrop{background:#000;bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);filter:alpha(opacity=50);left:0;-webkit-opacity:.5;-khtml-opacity:.5;-moz-opacity:.5;opacity:.5;position:fixed;right:0;top:0;z-index:1040}.note-modal-backdrop.open{display:block}@media (min-width:768px){.note-modal-content{margin:30px auto;width:600px}}@media (min-width:992px){.note-modal-content-large{width:900px}}.note-modal .note-help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}.note-modal .note-nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.note-modal .note-nav-link{background-color:transparent;color:#007bff;display:block;padding:.5rem 1rem;text-decoration:none;-webkit-text-decoration-skip:objects}.note-modal .note-nav-link:focus,.note-modal .note-nav-link:hover{color:#0056b3;text-decoration:none}.note-modal .note-nav-link.disabled{color:#868e96}.note-modal .note-nav-tabs{border-bottom:1px solid #ddd}.note-modal .note-nav-tabs .note-nav-item{margin-bottom:-1px}.note-modal .note-nav-tabs .note-nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.note-modal .note-nav-tabs .note-nav-link:focus,.note-modal .note-nav-tabs .note-nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.note-modal .note-nav-tabs .note-nav-link.disabled{background-color:transparent;border-color:transparent;color:#868e96}.note-modal .note-nav-tabs .note-nav-item.show .note-nav-link{background-color:#fff;border-color:#ddd #ddd #fff;color:#495057}.note-modal .note-tab-content{margin:15px auto}.note-modal .note-tab-content>.note-tab-pane,.note-modal .note-tab-content>.note-tab-pane:target~.note-tab-pane:last-child{display:none}.note-modal .note-tab-content>.note-tab-pane:target,.note-modal .note-tab-content>:last-child{display:block}.note-form-group{padding-bottom:20px}.note-form-group:last-child{padding-bottom:0}.note-form-label{color:#42515f;display:block;font-size:16px;font-weight:700;margin-bottom:10px;width:100%}.note-input{background:#fff;border:1px solid #ededef;-ms-box-sizing:border-box;box-sizing:border-box;display:block;font-size:14px;outline:0;padding:6px 4px;width:100%}.note-input::-webkit-input-placeholder{color:#eee}.note-input:-moz-placeholder,.note-input::-moz-placeholder{color:#eee}.note-input:-ms-input-placeholder{color:#eee}.note-tooltip{display:block;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);filter:alpha(opacity=0);font-size:13px;-webkit-opacity:0;-khtml-opacity:0;-moz-opacity:0;opacity:0;position:absolute;transition:opacity .15s;z-index:1070}.note-tooltip.in{-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=90);filter:alpha(opacity=90);-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9}.note-tooltip.top{margin-top:-3px;padding:5px 0}.note-tooltip.right{margin-left:3px;padding:0 5px}.note-tooltip.bottom{margin-top:3px;padding:5px 0}.note-tooltip.left{margin-left:-3px;padding:0 5px}.note-tooltip.bottom .note-tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.note-tooltip.top .note-tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.note-tooltip.right .note-tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.note-tooltip.left .note-tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.note-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.note-tooltip-content{background-color:#000;color:#fff;font-family:sans-serif;max-width:200px;padding:3px 8px;text-align:center}.note-popover{background:#fff;border:1px solid #ccc;display:block;display:none;font-family:sans-serif;font-size:13px;position:absolute;z-index:1060}.note-popover.in{display:block}.note-popover.top{margin-top:-10px;padding:5px 0}.note-popover.right{margin-left:10px;padding:0 5px}.note-popover.bottom{margin-top:10px;padding:5px 0}.note-popover.left{margin-left:-10px;padding:0 5px}.note-popover.bottom .note-popover-arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:20px;margin-left:-10px;top:-11px}.note-popover.bottom .note-popover-arrow:after{border-bottom-color:#fff;border-top-width:0;content:\"\\0020\";margin-left:-10px;top:1px}.note-popover.top .note-popover-arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:20px;margin-left:-10px}.note-popover.top .note-popover-arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:\"\\0020\";margin-left:-10px}.note-popover.right .note-popover-arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-10px;top:50%}.note-popover.right .note-popover-arrow:after{border-left-width:0;border-right-color:#fff;content:\"\\0020\";left:1px;margin-top:-10px}.note-popover.left .note-popover-arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-10px;right:-11px;top:50%}.note-popover.left .note-popover-arrow:after{border-left-color:#fff;border-right-width:0;content:\"\\0020\";margin-top:-10px;right:1px}.note-popover-arrow{border:11px solid transparent;height:0;position:absolute;width:0}.note-popover-arrow:after{border:10px solid transparent;content:\"\\0020\";display:block;height:0;position:absolute;width:0}.note-popover-content{background-color:#fff;color:#000;min-height:30px;min-width:100px;padding:3px 8px;text-align:center}.note-editor{position:relative}.note-editor .note-dropzone{background-color:#fff;color:#87cefa;display:none;opacity:.95;position:absolute;z-index:100}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:none}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable img.note-float-left{margin-right:10px}.note-editor .note-editing-area .note-editable img.note-float-right{margin-left:10px}.note-editor.note-airframe,.note-editor.note-frame{border:1px solid rgba(0,0,0,.196)}.note-editor.note-airframe.codeview .note-editing-area .note-editable,.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-airframe.codeview .note-editing-area .note-codable,.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-airframe .note-editing-area,.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-airframe .note-editing-area .note-editable,.note-editor.note-frame .note-editing-area .note-editable{overflow:auto;padding:10px;word-wrap:break-word}.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false],.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false]{background-color:hsla(0,0%,50%,.114)}.note-editor.note-airframe .note-editing-area .note-codable,.note-editor.note-frame .note-editing-area .note-codable{background-color:#222;border:none;border-radius:0;box-shadow:none;-ms-box-sizing:border-box;box-sizing:border-box;color:#ccc;display:none;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;margin-bottom:0;outline:none;padding:10px;resize:none;width:100%}.note-editor.note-airframe.fullscreen,.note-editor.note-frame.fullscreen{left:0;position:fixed;top:0;width:100%!important;z-index:1050}.note-editor.note-airframe.fullscreen .note-resizebar,.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-airframe .note-status-output,.note-editor.note-frame .note-status-output{border:0;border-top:1px solid #e2e2e2;color:#000;display:block;font-size:14px;height:20px;line-height:1.42857143;margin-bottom:0;width:100%}.note-editor.note-airframe .note-status-output:empty,.note-editor.note-frame .note-status-output:empty{border-top:0 solid transparent;height:0}.note-editor.note-airframe .note-status-output .pull-right,.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-airframe .note-status-output .text-muted,.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-airframe .note-status-output .text-primary,.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-airframe .note-status-output .text-success,.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-airframe .note-status-output .text-info,.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-airframe .note-status-output .text-warning,.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-airframe .note-status-output .text-danger,.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-airframe .note-status-output .alert,.note-editor.note-frame .note-status-output .alert{background-color:#f5f5f5;border-radius:0;color:#000;margin:-7px 0 0;padding:7px 10px 2px}.note-editor.note-airframe .note-status-output .alert .note-icon,.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-airframe .note-status-output .alert-success,.note-editor.note-frame .note-status-output .alert-success{background-color:#dff0d8!important;color:#3c763d!important}.note-editor.note-airframe .note-status-output .alert-info,.note-editor.note-frame .note-status-output .alert-info{background-color:#d9edf7!important;color:#31708f!important}.note-editor.note-airframe .note-status-output .alert-warning,.note-editor.note-frame .note-status-output .alert-warning{background-color:#fcf8e3!important;color:#8a6d3b!important}.note-editor.note-airframe .note-status-output .alert-danger,.note-editor.note-frame .note-status-output .alert-danger{background-color:#f2dede!important;color:#a94442!important}.note-editor.note-airframe .note-statusbar,.note-editor.note-frame .note-statusbar{background-color:hsla(0,0%,50%,.114);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid rgba(0,0,0,.196)}.note-editor.note-airframe .note-statusbar .note-resizebar,.note-editor.note-frame .note-statusbar .note-resizebar{cursor:ns-resize;height:9px;padding-top:1px;width:100%}.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{border-top:1px solid rgba(0,0,0,.196);margin:1px auto;width:20px}.note-editor.note-airframe .note-statusbar.locked .note-resizebar,.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-airframe .note-placeholder,.note-editor.note-frame .note-placeholder{padding:10px}.note-editor.note-airframe{border:0}.note-editor.note-airframe .note-editing-area .note-editable{padding:0}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative}.note-editor .note-toolbar,.note-popover .popover-content{margin:0;padding:0 0 5px 5px}.note-editor .note-toolbar>.note-btn-group,.note-popover .popover-content>.note-btn-group{margin-left:0;margin-right:5px;margin-top:5px}.note-editor .note-toolbar .note-btn-group .note-table,.note-popover .popover-content .note-btn-group .note-table{min-width:0;padding:5px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{cursor:pointer;height:10em;position:absolute!important;width:10em;z-index:3}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC\") repeat;height:5em;position:relative!important;width:5em;z-index:1}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC\") repeat;height:1em;position:absolute!important;width:1em;z-index:2}.note-editor .note-toolbar .note-style .dropdown-style blockquote,.note-editor .note-toolbar .note-style .dropdown-style pre,.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre{margin:0;padding:5px 10px}.note-editor .note-toolbar .note-style .dropdown-style h1,.note-editor .note-toolbar .note-style .dropdown-style h2,.note-editor .note-toolbar .note-style .dropdown-style h3,.note-editor .note-toolbar .note-style .dropdown-style h4,.note-editor .note-toolbar .note-style .dropdown-style h5,.note-editor .note-toolbar .note-style .dropdown-style h6,.note-editor .note-toolbar .note-style .dropdown-style p,.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p{margin:0;padding:0}.note-editor .note-toolbar .note-color-all .note-dropdown-menu,.note-popover .popover-content .note-color-all .note-dropdown-menu{min-width:337px}.note-editor .note-toolbar .note-color .dropdown-toggle,.note-popover .popover-content .note-color .dropdown-toggle{padding-left:5px;width:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette{display:inline-block;margin:0;width:160px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title{border-bottom:1px solid #eee;font-size:12px;margin:2px 7px;text-align:center}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select{border-radius:5px;cursor:pointer;font-size:11px;margin:3px;padding:0 3px;width:100%}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover{background:#eee}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn{display:none}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn{border:1px solid #eee}.note-editor .note-toolbar .note-para .note-dropdown-menu,.note-popover .popover-content .note-para .note-dropdown-menu{min-width:228px;padding:5px}.note-editor .note-toolbar .note-para .note-dropdown-menu>div+div,.note-popover .popover-content .note-para .note-dropdown-menu>div+div{margin-left:5px}.note-editor .note-toolbar .note-dropdown-menu,.note-popover .popover-content .note-dropdown-menu{min-width:160px}.note-editor .note-toolbar .note-dropdown-menu.right,.note-popover .popover-content .note-dropdown-menu.right{left:auto;right:0}.note-editor .note-toolbar .note-dropdown-menu.right:before,.note-popover .popover-content .note-dropdown-menu.right:before{left:auto!important;right:9px}.note-editor .note-toolbar .note-dropdown-menu.right:after,.note-popover .popover-content .note-dropdown-menu.right:after{left:auto!important;right:10px}.note-editor .note-toolbar .note-dropdown-menu.note-check a i,.note-popover .popover-content .note-dropdown-menu.note-check a i{color:#00bfff;visibility:hidden}.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i,.note-popover .popover-content .note-dropdown-menu.note-check a.checked i{visibility:visible}.note-editor .note-toolbar .note-fontsize-10,.note-popover .popover-content .note-fontsize-10{font-size:10px}.note-editor .note-toolbar .note-color-palette,.note-popover .popover-content .note-color-palette{line-height:1}.note-editor .note-toolbar .note-color-palette div .note-color-btn,.note-popover .popover-content .note-color-palette div .note-color-btn{border:0;border-radius:0;height:20px;margin:0;padding:0;width:20px}.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,.note-popover .popover-content .note-color-palette div .note-color-btn:hover{transform:scale(1.2);transition:all .2s}.note-modal .modal-dialog{border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.note-modal .form-group{margin-left:0;margin-right:0}.note-modal .note-modal-form{margin:0}.note-modal .note-image-dialog .note-dropzone{border:4px dashed #d3d3d3;color:#d3d3d3;font-size:30px;line-height:4;margin-bottom:10px;min-height:100px;text-align:center}.note-placeholder{color:gray;display:none;position:absolute}.note-handle .note-control-selection{border:1px solid #000;display:none;position:absolute}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{background-color:#000;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);filter:alpha(opacity=30);height:100%;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;width:100%}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing{border:1px solid #000;height:7px;width:7px}.note-handle .note-control-selection .note-control-sizing{background-color:#000}.note-handle .note-control-selection .note-control-nw{border-bottom:none;border-right:none;left:-5px;top:-5px}.note-handle .note-control-selection .note-control-ne{border-bottom:none;border-left:none;right:-5px;top:-5px}.note-handle .note-control-selection .note-control-sw{border-right:none;border-top:none;bottom:-5px;left:-5px}.note-handle .note-control-selection .note-control-se{bottom:-5px;cursor:se-resize;right:-5px}.note-handle .note-control-selection .note-control-se.note-control-holder{border-left:none;border-top:none;cursor:default}.note-handle .note-control-selection .note-control-selection-info{background-color:#000;border-radius:5px;bottom:0;color:#fff;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);filter:alpha(opacity=70);font-size:12px;margin:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;padding:5px;right:0}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;overflow:auto;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{background-color:#428bca;clear:both;color:#fff;cursor:pointer;display:block;font-weight:400;line-height:1.4;outline:0;text-decoration:none;white-space:nowrap}body .note-fullscreen-body,html .note-fullscreen-body{overflow:hidden!important}.note-editable ol li,.note-editable ul li{list-style-position:inside}.note-editor .note-editing-area .note-editable table{border-collapse:collapse;width:100%}.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th{border:1px solid #ececec;padding:5px 3px}.note-editor .note-editing-area .note-editable a{background-color:inherit;color:#337ab7;font-family:inherit;font-weight:inherit;text-decoration:inherit}.note-editor .note-editing-area .note-editable a:focus,.note-editor .note-editing-area .note-editable a:hover{color:#23527c;outline:0;text-decoration:underline}.note-editor .note-editing-area .note-editable figure{margin:0}.note-modal .note-modal-body label{display:inline-block;margin-bottom:2px;padding:2px 5px}.note-modal .note-modal-body .help-list-item:hover{background-color:#e0e0e0}@-moz-document url-prefix(){.note-modal .note-image-input{height:auto}}.help-list-item label{display:inline-block;margin-bottom:5px}";
|
|
187315
|
+
styleInject(css_248z);
|
|
187316
|
+
|
|
187317
|
+
// ---------------------------------------------------------------------------
|
|
187318
|
+
// Lazy loading
|
|
187319
|
+
// ---------------------------------------------------------------------------
|
|
187320
|
+
/** Maps the web-containers locale onto the language packs Summernote ships. */
|
|
187321
|
+
const SUMMERNOTE_LANG_BY_LOCALE = {
|
|
187322
|
+
en: 'en-US',
|
|
187323
|
+
fr: 'fr-FR',
|
|
187324
|
+
es: 'es-ES',
|
|
187325
|
+
zh: 'zh-CN',
|
|
187326
|
+
};
|
|
187327
|
+
/** `en-US` is built into the bundle, every other pack is a separate file. */
|
|
187328
|
+
const SUMMERNOTE_LANG_LOADERS = {
|
|
187329
|
+
'fr-FR': () => import('summernote/dist/lang/summernote-fr-FR.min.js'),
|
|
187330
|
+
'es-ES': () => import('summernote/dist/lang/summernote-es-ES.min.js'),
|
|
187331
|
+
'zh-CN': () => import('summernote/dist/lang/summernote-zh-CN.min.js'),
|
|
187332
|
+
};
|
|
187333
|
+
let summernoteCorePromise = null;
|
|
187334
|
+
const loadedLanguages = new Set();
|
|
187335
|
+
/** Serialises the UMD imports so two borrows of the globals never overlap. */
|
|
187336
|
+
let umdImportQueue = Promise.resolve();
|
|
187337
|
+
/**
|
|
187338
|
+
* Runs a UMD import with `window.jQuery`/`window.$` temporarily pointing at our
|
|
187339
|
+
* copy, then puts the host page's globals back.
|
|
187340
|
+
*
|
|
187341
|
+
* Summernote and its language packs read the global while they evaluate. This
|
|
187342
|
+
* package ships into embeddable contexts and host pages that run their own
|
|
187343
|
+
* jQuery (Open edX especially), so the global is borrowed, never claimed.
|
|
187344
|
+
*/
|
|
187345
|
+
function importWithGlobalJQuery(jQuery, load) {
|
|
187346
|
+
const run = umdImportQueue.then(async () => {
|
|
187347
|
+
const globalScope = window;
|
|
187348
|
+
const previous = ['jQuery', '$'].map((key) => ({
|
|
187349
|
+
key,
|
|
187350
|
+
existed: key in globalScope,
|
|
187351
|
+
value: globalScope[key],
|
|
187352
|
+
}));
|
|
187353
|
+
globalScope.jQuery = jQuery;
|
|
187354
|
+
globalScope.$ = jQuery;
|
|
187355
|
+
try {
|
|
187356
|
+
return await load();
|
|
187357
|
+
}
|
|
187358
|
+
finally {
|
|
187359
|
+
previous.forEach(({ key, existed, value }) => {
|
|
187360
|
+
if (existed) {
|
|
187361
|
+
globalScope[key] = value;
|
|
187362
|
+
}
|
|
187363
|
+
else {
|
|
187364
|
+
delete globalScope[key];
|
|
187365
|
+
}
|
|
187366
|
+
});
|
|
187367
|
+
}
|
|
187368
|
+
});
|
|
187369
|
+
// Keep the queue usable after a failed import.
|
|
187370
|
+
umdImportQueue = run.catch(() => undefined);
|
|
187371
|
+
return run;
|
|
187372
|
+
}
|
|
187373
|
+
/**
|
|
187374
|
+
* Loads jQuery + Summernote in the browser only. Both are pulled in lazily because
|
|
187375
|
+
* Summernote touches `document`/`navigator` at module scope and would break SSR.
|
|
187376
|
+
*/
|
|
187377
|
+
function loadSummernoteCore() {
|
|
187378
|
+
if (!summernoteCorePromise) {
|
|
187379
|
+
summernoteCorePromise = (async () => {
|
|
187380
|
+
var _a;
|
|
187381
|
+
const jqueryModule = await import('jquery');
|
|
187382
|
+
const jQuery = ((_a = jqueryModule.default) !== null && _a !== void 0 ? _a : jqueryModule);
|
|
187383
|
+
await importWithGlobalJQuery(jQuery, () => import('summernote/dist/summernote-lite.min.js'));
|
|
187384
|
+
return jQuery;
|
|
187385
|
+
})().catch((error) => {
|
|
187386
|
+
// Without this the editor stays dead for the rest of the session: a cached
|
|
187387
|
+
// rejection would be replayed by every later mount, so one chunk 404 after
|
|
187388
|
+
// a deploy could never recover.
|
|
187389
|
+
summernoteCorePromise = null;
|
|
187390
|
+
throw error;
|
|
187391
|
+
});
|
|
187392
|
+
}
|
|
187393
|
+
return summernoteCorePromise;
|
|
187394
|
+
}
|
|
187395
|
+
async function loadSummernote(langCode) {
|
|
187396
|
+
const jQuery = await loadSummernoteCore();
|
|
187397
|
+
const loadLanguage = SUMMERNOTE_LANG_LOADERS[langCode];
|
|
187398
|
+
if (loadLanguage && !loadedLanguages.has(langCode)) {
|
|
187399
|
+
try {
|
|
187400
|
+
await importWithGlobalJQuery(jQuery, loadLanguage);
|
|
187401
|
+
loadedLanguages.add(langCode);
|
|
187402
|
+
}
|
|
187403
|
+
catch (_a) {
|
|
187404
|
+
// Fall back to the built-in en-US strings.
|
|
187405
|
+
}
|
|
187406
|
+
}
|
|
187407
|
+
return jQuery;
|
|
187408
|
+
}
|
|
187409
|
+
// ---------------------------------------------------------------------------
|
|
187410
|
+
// Icons
|
|
187411
|
+
// ---------------------------------------------------------------------------
|
|
187412
|
+
/**
|
|
187413
|
+
* Summernote renders its toolbar with an icon font that lives next to its
|
|
187414
|
+
* stylesheet. Bundlers that inline the stylesheet cannot resolve those font
|
|
187415
|
+
* files, so we hand Summernote inline SVGs (matching the lucide set used by the
|
|
187416
|
+
* rest of the design system) instead.
|
|
187417
|
+
*/
|
|
187418
|
+
const svgIcon = (body) => `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" style="display:inline-block;vertical-align:middle">${body}</svg>`;
|
|
187419
|
+
const ICON_INLINE_CODE = svgIcon('<path d="m18 16 4-4-4-4"/><path d="m6 8-4 4 4 4"/><path d="m14.5 4-5 16"/>');
|
|
187420
|
+
const SUMMERNOTE_ICONS = {
|
|
187421
|
+
magic: svgIcon('<path d="M12 4v16"/><path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2"/><path d="M9 20h6"/>'),
|
|
187422
|
+
caret: svgIcon('<path d="m6 9 6 6 6-6"/>'),
|
|
187423
|
+
bold: svgIcon('<path d="M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"/>'),
|
|
187424
|
+
italic: svgIcon('<line x1="19" x2="10" y1="4" y2="4"/><line x1="14" x2="5" y1="20" y2="20"/><line x1="15" x2="9" y1="4" y2="20"/>'),
|
|
187425
|
+
underline: svgIcon('<path d="M6 4v6a6 6 0 0 0 12 0V4"/><line x1="4" x2="20" y1="20" y2="20"/>'),
|
|
187426
|
+
eraser: svgIcon('<path d="M4 7V4h16v3"/><path d="M5 20h6"/><path d="M13 4 8 20"/><path d="m15 15 5 5"/><path d="m20 15-5 5"/>'),
|
|
187427
|
+
code: ICON_INLINE_CODE,
|
|
187428
|
+
align: svgIcon('<path d="M15 12H3"/><path d="M17 18H3"/><path d="M21 6H3"/>'),
|
|
187429
|
+
alignLeft: svgIcon('<path d="M15 12H3"/><path d="M17 18H3"/><path d="M21 6H3"/>'),
|
|
187430
|
+
alignCenter: svgIcon('<path d="M17 12H7"/><path d="M19 18H5"/><path d="M21 6H3"/>'),
|
|
187431
|
+
alignRight: svgIcon('<path d="M21 12H9"/><path d="M21 18H7"/><path d="M21 6H3"/>'),
|
|
187432
|
+
alignJustify: svgIcon('<path d="M3 12h18"/><path d="M3 18h18"/><path d="M3 6h18"/>'),
|
|
187433
|
+
unorderedlist: svgIcon('<path d="M3 12h.01"/><path d="M3 18h.01"/><path d="M3 6h.01"/><path d="M8 12h13"/><path d="M8 18h13"/><path d="M8 6h13"/>'),
|
|
187434
|
+
orderedlist: svgIcon('<path d="M10 12h11"/><path d="M10 18h11"/><path d="M10 6h11"/><path d="M4 10h2"/><path d="M4 6h1v4"/><path d="M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"/>'),
|
|
187435
|
+
link: svgIcon('<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>'),
|
|
187436
|
+
unlink: svgIcon('<path d="m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"/><path d="m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"/><line x1="8" x2="8" y1="2" y2="5"/><line x1="2" x2="5" y1="8" y2="8"/><line x1="16" x2="16" y1="19" y2="22"/><line x1="19" x2="22" y1="16" y2="16"/>'),
|
|
187437
|
+
picture: svgIcon('<rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/>'),
|
|
187438
|
+
minus: svgIcon('<path d="M5 12h14"/>'),
|
|
187439
|
+
undo: svgIcon('<path d="M9 14 4 9l5-5"/><path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"/>'),
|
|
187440
|
+
redo: svgIcon('<path d="m15 14 5-5-5-5"/><path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13"/>'),
|
|
187441
|
+
arrowsAlt: svgIcon('<path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/>'),
|
|
187442
|
+
question: svgIcon('<circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/>'),
|
|
187443
|
+
close: svgIcon('<path d="M18 6 6 18"/><path d="m6 6 12 12"/>'),
|
|
187444
|
+
trash: svgIcon('<path d="M10 11v6"/><path d="M14 11v6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M3 6h18"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/>'),
|
|
187445
|
+
pencil: svgIcon('<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>'),
|
|
187446
|
+
floatLeft: svgIcon('<path d="M15 12H3"/><path d="M17 18H3"/><path d="M21 6H3"/>'),
|
|
187447
|
+
floatRight: svgIcon('<path d="M21 12H9"/><path d="M21 18H7"/><path d="M21 6H3"/>'),
|
|
187448
|
+
floatNone: svgIcon('<path d="M3 12h18"/><path d="M3 18h18"/><path d="M3 6h18"/>'),
|
|
187449
|
+
};
|
|
187450
|
+
// ---------------------------------------------------------------------------
|
|
187451
|
+
// Helpers
|
|
187452
|
+
// ---------------------------------------------------------------------------
|
|
187453
|
+
/**
|
|
187454
|
+
* Strips anything executable before content reaches the editable region.
|
|
187455
|
+
*
|
|
187456
|
+
* Values come off the platform API, so a template saved by one tenant admin must
|
|
187457
|
+
* not be able to run script in another admin's session. `innerHTML` will not run
|
|
187458
|
+
* a `<script>`, but it happily fires `onerror`/`onload` handlers.
|
|
187459
|
+
*
|
|
187460
|
+
* Parsing happens in an inert `DOMParser` document — which neither fetches
|
|
187461
|
+
* resources nor runs handlers — rather than by handing the string straight to
|
|
187462
|
+
* DOMPurify: the HTML parser hoists a leading `<style>` into `<head>`, and
|
|
187463
|
+
* DOMPurify only returns the body, so email templates would silently lose their
|
|
187464
|
+
* stylesheet. `<style>` is kept deliberately; it is why `codeviewFilter` is off.
|
|
187465
|
+
*/
|
|
187466
|
+
function sanitizeEditorHtml(html) {
|
|
187467
|
+
const doc = new DOMParser().parseFromString(html, 'text/html');
|
|
187468
|
+
doc.body.prepend(...Array.from(doc.head.querySelectorAll('style')));
|
|
187469
|
+
purify.sanitize(doc.body, {
|
|
187470
|
+
IN_PLACE: true,
|
|
187471
|
+
ADD_TAGS: ['style'],
|
|
187472
|
+
ADD_ATTR: ['target'],
|
|
187473
|
+
});
|
|
187474
|
+
return doc.body.innerHTML;
|
|
187475
|
+
}
|
|
187476
|
+
const DEFAULT_MIN_HEIGHT = 150;
|
|
187477
|
+
/** Matches the cap `RichTextEditor` puts on its own editing area. */
|
|
187478
|
+
const EDITOR_MAX_HEIGHT = 300;
|
|
187479
|
+
/** Summernote wants a number of pixels, the public prop mirrors CSS values. */
|
|
187480
|
+
function toPixels(size, fallback) {
|
|
187481
|
+
const parsed = Number.parseInt(size !== null && size !== void 0 ? size : '', 10);
|
|
187482
|
+
return Number.isFinite(parsed) ? parsed : fallback;
|
|
187483
|
+
}
|
|
187484
|
+
/** Walks up from the current selection looking for a `<code>` ancestor. */
|
|
187485
|
+
function findCodeAncestor(node, boundary) {
|
|
187486
|
+
let current = node;
|
|
187487
|
+
while (current && current !== boundary) {
|
|
187488
|
+
if (current.nodeType === Node.ELEMENT_NODE && current.tagName === 'CODE') {
|
|
187489
|
+
return current;
|
|
187490
|
+
}
|
|
187491
|
+
current = current.parentNode;
|
|
187492
|
+
}
|
|
187493
|
+
return null;
|
|
187494
|
+
}
|
|
187495
|
+
/** The current selection, but only when it sits inside `editable`. */
|
|
187496
|
+
function selectionRangeWithin(editable) {
|
|
187497
|
+
const selection = window.getSelection();
|
|
187498
|
+
if (!selection || selection.rangeCount === 0) {
|
|
187499
|
+
return null;
|
|
187500
|
+
}
|
|
187501
|
+
const range = selection.getRangeAt(0);
|
|
187502
|
+
return editable.contains(range.commonAncestorContainer) ? range : null;
|
|
187503
|
+
}
|
|
187504
|
+
/**
|
|
187505
|
+
* Summernote has no inline-code button, so we register one that mirrors the
|
|
187506
|
+
* `<code>` toggle offered by the TipTap based `RichTextEditor`. The range is
|
|
187507
|
+
* captured before the editor is focused, since focusing can drop the selection.
|
|
187508
|
+
*/
|
|
187509
|
+
function toggleInlineCode(editable, range) {
|
|
187510
|
+
if (!range) {
|
|
187511
|
+
return;
|
|
187512
|
+
}
|
|
187513
|
+
const existing = findCodeAncestor(range.commonAncestorContainer, editable);
|
|
187514
|
+
if (existing) {
|
|
187515
|
+
existing.replaceWith(...Array.from(existing.childNodes));
|
|
187516
|
+
return;
|
|
187517
|
+
}
|
|
187518
|
+
if (range.collapsed) {
|
|
187519
|
+
return;
|
|
187520
|
+
}
|
|
187521
|
+
const code = document.createElement('code');
|
|
187522
|
+
code.appendChild(range.extractContents());
|
|
187523
|
+
range.insertNode(code);
|
|
187524
|
+
const nextRange = document.createRange();
|
|
187525
|
+
nextRange.selectNodeContents(code);
|
|
187526
|
+
const selection = window.getSelection();
|
|
187527
|
+
selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
|
|
187528
|
+
selection === null || selection === void 0 ? void 0 : selection.addRange(nextRange);
|
|
187529
|
+
}
|
|
187530
|
+
/**
|
|
187531
|
+
* Rich text editor backed by [Summernote](https://summernote.org/).
|
|
187532
|
+
*
|
|
187533
|
+
* Feature parity with `RichTextEditor`: headings, bold/italic/underline, inline
|
|
187534
|
+
* code, alignment, lists, blockquote, code block, links, images, an HTML source
|
|
187535
|
+
* view (when `exportFormat` is `html`) and markdown import/export.
|
|
187536
|
+
*/
|
|
187537
|
+
function SummerNoteTextEditor({ value, onChange, exportFormat = 'markdown', disabled, placeholder, minHeight = '150px', className, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, ariaRequired, ariaInvalid, }) {
|
|
187538
|
+
var _a;
|
|
187539
|
+
const t = useT();
|
|
187540
|
+
const locale = useWebContainersLocale();
|
|
187541
|
+
const langCode = (_a = SUMMERNOTE_LANG_BY_LOCALE[locale]) !== null && _a !== void 0 ? _a : 'en-US';
|
|
187542
|
+
const minHeightPx = toPixels(minHeight, DEFAULT_MIN_HEIGHT);
|
|
187543
|
+
const hostRef = React__default.useRef(null);
|
|
187544
|
+
const mountRef = React__default.useRef(null);
|
|
187545
|
+
const instanceRef = React__default.useRef(null);
|
|
187546
|
+
const editableRef = React__default.useRef(null);
|
|
187547
|
+
const [isReady, setIsReady] = React__default.useState(false);
|
|
187548
|
+
const [hasFailed, setHasFailed] = React__default.useState(false);
|
|
187549
|
+
// Value we last handed to `onChange`. Lets the sync effect below tell an echo
|
|
187550
|
+
// of our own edit apart from a genuine external update, so the caret is never
|
|
187551
|
+
// reset while the user types.
|
|
187552
|
+
const lastEmittedValueRef = React__default.useRef(null);
|
|
187553
|
+
// Set while we write an external value into the editor, so the `change` event
|
|
187554
|
+
// Summernote fires in response is not echoed back to the caller.
|
|
187555
|
+
const isApplyingValueRef = React__default.useRef(false);
|
|
187556
|
+
// Props read from inside jQuery callbacks. Kept in a ref so changing them does
|
|
187557
|
+
// not tear down and rebuild the editor.
|
|
187558
|
+
const latestRef = React__default.useRef({ value, onChange, exportFormat, placeholder, t });
|
|
187559
|
+
React__default.useEffect(() => {
|
|
187560
|
+
latestRef.current = { value, onChange, exportFormat, placeholder, t };
|
|
187561
|
+
});
|
|
187562
|
+
/** Normalizes the incoming prop into the (sanitized) HTML the editor renders. */
|
|
187563
|
+
const toEditorHtml = React__default.useCallback((raw) => {
|
|
187564
|
+
if (exportFormat === 'html') {
|
|
187565
|
+
return sanitizeEditorHtml(raw);
|
|
187566
|
+
}
|
|
187567
|
+
// Markdown is the export format but the stored value is HTML: round-trip it
|
|
187568
|
+
// so the editor only ever shows content markdown can represent.
|
|
187569
|
+
if (isHtml(raw)) {
|
|
187570
|
+
return sanitizeEditorHtml(markdownToHtml(htmlToMarkdown(raw)));
|
|
187571
|
+
}
|
|
187572
|
+
return sanitizeEditorHtml(markdownToHtml(raw));
|
|
187573
|
+
}, [exportFormat]);
|
|
187574
|
+
React__default.useEffect(() => {
|
|
187575
|
+
let cancelled = false;
|
|
187576
|
+
const host = hostRef.current;
|
|
187577
|
+
if (!host) {
|
|
187578
|
+
return;
|
|
187579
|
+
}
|
|
187580
|
+
loadSummernote(langCode)
|
|
187581
|
+
.then((jQuery) => {
|
|
187582
|
+
if (cancelled) {
|
|
187583
|
+
return;
|
|
187584
|
+
}
|
|
187585
|
+
// Summernote rewrites the DOM around its target, so give it a node React
|
|
187586
|
+
// does not manage.
|
|
187587
|
+
const mount = document.createElement('div');
|
|
187588
|
+
const initial = latestRef.current;
|
|
187589
|
+
mount.innerHTML = toEditorHtml(initial.value);
|
|
187590
|
+
host.appendChild(mount);
|
|
187591
|
+
mountRef.current = mount;
|
|
187592
|
+
// The editor now holds the incoming value, so the sync effect below has
|
|
187593
|
+
// nothing to push and must not mistake it for an external update.
|
|
187594
|
+
lastEmittedValueRef.current = initial.value;
|
|
187595
|
+
const emitChange = (contents) => {
|
|
187596
|
+
// Writing content programmatically also fires `change`; that is our own
|
|
187597
|
+
// value coming back, not an edit.
|
|
187598
|
+
if (isApplyingValueRef.current) {
|
|
187599
|
+
return;
|
|
187600
|
+
}
|
|
187601
|
+
const current = latestRef.current;
|
|
187602
|
+
const next = current.exportFormat === 'html' ? contents : htmlToMarkdown(contents);
|
|
187603
|
+
lastEmittedValueRef.current = next;
|
|
187604
|
+
current.onChange(next);
|
|
187605
|
+
};
|
|
187606
|
+
const $target = jQuery(mount);
|
|
187607
|
+
const summernoteStatic = jQuery.summernote;
|
|
187608
|
+
/**
|
|
187609
|
+
* Builds a toolbar button. Summernote's own tooltips double as the
|
|
187610
|
+
* accessible name, and the tooltip node has to be anchored to the editor
|
|
187611
|
+
* so it stays inside a modal's focus scope.
|
|
187612
|
+
*/
|
|
187613
|
+
const customButton = (context, contents, tooltip, click) => summernoteStatic.ui
|
|
187614
|
+
.button({ contents, tooltip, container: context.layoutInfo.editor, click })
|
|
187615
|
+
.render();
|
|
187616
|
+
$target.summernote({
|
|
187617
|
+
lang: langCode,
|
|
187618
|
+
placeholder: initial.placeholder || initial.t('richTextEditor.startTypingPlaceholder'),
|
|
187619
|
+
minHeight: minHeightPx,
|
|
187620
|
+
// `RichTextEditor` caps its editing area at the same height; the guard
|
|
187621
|
+
// keeps a caller asking for a taller minimum from getting a
|
|
187622
|
+
// contradictory config.
|
|
187623
|
+
maxHeight: Math.max(EDITOR_MAX_HEIGHT, minHeightPx),
|
|
187624
|
+
disableResizeEditor: true,
|
|
187625
|
+
focus: false,
|
|
187626
|
+
// `auto` disables tooltips on anything the browser reports as touch
|
|
187627
|
+
// capable — including desktop Chrome — and the tooltip doubles as the
|
|
187628
|
+
// toolbar buttons' accessible name, so force it on.
|
|
187629
|
+
tooltip: true,
|
|
187630
|
+
// Match the raw HTML fidelity of the previous source-mode textarea:
|
|
187631
|
+
// notification templates legitimately carry `<style>` blocks. Content
|
|
187632
|
+
// arriving from outside is sanitized by `sanitizeEditorHtml` instead.
|
|
187633
|
+
codeviewFilter: false,
|
|
187634
|
+
styleTags: ['p', 'h1', 'h2', 'h3', 'blockquote', 'pre'],
|
|
187635
|
+
icons: SUMMERNOTE_ICONS,
|
|
187636
|
+
toolbar: [
|
|
187637
|
+
['style', ['style']],
|
|
187638
|
+
['font', ['bold', 'italic', 'underline', 'inlineCode', 'clear']],
|
|
187639
|
+
['para', ['alignLeft', 'alignCenter', 'alignRight', 'ul', 'ol']],
|
|
187640
|
+
['insert', ['link', 'picture', 'hr']],
|
|
187641
|
+
['history', ['undo', 'redo']],
|
|
187642
|
+
// The source view only makes sense when HTML is what gets exported.
|
|
187643
|
+
['view', initial.exportFormat === 'html' ? ['codeview', 'fullscreen'] : ['fullscreen']],
|
|
187644
|
+
],
|
|
187645
|
+
popover: {
|
|
187646
|
+
image: [
|
|
187647
|
+
['resize', ['resizeFull', 'resizeHalf', 'resizeQuarter', 'resizeNone']],
|
|
187648
|
+
['float', ['floatLeft', 'floatRight', 'floatNone']],
|
|
187649
|
+
['remove', ['removeMedia']],
|
|
187650
|
+
],
|
|
187651
|
+
link: [['link', ['linkDialogShow', 'unlink']]],
|
|
187652
|
+
air: [],
|
|
187653
|
+
},
|
|
187654
|
+
buttons: {
|
|
187655
|
+
// Summernote 0.9 only wires the justify buttons up for use inside the
|
|
187656
|
+
// "paragraph" dropdown — registering them flat in the toolbar throws.
|
|
187657
|
+
// Re-register them as plain buttons so the toolbar keeps the same shape
|
|
187658
|
+
// as the TipTap based editor.
|
|
187659
|
+
alignLeft: (context) => customButton(context, SUMMERNOTE_ICONS.alignLeft, latestRef.current.t('richTextEditor.alignLeft'), context.createInvokeHandler('editor.justifyLeft')),
|
|
187660
|
+
alignCenter: (context) => customButton(context, SUMMERNOTE_ICONS.alignCenter, latestRef.current.t('richTextEditor.alignCenter'), context.createInvokeHandler('editor.justifyCenter')),
|
|
187661
|
+
alignRight: (context) => customButton(context, SUMMERNOTE_ICONS.alignRight, latestRef.current.t('richTextEditor.alignRight'), context.createInvokeHandler('editor.justifyRight')),
|
|
187662
|
+
// Summernote has no inline-code command of its own.
|
|
187663
|
+
inlineCode: (context) => customButton(context, ICON_INLINE_CODE, latestRef.current.t('richTextEditor.toggleInlineCode'), () => {
|
|
187664
|
+
const editable = context.layoutInfo.editable.get(0);
|
|
187665
|
+
const range = selectionRangeWithin(editable);
|
|
187666
|
+
editable.focus();
|
|
187667
|
+
context.invoke('editor.beforeCommand');
|
|
187668
|
+
toggleInlineCode(editable, range);
|
|
187669
|
+
context.invoke('editor.afterCommand');
|
|
187670
|
+
}),
|
|
187671
|
+
},
|
|
187672
|
+
callbacks: {
|
|
187673
|
+
onChange: (contents) => emitChange(contents),
|
|
187674
|
+
onChangeCodeview: (contents) => emitChange(contents),
|
|
187675
|
+
},
|
|
187676
|
+
});
|
|
187677
|
+
instanceRef.current = $target;
|
|
187678
|
+
editableRef.current = host.querySelector('.note-editable');
|
|
187679
|
+
setIsReady(true);
|
|
187680
|
+
})
|
|
187681
|
+
.catch((error) => {
|
|
187682
|
+
console.error('Failed to initialise the Summernote editor', error);
|
|
187683
|
+
if (!cancelled) {
|
|
187684
|
+
setHasFailed(true);
|
|
187685
|
+
}
|
|
187686
|
+
});
|
|
187687
|
+
return () => {
|
|
187688
|
+
var _a, _b;
|
|
187689
|
+
cancelled = true;
|
|
187690
|
+
setIsReady(false);
|
|
187691
|
+
setHasFailed(false);
|
|
187692
|
+
try {
|
|
187693
|
+
(_a = instanceRef.current) === null || _a === void 0 ? void 0 : _a.summernote('destroy');
|
|
187694
|
+
}
|
|
187695
|
+
catch (_c) {
|
|
187696
|
+
// Already torn down.
|
|
187697
|
+
}
|
|
187698
|
+
instanceRef.current = null;
|
|
187699
|
+
editableRef.current = null;
|
|
187700
|
+
(_b = mountRef.current) === null || _b === void 0 ? void 0 : _b.remove();
|
|
187701
|
+
mountRef.current = null;
|
|
187702
|
+
};
|
|
187703
|
+
// Changing the language or the export format rebuilds the editor, because both
|
|
187704
|
+
// are baked into the toolbar Summernote renders once. Every other prop is
|
|
187705
|
+
// applied imperatively by the effects below.
|
|
187706
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
187707
|
+
}, [langCode, exportFormat]);
|
|
187708
|
+
// Push external value changes into the editor.
|
|
187709
|
+
React__default.useEffect(() => {
|
|
187710
|
+
const instance = instanceRef.current;
|
|
187711
|
+
if (!instance || !isReady) {
|
|
187712
|
+
return;
|
|
187713
|
+
}
|
|
187714
|
+
if (value === lastEmittedValueRef.current) {
|
|
187715
|
+
return;
|
|
187716
|
+
}
|
|
187717
|
+
const next = toEditorHtml(value);
|
|
187718
|
+
if (next === instance.summernote('code')) {
|
|
187719
|
+
return;
|
|
187720
|
+
}
|
|
187721
|
+
lastEmittedValueRef.current = value;
|
|
187722
|
+
isApplyingValueRef.current = true;
|
|
187723
|
+
try {
|
|
187724
|
+
instance.summernote('code', next);
|
|
187725
|
+
}
|
|
187726
|
+
finally {
|
|
187727
|
+
isApplyingValueRef.current = false;
|
|
187728
|
+
}
|
|
187729
|
+
}, [value, isReady, toEditorHtml]);
|
|
187730
|
+
React__default.useEffect(() => {
|
|
187731
|
+
const instance = instanceRef.current;
|
|
187732
|
+
if (!instance || !isReady) {
|
|
187733
|
+
return;
|
|
187734
|
+
}
|
|
187735
|
+
instance.summernote(disabled ? 'disable' : 'enable');
|
|
187736
|
+
}, [disabled, isReady]);
|
|
187737
|
+
// Summernote reads the placeholder once, so keep the rendered node in sync.
|
|
187738
|
+
React__default.useEffect(() => {
|
|
187739
|
+
var _a;
|
|
187740
|
+
if (!isReady) {
|
|
187741
|
+
return;
|
|
187742
|
+
}
|
|
187743
|
+
const placeholderNode = (_a = hostRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.note-placeholder');
|
|
187744
|
+
if (placeholderNode) {
|
|
187745
|
+
placeholderNode.textContent = placeholder || t('richTextEditor.startTypingPlaceholder');
|
|
187746
|
+
}
|
|
187747
|
+
}, [placeholder, isReady, t]);
|
|
187748
|
+
// Likewise for the height, which Summernote turns into inline styles at init.
|
|
187749
|
+
React__default.useEffect(() => {
|
|
187750
|
+
const editable = editableRef.current;
|
|
187751
|
+
if (!editable || !isReady) {
|
|
187752
|
+
return;
|
|
187753
|
+
}
|
|
187754
|
+
editable.style.minHeight = `${minHeightPx}px`;
|
|
187755
|
+
editable.style.maxHeight = `${Math.max(EDITOR_MAX_HEIGHT, minHeightPx)}px`;
|
|
187756
|
+
}, [minHeightPx, isReady]);
|
|
187757
|
+
// Summernote's editable region is a plain contenteditable div; describe it the
|
|
187758
|
+
// same way `RichTextEditor` describes its own.
|
|
187759
|
+
React__default.useEffect(() => {
|
|
187760
|
+
const editable = editableRef.current;
|
|
187761
|
+
if (!editable || !isReady) {
|
|
187762
|
+
return;
|
|
187763
|
+
}
|
|
187764
|
+
const attributes = {
|
|
187765
|
+
role: 'textbox',
|
|
187766
|
+
'aria-multiline': 'true',
|
|
187767
|
+
id,
|
|
187768
|
+
'aria-label': ariaLabel,
|
|
187769
|
+
'aria-labelledby': ariaLabel ? undefined : ariaLabelledBy,
|
|
187770
|
+
'aria-describedby': ariaDescribedBy,
|
|
187771
|
+
'aria-required': ariaRequired ? 'true' : undefined,
|
|
187772
|
+
'aria-invalid': ariaInvalid ? 'true' : undefined,
|
|
187773
|
+
'aria-disabled': disabled ? 'true' : undefined,
|
|
187774
|
+
};
|
|
187775
|
+
Object.entries(attributes).forEach(([name, attributeValue]) => {
|
|
187776
|
+
if (attributeValue === undefined) {
|
|
187777
|
+
editable.removeAttribute(name);
|
|
187778
|
+
}
|
|
187779
|
+
else {
|
|
187780
|
+
editable.setAttribute(name, attributeValue);
|
|
187781
|
+
}
|
|
187782
|
+
});
|
|
187783
|
+
}, [
|
|
187784
|
+
isReady,
|
|
187785
|
+
id,
|
|
187786
|
+
ariaLabel,
|
|
187787
|
+
ariaLabelledBy,
|
|
187788
|
+
ariaDescribedBy,
|
|
187789
|
+
ariaRequired,
|
|
187790
|
+
ariaInvalid,
|
|
187791
|
+
disabled,
|
|
187792
|
+
]);
|
|
187793
|
+
return (jsx("div", { ref: hostRef, "data-testid": "summernote-text-editor", className: cn(
|
|
187794
|
+
// Tailwind's preflight strips the default block styles, so restore the
|
|
187795
|
+
// ones the editable region relies on.
|
|
187796
|
+
'[&_.note-editable]:leading-loose', '[&_.note-editable_h1]:text-2xl [&_.note-editable_h1]:font-bold', '[&_.note-editable_h2]:text-xl [&_.note-editable_h2]:font-bold', '[&_.note-editable_h3]:text-lg [&_.note-editable_h3]:font-bold', '[&_.note-editable_p]:leading-loose', '[&_.note-editable_ul]:list-disc [&_.note-editable_ul]:pl-6', '[&_.note-editable_ol]:list-decimal [&_.note-editable_ol]:pl-6', '[&_.note-editable_code]:bg-muted [&_.note-editable_code]:rounded [&_.note-editable_code]:px-1 [&_.note-editable_code]:py-0.5', '[&_.note-editable_pre]:bg-muted [&_.note-editable_pre]:rounded-md [&_.note-editable_pre]:p-4', '[&_.note-editable_blockquote]:border-l-4 [&_.note-editable_blockquote]:border-primary [&_.note-editable_blockquote]:pl-4 [&_.note-editable_blockquote]:italic', '[&_.note-editable_a]:text-primary [&_.note-editable_a]:underline', '[&_.note-editable_img]:max-w-full [&_.note-editable_img]:h-auto', '[&_.note-editor]:rounded-md', className), children: !isReady && (jsx("div", { className: cn('rounded-md border p-4 text-sm', hasFailed ? 'border-destructive text-destructive' : 'text-muted-foreground'), style: { minHeight: `${minHeightPx}px` },
|
|
187797
|
+
// Announcing "loading" forever would mislead a screen reader user, so
|
|
187798
|
+
// the failure is surfaced as an alert instead.
|
|
187799
|
+
role: hasFailed ? 'alert' : 'status', children: hasFailed ? t('summernoteTextEditor.loadFailed') : t('summernoteTextEditor.loading') })) }));
|
|
187800
|
+
}
|
|
187801
|
+
|
|
187267
187802
|
const useTopBanner = ({ parentContainerSelector, loading, onLoad, onClose, }) => {
|
|
187268
187803
|
const [visible, setVisible] = useState(true);
|
|
187269
187804
|
const [showTooltip, setShowTooltip] = useState(false);
|
|
@@ -187850,7 +188385,7 @@ function SendNotificationDialog({ open, onOpenChange, tenant, onNotificationSent
|
|
|
187850
188385
|
: 'false', required: true, "data-testid": "notification-preview-input" }), jsxs("div", { className: "flex justify-between items-center text-xs text-gray-400", children: [jsx("span", { id: "preview-help", children: t('notificationsSendNotificationDialog.previewHelp') }), jsxs("span", { id: "preview-counter", className: cn(field.state.value.length > 80 && 'text-orange-500', field.state.value.length >= 100 && 'text-red-500'), "aria-live": "polite", children: [field.state.value.length, "/100"] })] })] })),
|
|
187851
188386
|
})] }), jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "notification-body", className: "text-sm font-medium", "aria-required": "true", children: t('notificationsSendNotificationDialog.contentLabel') }), form.Field({
|
|
187852
188387
|
name: 'message',
|
|
187853
|
-
children: (field) => (jsx("div", { role: "group", "aria-labelledby": "notification-body", "data-testid": "notification-body-group", children: jsx(
|
|
188388
|
+
children: (field) => (jsx("div", { role: "group", "aria-labelledby": "notification-body", "data-testid": "notification-body-group", children: jsx(SummerNoteTextEditor, { value: field.state.value, onChange: field.handleChange, placeholder: t('notificationsSendNotificationDialog.contentPlaceholder'), minHeight: "180px", exportFormat: "html" }) })),
|
|
187854
188389
|
})] }), jsxs("fieldset", { className: "space-y-3", "data-testid": "send-time-fieldset", children: [jsx("legend", { className: "text-sm font-medium", children: t('notificationsSendNotificationDialog.sendTimeLegend') }), jsxs(RadioGroup$1, { value: sendType, onValueChange: (value) => setSendType(value), "aria-label": t('notificationsSendNotificationDialog.sendTimeAriaLabel'), "data-testid": "send-time-radio-group", children: [jsxs("div", { className: "flex items-center space-x-2 mt-2", children: [jsx(RadioGroupItem, { value: "now", id: "send-now", "aria-label": t('notificationsSendNotificationDialog.sendImmediately'), "data-testid": "send-now-radio" }), jsx(Label$2, { htmlFor: "send-now", className: "font-normal cursor-pointer", children: t('notificationsSendNotificationDialog.sendImmediately') })] }), jsxs("div", { className: "flex items-center space-x-2", children: [jsx(RadioGroupItem, { value: "schedule", id: "send-schedule", "aria-label": t('notificationsSendNotificationDialog.scheduleForLater'), "data-testid": "send-schedule-radio" }), jsx(Label$2, { htmlFor: "send-schedule", className: "font-normal cursor-pointer", children: t('notificationsSendNotificationDialog.scheduleForLater') })] })] }), sendType === 'schedule' && (jsxs("div", { className: "flex gap-3 mt-4 pl-6", role: "group", "aria-label": t('notificationsSendNotificationDialog.scheduleSettingsAriaLabel'), "data-testid": "schedule-settings", children: [jsxs(Popover, { children: [jsx(PopoverTrigger, { asChild: true, children: jsxs(Button$1, { type: "button", variant: "outline", className: cn('justify-start text-left font-normal min-w-[200px]', !scheduledDate && 'text-muted-foreground'), "aria-label": scheduledDate
|
|
187855
188390
|
? t('notificationsSendNotificationDialog.selectedDateAriaLabel', {
|
|
187856
188391
|
date: format$1(scheduledDate, 'PPP'),
|
|
@@ -188731,7 +189266,7 @@ function WatcherEmailSection({ isSaving, isCustomized, onCustomizedChange, subje
|
|
|
188731
189266
|
? t('componentsWatcherEmailSection.subjectHelper')
|
|
188732
189267
|
: t('componentsWatcherEmailSection.subjectFallbackHelper') }), jsx(Input, { id: "watcher-email-subject", value: subject, onChange: (event) => onSubjectChange(event.target.value), placeholder: t('componentsWatcherEmailSection.subjectPlaceholder'), disabled: isSaving, "aria-invalid": Boolean(subjectError), "aria-describedby": subjectError ? `${subjectHelperId} ${subjectErrorId}` : subjectHelperId }), subjectError && (jsx("p", { id: subjectErrorId, className: "text-sm text-red-600", role: "alert", children: subjectError }))] }), jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "watcher-email-body", id: bodyLabelId, className: "text-sm font-medium text-gray-700", children: t('componentsWatcherEmailSection.bodyLabel') }), jsx("p", { id: bodyHelperId, className: "text-xs text-gray-500", children: body.trim()
|
|
188733
189268
|
? t('componentsWatcherEmailSection.bodyHelper')
|
|
188734
|
-
: t('componentsWatcherEmailSection.bodyFallbackHelper') }), jsx(
|
|
189269
|
+
: t('componentsWatcherEmailSection.bodyFallbackHelper') }), jsx(SummerNoteTextEditor, { value: body, onChange: onBodyChange, placeholder: t('componentsWatcherEmailSection.bodyPlaceholder'), exportFormat: "html", disabled: isSaving, id: "watcher-email-body", ariaLabelledBy: bodyLabelId, ariaDescribedBy: bodyError ? `${bodyHelperId} ${bodyErrorId}` : bodyHelperId, ariaInvalid: Boolean(bodyError) }), bodyError && (jsx("p", { id: bodyErrorId, className: "text-sm text-red-600", role: "alert", children: bodyError }))] }), jsx(TemplateVariablesHelper, { context: context })] }))] }));
|
|
188735
189270
|
}
|
|
188736
189271
|
|
|
188737
189272
|
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
@@ -189692,7 +190227,7 @@ function EditAlertDialog({ open, onOpenChange, template, platformKey, templateTy
|
|
|
189692
190227
|
? t('notificationsEditAlertDialog.learnerEmailBodyLabel')
|
|
189693
190228
|
: t('notificationsEditAlertDialog.messageBodyLabel') }), currentTemplateDetail.can_customize === false && (jsx("span", { className: "inline-flex items-center rounded-full bg-gray-100 px-2 py-0.5 text-xs font-medium text-gray-600", children: t('notificationsEditAlertDialog.nonCustomizable') }))] }), jsx("p", { id: messageBodyHelperId, className: "text-xs text-gray-500", children: isUserProgress
|
|
189694
190229
|
? t('notificationsEditAlertDialog.learnerEmailBodyHelper')
|
|
189695
|
-
: t('notificationsEditAlertDialog.messageBodyHelper') }), jsx(
|
|
190230
|
+
: t('notificationsEditAlertDialog.messageBodyHelper') }), jsx(SummerNoteTextEditor, { value: messageBody, onChange: setMessageBody, placeholder: t('notificationsEditAlertDialog.messageBodyPlaceholder'), exportFormat: "html", disabled: isSaving || currentTemplateDetail.can_customize === false, id: "message-body", ariaLabelledBy: messageBodyLabelId, ariaDescribedBy: messageBodyError
|
|
189696
190231
|
? `${messageBodyHelperId} ${messageBodyErrorId}`
|
|
189697
190232
|
: messageBodyHelperId, ariaRequired: true, ariaInvalid: Boolean(messageBodyError) }), messageBodyError && (jsx("p", { id: messageBodyErrorId, className: "text-sm text-red-600", role: "alert", children: messageBodyError })), isUserProgress && (jsx(TemplateVariablesHelper, { context: currentTemplateDetail.available_context }))] }), isPolicyAssignment && (jsx(PolicyAssignmentSection, { platformKey: platformKey, isSaving: isSaving, notifyOnAssignment: policyNotifyOnAssignment, onNotifyOnAssignmentChange: setPolicyNotifyOnAssignment, notifyOnRemoval: policyNotifyOnRemoval, onNotifyOnRemovalChange: setPolicyNotifyOnRemoval, initialPolicyConfigurations: policySettings.enabledPolicies, onPolicyConfigurationsChange: handlePolicyConfigurationsChange })), isHumanSupport && (jsx(HumanSupportSection, { platformKey: platformKey, isSaving: isSaving, recipientMode: humanSupportRecipientMode, onRecipientModeChange: setHumanSupportRecipientMode, initialCustomRecipients: humanSupportSettings.customRecipients, onCustomRecipientsChange: handleHumanSupportRecipientsChange })), isProactive && (jsx(ProactiveSettingsSection, { platformKey: platformKey, username: username, isSaving: isSaving, userLocalTimezone: userLocalTimezone, periodicLearnerScope: periodicLearnerScope, onLearnerScopeChange: setPeriodicLearnerScope, periodicFrequency: periodicFrequency, onFrequencyChange: setPeriodicFrequency, periodicCustomIntervalDays: periodicCustomIntervalDays, onCustomIntervalChange: setPeriodicCustomIntervalDays, periodicExecutionTime: periodicExecutionTime, onExecutionTimeChange: setPeriodicExecutionTime, periodicTimezone: periodicTimezone, onTimezoneChange: setPeriodicTimezone, initialMentors: periodicSettings.mentors, onMentorsChange: handleMentorsChange })), isUserProgress && (jsxs(Fragment$1, { children: [showWatcherEditor && (jsx(WatcherEmailSection, { isSaving: isSaving, isCustomized: isWatcherEmailCustomized, onCustomizedChange: handleWatcherCustomizedChange, subject: watcherEmailSubject, onSubjectChange: setWatcherEmailSubject, body: watcherEmailBody, onBodyChange: setWatcherEmailBody, context: currentTemplateDetail.watcher_available_context, serverErrors: fieldErrors })), jsx(UserProgressSettingsSection, { isSaving: isSaving, userLocalTimezone: userLocalTimezone, frequency: userProgressFrequency, onFrequencyChange: setUserProgressFrequency, executionTime: userProgressExecutionTime, onExecutionTimeChange: setUserProgressExecutionTime, timezone: userProgressTimezone, onTimezoneChange: setUserProgressTimezone, customIntervalDays: userProgressCustomIntervalDays, onCustomIntervalDaysChange: setUserProgressCustomIntervalDays, lookbackDays: userProgressLookbackDays, onLookbackDaysChange: setUserProgressLookbackDays, enabledDataPoints: userProgressDataPoints, onEnabledDataPointsChange: setUserProgressDataPoints, serverErrors: fieldErrors }), notificationType && (jsx(TemplateActionsSection, { platformKey: platformKey, notificationType: notificationType, isSaving: isSaving, onResetComplete: () => setFieldErrors({}) }))] }))] }) }) }), jsxs("div", { className: "px-6 py-4 border-t border-gray-200 flex justify-end gap-3", children: [jsx(Button$1, { variant: "outline", onClick: handleClose, disabled: isSaving, children: t('notificationsEditAlertDialog.cancel') }), jsx(Button$1, { onClick: handleSave, disabled: isSaveDisabled, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white", children: isSaving
|
|
189698
190233
|
? t('notificationsEditAlertDialog.saving')
|
|
@@ -189819,6 +190354,11 @@ function AlertsTab({ platformKey }) {
|
|
|
189819
190354
|
}) })] }), jsx(EditAlertDialog, { open: isEditDialogOpen, onOpenChange: setIsEditDialogOpen, template: selectedTemplate, platformKey: platformKey, templateType: (_a = selectedTemplate === null || selectedTemplate === void 0 ? void 0 : selectedTemplate.type) !== null && _a !== void 0 ? _a : null, onSave: handleTemplateSaved })] }));
|
|
189820
190355
|
}
|
|
189821
190356
|
|
|
190357
|
+
// Notification bodies are arbitrary (often email) HTML: long unbroken URLs and
|
|
190358
|
+
// fixed-width tables would otherwise bleed out of the panel. Break long words,
|
|
190359
|
+
// cap every descendant at the container width, and let anything that still
|
|
190360
|
+
// cannot shrink scroll inside the body instead of stretching the layout.
|
|
190361
|
+
const notificationBodyClasses = cn('prose prose-sm max-w-none text-gray-700', 'overflow-x-auto break-words [overflow-wrap:anywhere]', '[&_*]:max-w-full', '[&_a]:break-all', '[&_img]:h-auto', '[&_pre]:overflow-x-auto [&_pre]:whitespace-pre-wrap', '[&_code]:whitespace-pre-wrap');
|
|
189822
190362
|
function NotificationDisplay({ org, userId, isAdmin = false, selectedNotificationId, enableRbac = false, tenant = '', rbacPermissions = {}, className, }) {
|
|
189823
190363
|
const t = useT();
|
|
189824
190364
|
const [selectedNotification, setSelectedNotification] = useState(null);
|
|
@@ -190002,7 +190542,7 @@ function NotificationDisplay({ org, userId, isAdmin = false, selectedNotificatio
|
|
|
190002
190542
|
// Open modal on mobile
|
|
190003
190543
|
setIsMobileModalOpen(true);
|
|
190004
190544
|
}, className: cn('w-full p-4 border-b border-gray-100 cursor-pointer hover:bg-gray-50 transition-colors text-left', (selectedNotification === null || selectedNotification === void 0 ? void 0 : selectedNotification.id) === notification.id &&
|
|
190005
|
-
'bg-blue-50 hover:bg-blue-50', !notification.read && 'bg-blue-50/30'), "aria-pressed": (selectedNotification === null || selectedNotification === void 0 ? void 0 : selectedNotification.id) === notification.id, "aria-label": `${notification.read ? '' : t('notificationsNotificationDisplay.unreadPrefix')}${notification.title}, ${formatTimestamp(notification.timestamp)}`, "data-testid": `notification-button-${notification.id}`, "data-read": notification.read, children: jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: cn('w-2 h-2 rounded-full mt-2 flex-shrink-0', !notification.read ? 'bg-blue-500' : 'bg-transparent'), "aria-hidden": "true" }), jsxs("div", { className: "flex-1 min-w-0", children: [jsx("h3", { className: cn('text-sm font-medium text-gray-900 mb-1', !notification.read && 'font-semibold'), children: notification.title }), jsx("p", { className: "text-sm text-gray-600 line-clamp-2 mb-2", children: notification.preview }), jsxs("div", { className: "flex items-center gap-1 text-xs text-gray-500", children: [jsx(Clock, { className: "h-3 w-3", "aria-hidden": "true" }), jsx("time", { dateTime: notification.timestamp.toISOString(), children: formatTimestamp(notification.timestamp) })] })] })] }) }) }, notification.id))) }))] }), jsx("article", { className: "flex-1 min-h-0 overflow-y-auto bg-white p-6 hidden md:block", "aria-label": t('notificationsNotificationDisplay.notificationDetailsAriaLabel'), role: "region", "data-testid": "notification-details-panel", children: selectedNotification ? (jsxs("div", { className: "max-w-3xl mx-auto", "data-testid": "notification-details-content", children: [jsxs("header", { className: "mb-6", children: [jsx("h2", { className: "text-2xl font-semibold text-gray-900 mb-2", id: "selected-notification-title", "data-testid": "notification-details-title", children: selectedNotification.title }), jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [jsx(Clock, { className: "h-4 w-4", "aria-hidden": "true" }), jsx("time", { dateTime: selectedNotification.timestamp.toISOString(), "data-testid": "notification-details-timestamp", children: format$1(selectedNotification.timestamp, "MMMM d, yyyy 'at' h:mm a") })] })] }), jsx("div", { className:
|
|
190545
|
+
'bg-blue-50 hover:bg-blue-50', !notification.read && 'bg-blue-50/30'), "aria-pressed": (selectedNotification === null || selectedNotification === void 0 ? void 0 : selectedNotification.id) === notification.id, "aria-label": `${notification.read ? '' : t('notificationsNotificationDisplay.unreadPrefix')}${notification.title}, ${formatTimestamp(notification.timestamp)}`, "data-testid": `notification-button-${notification.id}`, "data-read": notification.read, children: jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: cn('w-2 h-2 rounded-full mt-2 flex-shrink-0', !notification.read ? 'bg-blue-500' : 'bg-transparent'), "aria-hidden": "true" }), jsxs("div", { className: "flex-1 min-w-0", children: [jsx("h3", { className: cn('text-sm font-medium text-gray-900 mb-1 break-words', !notification.read && 'font-semibold'), children: notification.title }), jsx("p", { className: "text-sm text-gray-600 line-clamp-2 mb-2 break-words", children: notification.preview }), jsxs("div", { className: "flex items-center gap-1 text-xs text-gray-500", children: [jsx(Clock, { className: "h-3 w-3", "aria-hidden": "true" }), jsx("time", { dateTime: notification.timestamp.toISOString(), children: formatTimestamp(notification.timestamp) })] })] })] }) }) }, notification.id))) }))] }), jsx("article", { className: "flex-1 min-w-0 min-h-0 overflow-y-auto bg-white p-6 hidden md:block", "aria-label": t('notificationsNotificationDisplay.notificationDetailsAriaLabel'), role: "region", "data-testid": "notification-details-panel", children: selectedNotification ? (jsxs("div", { className: "max-w-3xl mx-auto", "data-testid": "notification-details-content", children: [jsxs("header", { className: "mb-6", children: [jsx("h2", { className: "text-2xl font-semibold text-gray-900 mb-2 break-words", id: "selected-notification-title", "data-testid": "notification-details-title", children: selectedNotification.title }), jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [jsx(Clock, { className: "h-4 w-4", "aria-hidden": "true" }), jsx("time", { dateTime: selectedNotification.timestamp.toISOString(), "data-testid": "notification-details-timestamp", children: format$1(selectedNotification.timestamp, "MMMM d, yyyy 'at' h:mm a") })] })] }), jsx("div", { className: notificationBodyClasses, dangerouslySetInnerHTML: { __html: sanitizeHtml(selectedNotification.body) }, "aria-labelledby": "selected-notification-title", "data-testid": "notification-details-body" })] })) : (jsx("div", { className: "flex items-center justify-center h-full text-gray-500", role: "status", "data-testid": "notification-details-empty", children: t('notificationsNotificationDisplay.selectNotificationPrompt') })) })] }), jsx(TabsContent, { value: "alerts", className: "flex-1 min-h-0 flex m-0 bg-white justify-center items-center data-[state=inactive]:hidden", "data-testid": "alerts-tab-content", children: jsx(AlertsTab, { platformKey: org }) })] }), jsx(SendNotificationDialog, { open: isSendDialogOpen, onOpenChange: setIsSendDialogOpen, tenant: org, hasManageUsersPermission: hasManageUsersPermission, onNotificationSent: async () => {
|
|
190006
190546
|
// Fetch updated notifications
|
|
190007
190547
|
try {
|
|
190008
190548
|
// Note: userId is required by the API but missing from @iblai/iblai-api type definitions
|
|
@@ -190017,7 +190557,7 @@ function NotificationDisplay({ org, userId, isAdmin = false, selectedNotificatio
|
|
|
190017
190557
|
catch (error) {
|
|
190018
190558
|
console.error('Error fetching notifications:', error);
|
|
190019
190559
|
}
|
|
190020
|
-
} }), jsx(Dialog, { open: isMobileModalOpen, onOpenChange: setIsMobileModalOpen, children: jsx(DialogContent, { className: "max-h-[85vh] overflow-y-auto max-w-[95vw]", children: selectedNotification && (jsxs(Fragment$1, { children: [jsxs(DialogHeader, { children: [jsx(DialogTitle, { className: "text-xl font-semibold text-gray-900 pr-6", children: selectedNotification.title }), jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500 pt-2", children: [jsx(Clock, { className: "h-4 w-4", "aria-hidden": "true" }), jsx("time", { dateTime: selectedNotification.timestamp.toISOString(), children: format$1(selectedNotification.timestamp, "MMMM d, yyyy 'at' h:mm a") })] })] }), jsx("div", { className:
|
|
190560
|
+
} }), jsx(Dialog, { open: isMobileModalOpen, onOpenChange: setIsMobileModalOpen, children: jsx(DialogContent, { className: "max-h-[85vh] overflow-y-auto max-w-[95vw]", children: selectedNotification && (jsxs(Fragment$1, { children: [jsxs(DialogHeader, { children: [jsx(DialogTitle, { className: "text-xl font-semibold text-gray-900 pr-6 break-words", children: selectedNotification.title }), jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500 pt-2", children: [jsx(Clock, { className: "h-4 w-4", "aria-hidden": "true" }), jsx("time", { dateTime: selectedNotification.timestamp.toISOString(), children: format$1(selectedNotification.timestamp, "MMMM d, yyyy 'at' h:mm a") })] })] }), jsx("div", { className: cn(notificationBodyClasses, 'mt-4'), dangerouslySetInnerHTML: { __html: sanitizeHtml(selectedNotification.body) }, "aria-labelledby": "mobile-notification-title", "data-testid": "notification-details-body-mobile" })] })) }) })] }));
|
|
190021
190561
|
}
|
|
190022
190562
|
|
|
190023
190563
|
/**
|
|
@@ -240250,5 +240790,5 @@ var trainOrDeleteModal = /*#__PURE__*/Object.freeze({
|
|
|
240250
240790
|
TrainOrDeleteModal: TrainOrDeleteModal
|
|
240251
240791
|
});
|
|
240252
240792
|
|
|
240253
|
-
export { ACCESS_COURSE_LABEL, ALL_CATEGORIES, AccessTimeHeatmap, AccessiblePaginate, AddMentorToProjectModal, AddSkillDialog, Admin, AdvancedTab, AgentConfigPrompts, AgentSkills, AlertsTab, AnalyticsAgentPicker, AnalyticsAuditLogStats, AnalyticsCourseDetail, AnalyticsCourses, AnalyticsFinancialStats, AnalyticsLayout, AnalyticsMemoryStats, AnalyticsMonetizationStats, AnalyticsOverview, AnalyticsPlatformAuditLog, AnalyticsProgramDetail, AnalyticsPrograms, AnalyticsReportDownload, AnalyticsReports, AnalyticsScopeProvider, AnalyticsSettingsProvider, AnalyticsTopicsStats, AnalyticsTranscriptsStats, AnalyticsUsersStats, AppleRestrictionModal, ApplyWizard, AuditLogChangesView, AuditLogJsonView, BUY_NOW_LABEL, BillingTab, CATALOGS, CREATE_AGENT_LABELS, CUA_DRIVER_REPO_URL, CUA_DRIVER_TAURI_COMMANDS, CUA_DRIVER_TAURI_EVENTS, CardInfoIcon, CategorizedDropdownMenu, ChartCardWrapper, ChartFiltersProvider, ChartLoading, ChatContext, ChatPrivacyToggle, ChatProvider, CompanyDialog, ConnectorManagementDialog, CopyButtonIcon, CourseAccessGuard, CourseCardSkeleton, CourseContentLoading, CourseOutline, CourseOutlineContext, CourseOutlineDrawer, CreateAgentForm, CreateAgentModal, CreateProjectModal, CreateWorkflowModal, CredentialBox, CredentialMiniBoxSkeleton, CredentialsList, CreditBalance, CustomDateRangePicker, CustomTooltip, DEFAULT_COWORK_REQUIRED_SIZE_GB, DEFAULT_LOCALE, DefaultEmptyBox, DeleteProjectModal, DeleteWorkflowModal, DiscoverContentCard, DiscoverFacetsFilter, DiscoverFilterDrawer, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENROLL_NOW_COURSE_STARTING_SOON_LABEL, ENROLL_NOW_LABEL, EditAlertDialog, EducationBox, EducationDialog, EducationTab, EdxIframeContext, EmptyStats, ExperienceBox, ExperienceDialog, ExperienceTab, FacetFilterContext, Footer, GradebookTab, GroupsFilterDropdown, INVITATION_ONLY_LABEL, InstitutionDialog, IntegrationsTab, InviteUserContent, InviteUserDialog, InvitedUsersDialog, LOCAL_MODELS, Loader, LocalLLMTab, LocalModelsContent, LoginButton, MACOS_PERMISSIONS_COMMANDS, MEMORY_PAGE_SIZE, Markdown, MinimumMentorAlert, MonetizationTab, NotificationDisplay, NotificationDropdown, ONBOARDING_SECTORS, OnboardingShell, OnboardingWizard, PLATFORM_AUDIT_DEEP_PAGING_THRESHOLD, PLATFORM_AUDIT_PAGE_SIZE, PaywallModal, PlacementExam, PlacementExamsDropdown, PlatformAuditLogDetailSheet, PlatformNavbar, PlatformNavbarSearch, Profile, ProfileTimeChart, ProgressDots, ProjectActionButtons, ProjectFilesModal, ProjectInstructionsModal, ProjectLandingPage, ProjectMentorsList, ProjectsPage, REQUEST_ACCESS_COURSE_STARTING_SOON_LABEL, REQUEST_ACCESS_LABEL, RenameProjectModal, ResumeBox, ResumeTab, RichTextEditor, SUPPORTED_LOCALES, SandboxConfig, SearchableMultiSelect, SendNotificationDialog, SignupButton, SkeletonActivityStatBox, SkeletonAddSkillsLoading, SkeletonCreatePathwaySearchList, SkeletonDiscoverFilterBox, SkeletonEducationBox, SkeletonMultiplier, SkeletonPathwayBox, SkeletonProfileInfoCard, SkeletonSkillBox, SkillBox, SkillDetailModal, SkillLeaderboardChart, SkillsBox, SkillsList, SlashSkillPicker, Spinner, StatCard, StepHeader, TAURI_COMMANDS, TAURI_EVENTS, TenantSwitcher, TimeFilter, TimeTrackingProvider, TimedExam, ToolDialogs, TopBanner, UpgradePackageModal, UserAvatar, Version, WebContainersI18nProvider, WorkflowSidebar, addBookmarksTab, availablePlacementExams, findLastResumeBlock, findSequentialParent, flattenVerticalBlocks, formatAuditTimestamp, formatTimeZoneLabel, getCatalog, getFirstAvailableUnit, getLocalLLMModel, getLocalLLMToolSupport, getNextUnitIframe, getOrg, getParentBlockById, getParentsInfosFromSublessonId, getPreviousUnitIframe, getRandomCourseImage, getSectorById, getTenant, getUnitToIframe, getUserId, getUserName, humanizeAuditToken, inBrowserPrint, inIframe, initialCuaDriverInstallState, initialModelDownloadState, isCoworkEnabled, isLocalLLMEnabled, isPlatformNavbarCreditBalanceVisible, isSlashCommandToken, isTauriApp, isValidLocale, isValidTimeZone, components as markdownComponents, modelSupportsCowork, onboardingPrimaryButtonClass, onboardingSecondaryButtonClass, resolveAuditTimeZone, resolveCreateAgentLabels, sanitizeCss, setCoworkEnabled, setLocalLLMEnabled, setLocalLLMModel, setLocalLLMToolSupport, smallestCoworkModel, useAnalyticsScope, useAnalyticsSettings, useAuditLog, useCatalogSearch, useChartFilters, useChatPrivacy, useChatState, useCourseDetail, useCourseMetadata, useCourses, useCuaDriver, useDiscover, useEdxIframe, useFinancial, useIframeMessageHandler, useLocalStorage, useMemory, useModelDownload, useMonetization, useOverview, usePlatformAuditLabels, usePlatformAuditLog, useProfileActivityStats, useProfileCredentials, useProfilePathways, useProfilePrograms, useProfileSkills, useProfileTimeSpent, usePrograms, useReports, useScopedMentorDbId, useScopedMentorId, useSlashSkillPicker, useSlashSkills, useT, useTauri, useTimeTracking, useTopics, useTranscripts, useUserCourses, useUserMetadata, useUsers, useWebContainersI18n, useWebContainersLocale };
|
|
240793
|
+
export { ACCESS_COURSE_LABEL, ALL_CATEGORIES, AccessTimeHeatmap, AccessiblePaginate, AddMentorToProjectModal, AddSkillDialog, Admin, AdvancedTab, AgentConfigPrompts, AgentSkills, AlertsTab, AnalyticsAgentPicker, AnalyticsAuditLogStats, AnalyticsCourseDetail, AnalyticsCourses, AnalyticsFinancialStats, AnalyticsLayout, AnalyticsMemoryStats, AnalyticsMonetizationStats, AnalyticsOverview, AnalyticsPlatformAuditLog, AnalyticsProgramDetail, AnalyticsPrograms, AnalyticsReportDownload, AnalyticsReports, AnalyticsScopeProvider, AnalyticsSettingsProvider, AnalyticsTopicsStats, AnalyticsTranscriptsStats, AnalyticsUsersStats, AppleRestrictionModal, ApplyWizard, AuditLogChangesView, AuditLogJsonView, BUY_NOW_LABEL, BillingTab, CATALOGS, CREATE_AGENT_LABELS, CUA_DRIVER_REPO_URL, CUA_DRIVER_TAURI_COMMANDS, CUA_DRIVER_TAURI_EVENTS, CardInfoIcon, CategorizedDropdownMenu, ChartCardWrapper, ChartFiltersProvider, ChartLoading, ChatContext, ChatPrivacyToggle, ChatProvider, CompanyDialog, ConnectorManagementDialog, CopyButtonIcon, CourseAccessGuard, CourseCardSkeleton, CourseContentLoading, CourseOutline, CourseOutlineContext, CourseOutlineDrawer, CreateAgentForm, CreateAgentModal, CreateProjectModal, CreateWorkflowModal, CredentialBox, CredentialMiniBoxSkeleton, CredentialsList, CreditBalance, CustomDateRangePicker, CustomTooltip, DEFAULT_COWORK_REQUIRED_SIZE_GB, DEFAULT_LOCALE, DefaultEmptyBox, DeleteProjectModal, DeleteWorkflowModal, DiscoverContentCard, DiscoverFacetsFilter, DiscoverFilterDrawer, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENROLL_NOW_COURSE_STARTING_SOON_LABEL, ENROLL_NOW_LABEL, EditAlertDialog, EducationBox, EducationDialog, EducationTab, EdxIframeContext, EmptyStats, ExperienceBox, ExperienceDialog, ExperienceTab, FacetFilterContext, Footer, GradebookTab, GroupsFilterDropdown, INVITATION_ONLY_LABEL, InstitutionDialog, IntegrationsTab, InviteUserContent, InviteUserDialog, InvitedUsersDialog, LOCAL_MODELS, Loader, LocalLLMTab, LocalModelsContent, LoginButton, MACOS_PERMISSIONS_COMMANDS, MEMORY_PAGE_SIZE, Markdown, MinimumMentorAlert, MonetizationTab, NotificationDisplay, NotificationDropdown, ONBOARDING_SECTORS, OnboardingShell, OnboardingWizard, PLATFORM_AUDIT_DEEP_PAGING_THRESHOLD, PLATFORM_AUDIT_PAGE_SIZE, PaywallModal, PlacementExam, PlacementExamsDropdown, PlatformAuditLogDetailSheet, PlatformNavbar, PlatformNavbarSearch, Profile, ProfileTimeChart, ProgressDots, ProjectActionButtons, ProjectFilesModal, ProjectInstructionsModal, ProjectLandingPage, ProjectMentorsList, ProjectsPage, REQUEST_ACCESS_COURSE_STARTING_SOON_LABEL, REQUEST_ACCESS_LABEL, RenameProjectModal, ResumeBox, ResumeTab, RichTextEditor, SUPPORTED_LOCALES, SandboxConfig, SearchableMultiSelect, SendNotificationDialog, SignupButton, SkeletonActivityStatBox, SkeletonAddSkillsLoading, SkeletonCreatePathwaySearchList, SkeletonDiscoverFilterBox, SkeletonEducationBox, SkeletonMultiplier, SkeletonPathwayBox, SkeletonProfileInfoCard, SkeletonSkillBox, SkillBox, SkillDetailModal, SkillLeaderboardChart, SkillsBox, SkillsList, SlashSkillPicker, Spinner, StatCard, StepHeader, SummerNoteTextEditor, TAURI_COMMANDS, TAURI_EVENTS, TenantSwitcher, TimeFilter, TimeTrackingProvider, TimedExam, ToolDialogs, TopBanner, UpgradePackageModal, UserAvatar, Version, WebContainersI18nProvider, WorkflowSidebar, addBookmarksTab, availablePlacementExams, findLastResumeBlock, findSequentialParent, flattenVerticalBlocks, formatAuditTimestamp, formatTimeZoneLabel, getCatalog, getFirstAvailableUnit, getLocalLLMModel, getLocalLLMToolSupport, getNextUnitIframe, getOrg, getParentBlockById, getParentsInfosFromSublessonId, getPreviousUnitIframe, getRandomCourseImage, getSectorById, getTenant, getUnitToIframe, getUserId, getUserName, humanizeAuditToken, inBrowserPrint, inIframe, initialCuaDriverInstallState, initialModelDownloadState, isCoworkEnabled, isLocalLLMEnabled, isPlatformNavbarCreditBalanceVisible, isSlashCommandToken, isTauriApp, isValidLocale, isValidTimeZone, components as markdownComponents, modelSupportsCowork, onboardingPrimaryButtonClass, onboardingSecondaryButtonClass, resolveAuditTimeZone, resolveCreateAgentLabels, sanitizeCss, setCoworkEnabled, setLocalLLMEnabled, setLocalLLMModel, setLocalLLMToolSupport, smallestCoworkModel, useAnalyticsScope, useAnalyticsSettings, useAuditLog, useCatalogSearch, useChartFilters, useChatPrivacy, useChatState, useCourseDetail, useCourseMetadata, useCourses, useCuaDriver, useDiscover, useEdxIframe, useFinancial, useIframeMessageHandler, useLocalStorage, useMemory, useModelDownload, useMonetization, useOverview, usePlatformAuditLabels, usePlatformAuditLog, useProfileActivityStats, useProfileCredentials, useProfilePathways, useProfilePrograms, useProfileSkills, useProfileTimeSpent, usePrograms, useReports, useScopedMentorDbId, useScopedMentorId, useSlashSkillPicker, useSlashSkills, useT, useTauri, useTimeTracking, useTopics, useTranscripts, useUserCourses, useUserMetadata, useUsers, useWebContainersI18n, useWebContainersLocale };
|
|
240254
240794
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -101478,6 +101478,10 @@ var spendCapsTabLabels$3 = {
|
|
|
101478
101478
|
deleteError: "Couldn't delete the spend limit"
|
|
101479
101479
|
}
|
|
101480
101480
|
};
|
|
101481
|
+
var summernoteTextEditor$3 = {
|
|
101482
|
+
loadFailed: "The editor could not be loaded. Reload the page to try again.",
|
|
101483
|
+
loading: "Loading editor…"
|
|
101484
|
+
};
|
|
101481
101485
|
var tabsAlertstab$3 = {
|
|
101482
101486
|
searchAlertsPlaceholder: "Search alerts",
|
|
101483
101487
|
searchAlertsAriaLabel: "Search alerts",
|
|
@@ -103507,6 +103511,7 @@ var en = {
|
|
|
103507
103511
|
skillsProfileSkillsBox: skillsProfileSkillsBox$3,
|
|
103508
103512
|
spendCapUsage: spendCapUsage$3,
|
|
103509
103513
|
spendCapsTabLabels: spendCapsTabLabels$3,
|
|
103514
|
+
summernoteTextEditor: summernoteTextEditor$3,
|
|
103510
103515
|
tabsAlertstab: tabsAlertstab$3,
|
|
103511
103516
|
tabsDisclaimersTab: tabsDisclaimersTab$3,
|
|
103512
103517
|
tabsEmbedTab: tabsEmbedTab$3,
|
|
@@ -108382,6 +108387,10 @@ var spendCapsTabLabels$2 = {
|
|
|
108382
108387
|
deleteError: "Impossible de supprimer la limite de dépenses"
|
|
108383
108388
|
}
|
|
108384
108389
|
};
|
|
108390
|
+
var summernoteTextEditor$2 = {
|
|
108391
|
+
loadFailed: "L'éditeur n'a pas pu être chargé. Rechargez la page pour réessayer.",
|
|
108392
|
+
loading: "Chargement de l'éditeur…"
|
|
108393
|
+
};
|
|
108385
108394
|
var tabsAlertstab$2 = {
|
|
108386
108395
|
searchAlertsPlaceholder: "Rechercher des alertes",
|
|
108387
108396
|
searchAlertsAriaLabel: "Rechercher des alertes",
|
|
@@ -110246,6 +110255,7 @@ var fr = {
|
|
|
110246
110255
|
skillsProfileSkillsBox: skillsProfileSkillsBox$2,
|
|
110247
110256
|
spendCapUsage: spendCapUsage$2,
|
|
110248
110257
|
spendCapsTabLabels: spendCapsTabLabels$2,
|
|
110258
|
+
summernoteTextEditor: summernoteTextEditor$2,
|
|
110249
110259
|
tabsAlertstab: tabsAlertstab$2,
|
|
110250
110260
|
tabsDisclaimersTab: tabsDisclaimersTab$2,
|
|
110251
110261
|
tabsEmbedTab: tabsEmbedTab$2,
|
|
@@ -115120,6 +115130,10 @@ var spendCapsTabLabels$1 = {
|
|
|
115120
115130
|
deleteError: "No se pudo eliminar el límite de gasto"
|
|
115121
115131
|
}
|
|
115122
115132
|
};
|
|
115133
|
+
var summernoteTextEditor$1 = {
|
|
115134
|
+
loadFailed: "No se pudo cargar el editor. Vuelve a cargar la página para intentarlo de nuevo.",
|
|
115135
|
+
loading: "Cargando el editor…"
|
|
115136
|
+
};
|
|
115123
115137
|
var tabsAlertstab$1 = {
|
|
115124
115138
|
searchAlertsPlaceholder: "Buscar alertas",
|
|
115125
115139
|
searchAlertsAriaLabel: "Buscar alertas",
|
|
@@ -116984,6 +116998,7 @@ var es = {
|
|
|
116984
116998
|
skillsProfileSkillsBox: skillsProfileSkillsBox$1,
|
|
116985
116999
|
spendCapUsage: spendCapUsage$1,
|
|
116986
117000
|
spendCapsTabLabels: spendCapsTabLabels$1,
|
|
117001
|
+
summernoteTextEditor: summernoteTextEditor$1,
|
|
116987
117002
|
tabsAlertstab: tabsAlertstab$1,
|
|
116988
117003
|
tabsDisclaimersTab: tabsDisclaimersTab$1,
|
|
116989
117004
|
tabsEmbedTab: tabsEmbedTab$1,
|
|
@@ -121858,6 +121873,10 @@ var spendCapsTabLabels = {
|
|
|
121858
121873
|
deleteError: "无法删除支出限额"
|
|
121859
121874
|
}
|
|
121860
121875
|
};
|
|
121876
|
+
var summernoteTextEditor = {
|
|
121877
|
+
loadFailed: "编辑器加载失败。请重新加载页面后重试。",
|
|
121878
|
+
loading: "正在加载编辑器…"
|
|
121879
|
+
};
|
|
121861
121880
|
var tabsAlertstab = {
|
|
121862
121881
|
searchAlertsPlaceholder: "搜索提醒",
|
|
121863
121882
|
searchAlertsAriaLabel: "搜索提醒",
|
|
@@ -123722,6 +123741,7 @@ var zh = {
|
|
|
123722
123741
|
skillsProfileSkillsBox: skillsProfileSkillsBox,
|
|
123723
123742
|
spendCapUsage: spendCapUsage,
|
|
123724
123743
|
spendCapsTabLabels: spendCapsTabLabels,
|
|
123744
|
+
summernoteTextEditor: summernoteTextEditor,
|
|
123725
123745
|
tabsAlertstab: tabsAlertstab,
|
|
123726
123746
|
tabsDisclaimersTab: tabsDisclaimersTab,
|
|
123727
123747
|
tabsEmbedTab: tabsEmbedTab,
|
|
@@ -220388,6 +220408,39 @@ function RichTextEditor({ value, onChange, exportFormat = 'markdown', disabled,
|
|
|
220388
220408
|
return (jsxs("div", { children: [jsx(EditorToolbar, { editor: editor, onAddLink: handleAddLink, onAddImage: handleAddImage, exportFormat: exportFormat, editorMode: editorMode, onToggleMode: handleToggleMode, disabled: disabled }), editorMode === 'visual' ? (jsx(EditorContent, { editor: editor, id: id, role: "textbox", "aria-multiline": "true", "aria-label": ariaLabel, "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, "aria-invalid": ariaInvalid, "aria-disabled": disabled ? 'true' : undefined })) : (jsx(Textarea, { value: htmlSource, onChange: handleSourceChange, disabled: disabled, placeholder: t('richTextEditor.enterHtmlPlaceholder'), id: id, "aria-label": ariaLabel || t('richTextEditor.htmlSourceEditorLabel'), "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, "aria-invalid": ariaInvalid, className: "min-h-[150px] max-h-[300px] overflow-y-auto rounded-b-md border font-mono text-sm leading-loose" }))] }));
|
|
220389
220409
|
}
|
|
220390
220410
|
|
|
220411
|
+
function styleInject(css, ref) {
|
|
220412
|
+
if ( ref === void 0 ) ref = {};
|
|
220413
|
+
var insertAt = ref.insertAt;
|
|
220414
|
+
|
|
220415
|
+
if (!css || typeof document === 'undefined') { return; }
|
|
220416
|
+
|
|
220417
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
220418
|
+
var style = document.createElement('style');
|
|
220419
|
+
style.type = 'text/css';
|
|
220420
|
+
|
|
220421
|
+
if (insertAt === 'top') {
|
|
220422
|
+
if (head.firstChild) {
|
|
220423
|
+
head.insertBefore(style, head.firstChild);
|
|
220424
|
+
} else {
|
|
220425
|
+
head.appendChild(style);
|
|
220426
|
+
}
|
|
220427
|
+
} else {
|
|
220428
|
+
head.appendChild(style);
|
|
220429
|
+
}
|
|
220430
|
+
|
|
220431
|
+
if (style.styleSheet) {
|
|
220432
|
+
style.styleSheet.cssText = css;
|
|
220433
|
+
} else {
|
|
220434
|
+
style.appendChild(document.createTextNode(css));
|
|
220435
|
+
}
|
|
220436
|
+
}
|
|
220437
|
+
|
|
220438
|
+
var css_248z$2 = "[class*=\" note-icon\"]:before,[class^=note-icon]:before{display:inline-block;font-family:summernote;font-size:inherit;font-style:normal;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}.note-icon-fw{text-align:center;width:1.25em}.note-icon-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.note-icon-pull-left{float:left}.note-icon-pull-right{float:right}.note-icon.note-icon-pull-left{margin-right:.3em}.note-icon.note-icon-pull-right{margin-left:.3em}.note-icon-align:before{content:\"\\ea01\"}.note-icon-align-center:before{content:\"\\ea02\"}.note-icon-align-indent:before{content:\"\\ea03\"}.note-icon-align-justify:before{content:\"\\ea04\"}.note-icon-align-left:before{content:\"\\ea05\"}.note-icon-align-outdent:before{content:\"\\ea06\"}.note-icon-align-right:before{content:\"\\ea07\"}.note-icon-arrow-circle-down:before{content:\"\\ea08\"}.note-icon-arrow-circle-left:before{content:\"\\ea09\"}.note-icon-arrow-circle-right:before{content:\"\\ea0a\"}.note-icon-arrow-circle-up:before{content:\"\\ea0b\"}.note-icon-arrows-alt:before{content:\"\\ea0c\"}.note-icon-arrows-h:before{content:\"\\ea0d\"}.note-icon-arrows-v:before{content:\"\\ea0e\"}.note-icon-bold:before{content:\"\\ea0f\"}.note-icon-caret:before{content:\"\\ea10\"}.note-icon-chain-broken:before{content:\"\\ea11\"}.note-icon-circle:before{content:\"\\ea12\"}.note-icon-close:before{content:\"\\ea13\"}.note-icon-code:before{content:\"\\ea14\"}.note-icon-col-after:before{content:\"\\ea15\"}.note-icon-col-before:before{content:\"\\ea16\"}.note-icon-col-remove:before{content:\"\\ea17\"}.note-icon-eraser:before{content:\"\\ea18\"}.note-icon-float-left:before{content:\"\\ea19\"}.note-icon-float-none:before{content:\"\\ea1a\"}.note-icon-float-right:before{content:\"\\ea1b\"}.note-icon-font:before{content:\"\\ea1c\"}.note-icon-frame:before{content:\"\\ea1d\"}.note-icon-italic:before{content:\"\\ea1e\"}.note-icon-link:before{content:\"\\ea1f\"}.note-icon-magic:before{content:\"\\ea20\"}.note-icon-menu-check:before{content:\"\\ea21\"}.note-icon-minus:before{content:\"\\ea22\"}.note-icon-orderedlist:before{content:\"\\ea23\"}.note-icon-pencil:before{content:\"\\ea24\"}.note-icon-picture:before{content:\"\\ea25\"}.note-icon-question:before{content:\"\\ea26\"}.note-icon-redo:before{content:\"\\ea27\"}.note-icon-rollback:before{content:\"\\ea28\"}.note-icon-row-above:before{content:\"\\ea29\"}.note-icon-row-below:before{content:\"\\ea2a\"}.note-icon-row-remove:before{content:\"\\ea2b\"}.note-icon-special-character:before{content:\"\\ea2c\"}.note-icon-square:before{content:\"\\ea2d\"}.note-icon-strikethrough:before{content:\"\\ea2e\"}.note-icon-subscript:before{content:\"\\ea2f\"}.note-icon-summernote:before{content:\"\\ea30\"}.note-icon-superscript:before{content:\"\\ea31\"}.note-icon-table:before{content:\"\\ea32\"}.note-icon-text-height:before{content:\"\\ea33\"}.note-icon-trash:before{content:\"\\ea34\"}.note-icon-underline:before{content:\"\\ea35\"}.note-icon-undo:before{content:\"\\ea36\"}.note-icon-unorderedlist:before{content:\"\\ea37\"}.note-icon-video:before{content:\"\\ea38\"}.note-frame{border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box;color:#000;font-family:sans-serif}.note-toolbar{background-color:#f5f5f5;border-bottom:1px solid;border-color:#ddd;border-top-left-radius:3px;border-top-right-radius:3px;color:#333;padding:10px 5px}.note-btn-group{display:inline-block;margin-right:8px;position:relative}.note-btn-group>.note-btn-group{margin-right:0}.note-btn-group>.note-btn:first-child{margin-left:0}.note-btn-group .note-btn+.note-btn,.note-btn-group .note-btn+.note-btn-group,.note-btn-group .note-btn-group+.note-btn,.note-btn-group .note-btn-group+.note-btn-group{margin-left:-1px}.note-btn-group>.note-btn-group:not(:first-child)>.note-btn,.note-btn-group>.note-btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.note-btn-group>.note-btn-group:not(:last-child)>.note-btn,.note-btn-group>.note-btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.note-btn-group.open>.note-dropdown{display:block}.note-btn{background-color:#fff;background-image:none;border:1px solid #dae0e5;border-radius:3px;color:#333;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.4;margin-bottom:0;outline:0;padding:5px 10px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.note-btn.focus,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border-color:#dae0e5;color:#333}.note-btn.disabled.focus,.note-btn.disabled:focus,.note-btn[disabled].focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn.focus,fieldset[disabled] .note-btn:focus{background-color:#fff;border-color:#dae0e5}.note-btn.active,.note-btn.focus,.note-btn:active,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border:1px solid #dae0e5;border-radius:1px;color:#333;outline:0;text-decoration:none}.note-btn.active,.note-btn:active{background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn{box-shadow:none;cursor:not-allowed;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=65);filter:alpha(opacity=65);-webkit-opacity:.65;-khtml-opacity:.65;-moz-opacity:.65;opacity:.65}.note-btn>span.note-icon-caret:first-child{margin-left:-1px}.note-btn>span.note-icon-caret:nth-child(2){margin-right:-5px;padding-left:3px}.note-btn-primary{background:#fa6362;color:#fff}.note-btn-primary.focus,.note-btn-primary:focus,.note-btn-primary:hover{background-color:#fa6362;border:1px solid #dae0e5;border-radius:1px;color:#fff;text-decoration:none}.note-btn-block{display:block;width:100%}.note-btn-block+.note-btn-block{margin-top:5px}input[type=button].note-btn-block,input[type=reset].note-btn-block,input[type=submit].note-btn-block{width:100%}button.close{-webkit-appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.close{color:#000;float:right;font-size:21px;line-height:1;opacity:.2}.close:hover{-ms-filter:alpha(opacity=100);filter:alpha(opacity=100);-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1}.note-dropdown{position:relative}.note-color .dropdown-toggle{padding-left:5px;width:30px}.note-dropdown-menu{background:#fff;background-clip:padding-box;border:1px solid #e2e2e2;box-shadow:0 1px 1px rgba(0,0,0,.06);display:none;float:left;left:0;min-width:100px;padding:5px;position:absolute;text-align:left;top:100%;z-index:1000}.note-dropdown-menu>:last-child{margin-right:0}.note-btn-group.open .note-dropdown-menu,.note-dropdown-item{display:block}.note-dropdown-item:hover{background-color:#ebebeb}a.note-dropdown-item,a.note-dropdown-item:hover{color:#000;margin:5px 0;text-decoration:none}.note-modal{bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);filter:alpha(opacity=100);left:0;-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;position:fixed;right:0;top:0;z-index:1050}.note-modal.open{display:block}.note-modal-content{background:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.2);border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);margin:30px 20px;outline:0;position:relative;width:auto}.note-modal-header{border:1px solid #ededef;padding:10px 20px}.note-modal-body{padding:20px 30px;position:relative}.note-modal-body kbd{background-color:#000;border-radius:2px;-ms-box-sizing:border-box;box-sizing:border-box;color:#fff;font-weight:700;padding:3px 5px}.note-modal-footer{height:40px;padding:10px;text-align:center}.note-modal-footer a{color:#337ab7;text-decoration:none}.note-modal-footer a:focus,.note-modal-footer a:hover{color:#23527c;text-decoration:underline}.note-modal-footer .note-btn{float:right}.note-modal-title{color:#42515f;font-size:20px;line-height:1.4;margin:0}.note-modal-backdrop{background:#000;bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);filter:alpha(opacity=50);left:0;-webkit-opacity:.5;-khtml-opacity:.5;-moz-opacity:.5;opacity:.5;position:fixed;right:0;top:0;z-index:1040}.note-modal-backdrop.open{display:block}@media (min-width:768px){.note-modal-content{margin:30px auto;width:600px}}@media (min-width:992px){.note-modal-content-large{width:900px}}.note-modal .note-help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}.note-modal .note-nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.note-modal .note-nav-link{background-color:transparent;color:#007bff;display:block;padding:.5rem 1rem;text-decoration:none;-webkit-text-decoration-skip:objects}.note-modal .note-nav-link:focus,.note-modal .note-nav-link:hover{color:#0056b3;text-decoration:none}.note-modal .note-nav-link.disabled{color:#868e96}.note-modal .note-nav-tabs{border-bottom:1px solid #ddd}.note-modal .note-nav-tabs .note-nav-item{margin-bottom:-1px}.note-modal .note-nav-tabs .note-nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.note-modal .note-nav-tabs .note-nav-link:focus,.note-modal .note-nav-tabs .note-nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.note-modal .note-nav-tabs .note-nav-link.disabled{background-color:transparent;border-color:transparent;color:#868e96}.note-modal .note-nav-tabs .note-nav-item.show .note-nav-link{background-color:#fff;border-color:#ddd #ddd #fff;color:#495057}.note-modal .note-tab-content{margin:15px auto}.note-modal .note-tab-content>.note-tab-pane,.note-modal .note-tab-content>.note-tab-pane:target~.note-tab-pane:last-child{display:none}.note-modal .note-tab-content>.note-tab-pane:target,.note-modal .note-tab-content>:last-child{display:block}.note-form-group{padding-bottom:20px}.note-form-group:last-child{padding-bottom:0}.note-form-label{color:#42515f;display:block;font-size:16px;font-weight:700;margin-bottom:10px;width:100%}.note-input{background:#fff;border:1px solid #ededef;-ms-box-sizing:border-box;box-sizing:border-box;display:block;font-size:14px;outline:0;padding:6px 4px;width:100%}.note-input::-webkit-input-placeholder{color:#eee}.note-input:-moz-placeholder,.note-input::-moz-placeholder{color:#eee}.note-input:-ms-input-placeholder{color:#eee}.note-tooltip{display:block;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);filter:alpha(opacity=0);font-size:13px;-webkit-opacity:0;-khtml-opacity:0;-moz-opacity:0;opacity:0;position:absolute;transition:opacity .15s;z-index:1070}.note-tooltip.in{-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=90);filter:alpha(opacity=90);-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9}.note-tooltip.top{margin-top:-3px;padding:5px 0}.note-tooltip.right{margin-left:3px;padding:0 5px}.note-tooltip.bottom{margin-top:3px;padding:5px 0}.note-tooltip.left{margin-left:-3px;padding:0 5px}.note-tooltip.bottom .note-tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.note-tooltip.top .note-tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.note-tooltip.right .note-tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.note-tooltip.left .note-tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.note-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.note-tooltip-content{background-color:#000;color:#fff;font-family:sans-serif;max-width:200px;padding:3px 8px;text-align:center}.note-popover{background:#fff;border:1px solid #ccc;display:block;display:none;font-family:sans-serif;font-size:13px;position:absolute;z-index:1060}.note-popover.in{display:block}.note-popover.top{margin-top:-10px;padding:5px 0}.note-popover.right{margin-left:10px;padding:0 5px}.note-popover.bottom{margin-top:10px;padding:5px 0}.note-popover.left{margin-left:-10px;padding:0 5px}.note-popover.bottom .note-popover-arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:20px;margin-left:-10px;top:-11px}.note-popover.bottom .note-popover-arrow:after{border-bottom-color:#fff;border-top-width:0;content:\"\\0020\";margin-left:-10px;top:1px}.note-popover.top .note-popover-arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:20px;margin-left:-10px}.note-popover.top .note-popover-arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:\"\\0020\";margin-left:-10px}.note-popover.right .note-popover-arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-10px;top:50%}.note-popover.right .note-popover-arrow:after{border-left-width:0;border-right-color:#fff;content:\"\\0020\";left:1px;margin-top:-10px}.note-popover.left .note-popover-arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-10px;right:-11px;top:50%}.note-popover.left .note-popover-arrow:after{border-left-color:#fff;border-right-width:0;content:\"\\0020\";margin-top:-10px;right:1px}.note-popover-arrow{border:11px solid transparent;height:0;position:absolute;width:0}.note-popover-arrow:after{border:10px solid transparent;content:\"\\0020\";display:block;height:0;position:absolute;width:0}.note-popover-content{background-color:#fff;color:#000;min-height:30px;min-width:100px;padding:3px 8px;text-align:center}.note-editor{position:relative}.note-editor .note-dropzone{background-color:#fff;color:#87cefa;display:none;opacity:.95;position:absolute;z-index:100}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:none}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable img.note-float-left{margin-right:10px}.note-editor .note-editing-area .note-editable img.note-float-right{margin-left:10px}.note-editor.note-airframe,.note-editor.note-frame{border:1px solid rgba(0,0,0,.196)}.note-editor.note-airframe.codeview .note-editing-area .note-editable,.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-airframe.codeview .note-editing-area .note-codable,.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-airframe .note-editing-area,.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-airframe .note-editing-area .note-editable,.note-editor.note-frame .note-editing-area .note-editable{overflow:auto;padding:10px;word-wrap:break-word}.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false],.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false]{background-color:hsla(0,0%,50%,.114)}.note-editor.note-airframe .note-editing-area .note-codable,.note-editor.note-frame .note-editing-area .note-codable{background-color:#222;border:none;border-radius:0;box-shadow:none;-ms-box-sizing:border-box;box-sizing:border-box;color:#ccc;display:none;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;margin-bottom:0;outline:none;padding:10px;resize:none;width:100%}.note-editor.note-airframe.fullscreen,.note-editor.note-frame.fullscreen{left:0;position:fixed;top:0;width:100%!important;z-index:1050}.note-editor.note-airframe.fullscreen .note-resizebar,.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-airframe .note-status-output,.note-editor.note-frame .note-status-output{border:0;border-top:1px solid #e2e2e2;color:#000;display:block;font-size:14px;height:20px;line-height:1.42857143;margin-bottom:0;width:100%}.note-editor.note-airframe .note-status-output:empty,.note-editor.note-frame .note-status-output:empty{border-top:0 solid transparent;height:0}.note-editor.note-airframe .note-status-output .pull-right,.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-airframe .note-status-output .text-muted,.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-airframe .note-status-output .text-primary,.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-airframe .note-status-output .text-success,.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-airframe .note-status-output .text-info,.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-airframe .note-status-output .text-warning,.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-airframe .note-status-output .text-danger,.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-airframe .note-status-output .alert,.note-editor.note-frame .note-status-output .alert{background-color:#f5f5f5;border-radius:0;color:#000;margin:-7px 0 0;padding:7px 10px 2px}.note-editor.note-airframe .note-status-output .alert .note-icon,.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-airframe .note-status-output .alert-success,.note-editor.note-frame .note-status-output .alert-success{background-color:#dff0d8!important;color:#3c763d!important}.note-editor.note-airframe .note-status-output .alert-info,.note-editor.note-frame .note-status-output .alert-info{background-color:#d9edf7!important;color:#31708f!important}.note-editor.note-airframe .note-status-output .alert-warning,.note-editor.note-frame .note-status-output .alert-warning{background-color:#fcf8e3!important;color:#8a6d3b!important}.note-editor.note-airframe .note-status-output .alert-danger,.note-editor.note-frame .note-status-output .alert-danger{background-color:#f2dede!important;color:#a94442!important}.note-editor.note-airframe .note-statusbar,.note-editor.note-frame .note-statusbar{background-color:hsla(0,0%,50%,.114);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid rgba(0,0,0,.196)}.note-editor.note-airframe .note-statusbar .note-resizebar,.note-editor.note-frame .note-statusbar .note-resizebar{cursor:ns-resize;height:9px;padding-top:1px;width:100%}.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{border-top:1px solid rgba(0,0,0,.196);margin:1px auto;width:20px}.note-editor.note-airframe .note-statusbar.locked .note-resizebar,.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-airframe .note-placeholder,.note-editor.note-frame .note-placeholder{padding:10px}.note-editor.note-airframe{border:0}.note-editor.note-airframe .note-editing-area .note-editable{padding:0}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative}.note-editor .note-toolbar,.note-popover .popover-content{margin:0;padding:0 0 5px 5px}.note-editor .note-toolbar>.note-btn-group,.note-popover .popover-content>.note-btn-group{margin-left:0;margin-right:5px;margin-top:5px}.note-editor .note-toolbar .note-btn-group .note-table,.note-popover .popover-content .note-btn-group .note-table{min-width:0;padding:5px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{cursor:pointer;height:10em;position:absolute!important;width:10em;z-index:3}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC\") repeat;height:5em;position:relative!important;width:5em;z-index:1}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC\") repeat;height:1em;position:absolute!important;width:1em;z-index:2}.note-editor .note-toolbar .note-style .dropdown-style blockquote,.note-editor .note-toolbar .note-style .dropdown-style pre,.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre{margin:0;padding:5px 10px}.note-editor .note-toolbar .note-style .dropdown-style h1,.note-editor .note-toolbar .note-style .dropdown-style h2,.note-editor .note-toolbar .note-style .dropdown-style h3,.note-editor .note-toolbar .note-style .dropdown-style h4,.note-editor .note-toolbar .note-style .dropdown-style h5,.note-editor .note-toolbar .note-style .dropdown-style h6,.note-editor .note-toolbar .note-style .dropdown-style p,.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p{margin:0;padding:0}.note-editor .note-toolbar .note-color-all .note-dropdown-menu,.note-popover .popover-content .note-color-all .note-dropdown-menu{min-width:337px}.note-editor .note-toolbar .note-color .dropdown-toggle,.note-popover .popover-content .note-color .dropdown-toggle{padding-left:5px;width:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette{display:inline-block;margin:0;width:160px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title{border-bottom:1px solid #eee;font-size:12px;margin:2px 7px;text-align:center}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select{border-radius:5px;cursor:pointer;font-size:11px;margin:3px;padding:0 3px;width:100%}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover{background:#eee}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn{display:none}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn{border:1px solid #eee}.note-editor .note-toolbar .note-para .note-dropdown-menu,.note-popover .popover-content .note-para .note-dropdown-menu{min-width:228px;padding:5px}.note-editor .note-toolbar .note-para .note-dropdown-menu>div+div,.note-popover .popover-content .note-para .note-dropdown-menu>div+div{margin-left:5px}.note-editor .note-toolbar .note-dropdown-menu,.note-popover .popover-content .note-dropdown-menu{min-width:160px}.note-editor .note-toolbar .note-dropdown-menu.right,.note-popover .popover-content .note-dropdown-menu.right{left:auto;right:0}.note-editor .note-toolbar .note-dropdown-menu.right:before,.note-popover .popover-content .note-dropdown-menu.right:before{left:auto!important;right:9px}.note-editor .note-toolbar .note-dropdown-menu.right:after,.note-popover .popover-content .note-dropdown-menu.right:after{left:auto!important;right:10px}.note-editor .note-toolbar .note-dropdown-menu.note-check a i,.note-popover .popover-content .note-dropdown-menu.note-check a i{color:#00bfff;visibility:hidden}.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i,.note-popover .popover-content .note-dropdown-menu.note-check a.checked i{visibility:visible}.note-editor .note-toolbar .note-fontsize-10,.note-popover .popover-content .note-fontsize-10{font-size:10px}.note-editor .note-toolbar .note-color-palette,.note-popover .popover-content .note-color-palette{line-height:1}.note-editor .note-toolbar .note-color-palette div .note-color-btn,.note-popover .popover-content .note-color-palette div .note-color-btn{border:0;border-radius:0;height:20px;margin:0;padding:0;width:20px}.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,.note-popover .popover-content .note-color-palette div .note-color-btn:hover{transform:scale(1.2);transition:all .2s}.note-modal .modal-dialog{border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.note-modal .form-group{margin-left:0;margin-right:0}.note-modal .note-modal-form{margin:0}.note-modal .note-image-dialog .note-dropzone{border:4px dashed #d3d3d3;color:#d3d3d3;font-size:30px;line-height:4;margin-bottom:10px;min-height:100px;text-align:center}.note-placeholder{color:gray;display:none;position:absolute}.note-handle .note-control-selection{border:1px solid #000;display:none;position:absolute}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{background-color:#000;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);filter:alpha(opacity=30);height:100%;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;width:100%}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing{border:1px solid #000;height:7px;width:7px}.note-handle .note-control-selection .note-control-sizing{background-color:#000}.note-handle .note-control-selection .note-control-nw{border-bottom:none;border-right:none;left:-5px;top:-5px}.note-handle .note-control-selection .note-control-ne{border-bottom:none;border-left:none;right:-5px;top:-5px}.note-handle .note-control-selection .note-control-sw{border-right:none;border-top:none;bottom:-5px;left:-5px}.note-handle .note-control-selection .note-control-se{bottom:-5px;cursor:se-resize;right:-5px}.note-handle .note-control-selection .note-control-se.note-control-holder{border-left:none;border-top:none;cursor:default}.note-handle .note-control-selection .note-control-selection-info{background-color:#000;border-radius:5px;bottom:0;color:#fff;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);filter:alpha(opacity=70);font-size:12px;margin:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;padding:5px;right:0}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;overflow:auto;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{background-color:#428bca;clear:both;color:#fff;cursor:pointer;display:block;font-weight:400;line-height:1.4;outline:0;text-decoration:none;white-space:nowrap}body .note-fullscreen-body,html .note-fullscreen-body{overflow:hidden!important}.note-editable ol li,.note-editable ul li{list-style-position:inside}.note-editor .note-editing-area .note-editable table{border-collapse:collapse;width:100%}.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th{border:1px solid #ececec;padding:5px 3px}.note-editor .note-editing-area .note-editable a{background-color:inherit;color:#337ab7;font-family:inherit;font-weight:inherit;text-decoration:inherit}.note-editor .note-editing-area .note-editable a:focus,.note-editor .note-editing-area .note-editable a:hover{color:#23527c;outline:0;text-decoration:underline}.note-editor .note-editing-area .note-editable figure{margin:0}.note-modal .note-modal-body label{display:inline-block;margin-bottom:2px;padding:2px 5px}.note-modal .note-modal-body .help-list-item:hover{background-color:#e0e0e0}@-moz-document url-prefix(){.note-modal .note-image-input{height:auto}}.help-list-item label{display:inline-block;margin-bottom:5px}";
|
|
220439
|
+
styleInject(css_248z$2);
|
|
220440
|
+
|
|
220441
|
+
/** Serialises the UMD imports so two borrows of the globals never overlap. */
|
|
220442
|
+
Promise.resolve();
|
|
220443
|
+
|
|
220391
220444
|
function TenantSwitcher({ currentTenantKey, tenants, visitingTenant, onTenantChange, setHideTenantSwitcher, setOpenAccount, setLoadingTenantInfo, rbacPermissions, enableRbac = false, }) {
|
|
220392
220445
|
var _a;
|
|
220393
220446
|
const t = useT();
|
|
@@ -220647,6 +220700,12 @@ AlertDialogAction.displayName = Action.displayName;
|
|
|
220647
220700
|
const AlertDialogCancel = React.forwardRef(({ className, ...props }, ref) => (jsx(Cancel, { ref: ref, className: cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', className), ...props })));
|
|
220648
220701
|
AlertDialogCancel.displayName = Cancel.displayName;
|
|
220649
220702
|
|
|
220703
|
+
// Notification bodies are arbitrary (often email) HTML: long unbroken URLs and
|
|
220704
|
+
// fixed-width tables would otherwise bleed out of the panel. Break long words,
|
|
220705
|
+
// cap every descendant at the container width, and let anything that still
|
|
220706
|
+
// cannot shrink scroll inside the body instead of stretching the layout.
|
|
220707
|
+
cn('prose prose-sm max-w-none text-gray-700', 'overflow-x-auto break-words [overflow-wrap:anywhere]', '[&_*]:max-w-full', '[&_a]:break-all', '[&_img]:h-auto', '[&_pre]:overflow-x-auto [&_pre]:whitespace-pre-wrap', '[&_code]:whitespace-pre-wrap');
|
|
220708
|
+
|
|
220650
220709
|
const THEMES = { light: '', dark: '.dark' };
|
|
220651
220710
|
const ChartContext = React.createContext(null);
|
|
220652
220711
|
function useChart() {
|
|
@@ -307685,33 +307744,6 @@ function useCanvasVersionNavigation({ artifactId, org, userId, metadataVersionNu
|
|
|
307685
307744
|
};
|
|
307686
307745
|
}
|
|
307687
307746
|
|
|
307688
|
-
function styleInject(css, ref) {
|
|
307689
|
-
if ( ref === void 0 ) ref = {};
|
|
307690
|
-
var insertAt = ref.insertAt;
|
|
307691
|
-
|
|
307692
|
-
if (!css || typeof document === 'undefined') { return; }
|
|
307693
|
-
|
|
307694
|
-
var head = document.head || document.getElementsByTagName('head')[0];
|
|
307695
|
-
var style = document.createElement('style');
|
|
307696
|
-
style.type = 'text/css';
|
|
307697
|
-
|
|
307698
|
-
if (insertAt === 'top') {
|
|
307699
|
-
if (head.firstChild) {
|
|
307700
|
-
head.insertBefore(style, head.firstChild);
|
|
307701
|
-
} else {
|
|
307702
|
-
head.appendChild(style);
|
|
307703
|
-
}
|
|
307704
|
-
} else {
|
|
307705
|
-
head.appendChild(style);
|
|
307706
|
-
}
|
|
307707
|
-
|
|
307708
|
-
if (style.styleSheet) {
|
|
307709
|
-
style.styleSheet.cssText = css;
|
|
307710
|
-
} else {
|
|
307711
|
-
style.appendChild(document.createTextNode(css));
|
|
307712
|
-
}
|
|
307713
|
-
}
|
|
307714
|
-
|
|
307715
307747
|
var css_248z$1 = "@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:\"0.16.44\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}\n";
|
|
307716
307748
|
styleInject(css_248z$1);
|
|
307717
307749
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iblai/iblai-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"dotenv": "16.6.1",
|
|
78
78
|
"winston": "3.19.0",
|
|
79
79
|
"@iblai/data-layer": "1.12.7",
|
|
80
|
-
"@iblai/mcp": "1.
|
|
81
|
-
"@iblai/web-containers": "1.
|
|
80
|
+
"@iblai/mcp": "1.10.0",
|
|
81
|
+
"@iblai/web-containers": "1.18.1",
|
|
82
82
|
"@iblai/web-utils": "2.1.16"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|