oasis-editor 0.0.146 → 0.0.148

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.
@@ -1443,10 +1443,13 @@ const en = {
1443
1443
  "toolbar.file": "File",
1444
1444
  "toolbar.export": "Export",
1445
1445
  "toolbar.import": "Import",
1446
+ "toolbar.newDocument": "New Document",
1447
+ "toolbar.importDocx": "Import DOCX",
1446
1448
  "toolbar.undo": "Undo last change",
1447
1449
  "toolbar.redo": "Redo last undone change",
1448
1450
  "toolbar.insert": "Insert",
1449
1451
  "toolbar.image": "Image",
1452
+ "toolbar.symbols": "Symbols",
1450
1453
  "toolbar.imageCaption": "Image caption",
1451
1454
  "toolbar.shapes": "Shapes",
1452
1455
  "toolbar.shape.rect": "Rectangle",
@@ -1504,6 +1507,17 @@ const en = {
1504
1507
  "toolbar.formatUpperRoman": "I, II, III",
1505
1508
  "toolbar.formatBullet": "Bullet",
1506
1509
  "toolbar.moreTools": "More tools",
1510
+ "symbols.menu.equation": "Equation",
1511
+ "symbols.menu.symbol": "Symbol",
1512
+ "symbols.menu.number": "Number",
1513
+ "symbols.more": "More Symbols...",
1514
+ "symbols.category.all": "All",
1515
+ "symbols.category.common": "Common",
1516
+ "symbols.category.math": "Mathematical",
1517
+ "symbols.category.arrows": "Arrows",
1518
+ "symbols.category.currency": "Currency",
1519
+ "symbols.category.greek": "Greek",
1520
+ "symbols.category.numbers": "Numbers",
1507
1521
  // Style
1508
1522
  "toolbar.style": "Styles",
1509
1523
  "toolbar.fontFamily": "Font Family",
@@ -1658,9 +1672,9 @@ const en = {
1658
1672
  "section.marginValue": "{0} cm",
1659
1673
  "section.marginApply": "Apply",
1660
1674
  "number.decimalSeparator": ".",
1661
- "section.secNext": "Sec Next",
1675
+ "section.secNext": "Next Page",
1662
1676
  "section.secNextTooltip": "Insert Section Break (Next Page)",
1663
- "section.secCont": "Sec Cont",
1677
+ "section.secCont": "Continuous",
1664
1678
  "section.secContTooltip": "Insert Section Break (Continuous)",
1665
1679
  // Table
1666
1680
  "table.merge": "Merge",
@@ -1772,10 +1786,23 @@ const en = {
1772
1786
  "layoutOptions.behindHint": "Tip: Alt+click to select an object behind text",
1773
1787
  // Generic
1774
1788
  "generic.close": "Close",
1789
+ "generic.back": "Back",
1775
1790
  "generic.cancel": "Cancel",
1776
1791
  "generic.save": "Save",
1777
1792
  "generic.apply": "Apply",
1778
1793
  "generic.ok": "OK",
1794
+ "dialog.symbol.title": "Symbol",
1795
+ "dialog.symbol.insert": "Insert",
1796
+ "dialog.symbol.font": "Font",
1797
+ "dialog.symbol.subset": "Subset",
1798
+ "dialog.symbol.preview": "Preview",
1799
+ "dialog.symbol.recent": "Recently used",
1800
+ "dialog.symbol.code": "Character code",
1801
+ "dialog.symbol.doubleClickHelp": "Double-click a character to insert it.",
1802
+ // New document confirmation
1803
+ "dialog.newDocument.title": "New Document",
1804
+ "dialog.newDocument.message": "The current document has unsaved changes. Do you want to discard them and create a new document?",
1805
+ "dialog.newDocument.discard": "Discard",
1779
1806
  "title.untitled": "Untitled document",
1780
1807
  // Dialogs
1781
1808
  "dialog.imageAlt.title": "Image Alt Text",
@@ -1978,7 +2005,7 @@ const en = {
1978
2005
  // Menu
1979
2006
  "menu.file": "File",
1980
2007
  "menu.file.export": "Export",
1981
- "menu.file.new": "New",
2008
+ "menu.file.new": "New Document",
1982
2009
  "menu.file.print": "Print",
1983
2010
  "menu.edit": "Edit",
1984
2011
  "menu.edit.cut": "Cut",
@@ -2025,10 +2052,13 @@ const ptBR = {
2025
2052
  "toolbar.file": "Arquivo",
2026
2053
  "toolbar.export": "Exportar",
2027
2054
  "toolbar.import": "Importar",
2055
+ "toolbar.newDocument": "Novo Documento",
2056
+ "toolbar.importDocx": "Importar DOCX",
2028
2057
  "toolbar.undo": "Desfazer última alteração",
2029
2058
  "toolbar.redo": "Refazer última alteração",
2030
2059
  "toolbar.insert": "Inserir",
2031
2060
  "toolbar.image": "Imagem",
2061
+ "toolbar.symbols": "Símbolos",
2032
2062
  "toolbar.imageCaption": "Legenda da imagem",
2033
2063
  "toolbar.shapes": "Formas",
2034
2064
  "toolbar.shape.rect": "Retângulo",
@@ -2086,6 +2116,17 @@ const ptBR = {
2086
2116
  "toolbar.formatUpperRoman": "I, II, III",
2087
2117
  "toolbar.formatBullet": "Marcador",
2088
2118
  "toolbar.moreTools": "Mais ferramentas",
2119
+ "symbols.menu.equation": "Equação",
2120
+ "symbols.menu.symbol": "Símbolo",
2121
+ "symbols.menu.number": "Número",
2122
+ "symbols.more": "Mais Símbolos...",
2123
+ "symbols.category.all": "Todos",
2124
+ "symbols.category.common": "Comuns",
2125
+ "symbols.category.math": "Matemática",
2126
+ "symbols.category.arrows": "Setas",
2127
+ "symbols.category.currency": "Moedas",
2128
+ "symbols.category.greek": "Grego",
2129
+ "symbols.category.numbers": "Números",
2089
2130
  // Style
2090
2131
  "toolbar.style": "Estilos",
2091
2132
  "toolbar.fontFamily": "Família da Fonte",
@@ -2240,9 +2281,9 @@ const ptBR = {
2240
2281
  "section.marginValue": "{0} cm",
2241
2282
  "section.marginApply": "Aplicar",
2242
2283
  "number.decimalSeparator": ",",
2243
- "section.secNext": "Próx Seç",
2284
+ "section.secNext": "Próxima Página",
2244
2285
  "section.secNextTooltip": "Inserir Quebra de Seção (Próxima Página)",
2245
- "section.secCont": "Seç Cont",
2286
+ "section.secCont": "Contínua",
2246
2287
  "section.secContTooltip": "Inserir Quebra de Seção (Contínua)",
2247
2288
  // Table
2248
2289
  "table.merge": "Mesclar",
@@ -2354,10 +2395,23 @@ const ptBR = {
2354
2395
  "layoutOptions.behindHint": "Dica: Alt+clique para selecionar um objeto atrás do texto",
2355
2396
  // Generic
2356
2397
  "generic.close": "Fechar",
2398
+ "generic.back": "Voltar",
2357
2399
  "generic.cancel": "Cancelar",
2358
2400
  "generic.save": "Salvar",
2359
2401
  "generic.apply": "Aplicar",
2360
2402
  "generic.ok": "OK",
2403
+ "dialog.symbol.title": "Símbolo",
2404
+ "dialog.symbol.insert": "Inserir",
2405
+ "dialog.symbol.font": "Fonte",
2406
+ "dialog.symbol.subset": "Subconjunto",
2407
+ "dialog.symbol.preview": "Visualização",
2408
+ "dialog.symbol.recent": "Usados recentemente",
2409
+ "dialog.symbol.code": "Código do caractere",
2410
+ "dialog.symbol.doubleClickHelp": "Clique duas vezes em um caractere para inseri-lo.",
2411
+ // New document confirmation
2412
+ "dialog.newDocument.title": "Novo Documento",
2413
+ "dialog.newDocument.message": "O documento atual tem alterações não salvas. Deseja descartá-las e criar um novo documento?",
2414
+ "dialog.newDocument.discard": "Descartar",
2361
2415
  "title.untitled": "Documento sem título",
2362
2416
  // Dialogs
2363
2417
  "dialog.imageAlt.title": "Texto Alternativo da Imagem",
@@ -2560,7 +2614,7 @@ const ptBR = {
2560
2614
  // Menu
2561
2615
  "menu.file": "Arquivo",
2562
2616
  "menu.file.export": "Exportar",
2563
- "menu.file.new": "Novo",
2617
+ "menu.file.new": "Novo Documento",
2564
2618
  "menu.file.print": "Imprimir",
2565
2619
  "menu.edit": "Editar",
2566
2620
  "menu.edit.cut": "Recortar",
@@ -2632,14 +2686,14 @@ function I18nProvider(props) {
2632
2686
  });
2633
2687
  }
2634
2688
  const oasisMarkBase64 = "UklGRmQXAABXRUJQVlA4IFgXAACwWwCdASrAAAABPjEWiUMiISESyL50IAMEswHYDxjW/947Oi5/a/7H+1P90/ar5n65/UvwH+Q/QZm27Sf5n9r/I/5m/2n/p+wv9E/9j3AP07/0X92/HLuKeYL+mf4r/zf3f3tf9x+rnvH/z/qAfzf/J/9/sM/QX/bv02P28+Fb9s/2s+B39h//51gH//6yfrV/QO1z/CdMx6vl0OAGqD8Z+4X6H+9/up8b/6vvP+IeoL+Lfyr/CflxwuoAPz7+0/7T1iPk/9p6R/zXqAflpxyVAX8y+hD/5/6f0W/UX7UfAl/Ov75/zOxr6SR2HAT+kJLsdULBbdVn3b+sl8uZdjuThjIe3NwBwjfGz5SniiBN2m7i7b0hA/wxE1PuC+4EcbOyjUkU3CDDghPY1Va4tpUped9TFa05Qb1z7O+Ye73ccvEl10Sgdj6Hhy71hb/XpA23GjXBN/obAlaswz9gKwvW9d9npbC69rQeTm6DEr/cjrNngjQaHgFGjh4uVY1bY9Q+/iG037f80w0bLlYIe7smzz4tG1kC8r/KyWvzd3IXXrR2bKmhoB3Md69ltbERYFBI/2f+w7Jcsw+aUOGSwP6v6jv3tvwprg/7n5tto40/iRIKwEHQ5H/G5c0tpJ2pwREanIK3qHinjvovnkmuTw0mV2bumYqdc7he7hG0hpvBna8vIRpKYe6K1v3F8trOEtYUwr7w8e6j3nviknKtsFMtPtxZzn0YnhgtOn9inBlwqyEGR+wk7X1KHxOekXCA1UVbmLwGx1NqbI6r2WBOwQdpmpTg85DMOjwzW/JHUmfxKTDfhoXLi9gBMP/+Et6inspdrW1CHkZVLkDll2JyiPvClnvGv9m00oYce3evtpMlDhY3kVYGwfkoCHHyEv9iiN45NFE7+dQ9TacuQ00bHMa8LEFkEgXlbIOOqb/luSgpqPeYJ0te0XOAoIimL6iiPpVwptKTVTYOwRlXsxXOf6TT46ZEkHgAAP7+0P2gKmTluueuNY+U4/vkDd2VmNHsmMNJl1HfoY2poF8/1uoa8CZHpva1s8naGtGSLZnoeinjMs+G3jkzDzxHqqcgkZTAfFgipQReV3vRrkjzfzIdcMA7B4tu1cAg89SYeju2MC8Y/CWafba+MGbhAEzmu3dW8//l1pJrMLCd2MlJ8YLX6EM772du7VOeyFBLhim1VpOzXrWZWlYFTm3pF38p3oH1j5l0JRFlx08AdxScjS2p+L43pSzH9irNn8ow+YlvoXypCXVyQ9DllXxuTiMV7Tw7WkiyBb4a0io2XARXIzAbjnigXygR4j0M4GnhxdRzombgaZd6jiUTORiHX8BIV0fE+8nOv/uleXINQ2JNHrP4IfqDiefxTYTJHXey6xszVKKbcgzzA9VjuS59jQjkZVktrpdXls0pskU+x3iAoGSQxoL3YUs8B9JbG69Vh5VQfRWkjpvjgA+VeqeUoRD1h/PctddTT2eA31zbvwS+0HxGGL7afgwAeSZIDnSqmHLVUc7cH9uA0qf6foiwypxLOe6BLv7FNIwMYXLlkOnCSsiYZmhjpZmUZykMqPtNOPR2teBpziedYDQV2aBZFMP+Guq5u2WRWvvGZ+KNDuQaa4vKl+YbRCwZAaLr6bcL+XjTayKSzz561sUKrzDSPUjEf0cVkTci8SXA+guLEDFEtHATgLEEQD/xiDXvconSzB8CqX0Pys7GniN2V5lI76qUO1knbcPftDFB9DRHcuv4NM/c+9zeyj3iLi2uJhkGEW8MtSZUygLogIc+c43IPKXQXAs9YgZ8Uumypd4xdsgzr5POVy0w0rzP8LhLPiqzL8Nc50JyRi8bvEZraXy3DSHQmuVX39HaRgREI7uqi1sUiL+b0qe/fR53FfE+uCPvVxaWqgr0UicQoWPAXArLgJ6RjGyIgbrq+cv0gBkp65ZH05itLicbTkIWprWJ1pLomPqQZkAYruygNlcmmGct1IJ0OzNjAJQFkVGbwLkeHB/TDbV0Tq/U7ge2Ciaj3HYIMmREQzhx1gk+i2Kwb3DmEaetvzetIiB0nhbRWIMtfOKNM25GU22XNDiHpZiFfMCR04TIoM/jq5qRJ8zukISn5EQJGUSLd1nraQHhAJTkrpt/x6kq5R9er3yXQiOw25imi3mzDte/kbW6ENgYqf3RC1zKdnGEieTDnu+Mfr1L5ORPGTyS4LO2eDcgcd7uKCXNyWLRHYNtj0swtWjA0ia7ezJCwTRrpoU7kY+lL02zDFu+teWU4dda1jD7f0khwFd6lu1ESotG4fSQX/+N6f2n3mwu/NRGflR35gBlCarCAqTnEvPSSAoGg5H65qwNYU4i/xtQET6QIf0wJ9SWoybdwZkdByMBLVM+zWXM09/ZywvcFSeDiQH1mB/LN9o/9kigWXMDCmJ40GdbJriO6LyFd3ZPHE9Mu3cpzAHodpgbNY2L5de3n7cWaFs31Ua4V7IZwif5EJ6RgL52zgWt5THlnmij4W/+o5sga3qHqbIr2R4+KthbXaFSBHLt/MP3sfxs7UyonNA/yO9VDpaR/87nlPJ+486zuaZ6QF6hVZMPFdPUSXrhJYcQn8MarTFxjYFzcGKE5JIdnqU8wrv95YUP2/Vq42hW+eYj3Olg9EpjiSMkrFiYBsyWSOqbJQbpV64E7yVXFNVHUnkvRhUHFSP+YLr+DAyGpc6IIx+dS13PDFTHLAPtK0K8U5nwtn07jExCX4zca4HtBYAPSyMs/rGL+kEh29/08ahsm/8lEASeDKao1fY2pqUMr/GXUf+wwieLDHhs4/785VR9Jg6ZYzV6W8gxpyHNPw/s6/V2XW/PRn+l8MCGPTSDU0H7S/engMTa3XFjmfN+HkF3VBNtsTRv5m/dvtiEW4KJnN3UT1BiuO19GYLvxC553JAMaKnwwtW3q4UUnQwjrRum4luWqFQbWSfFaM0C+nAHkShu+7jB74XTnWfZUljWJrxnV/xRqtBnlio9SHJn93hzCH3c7Z4NGiHUfRlNZeY0GTth7SIjPPNF8uq0Dlon7EpI0JQWPHjAajWRH6+z6HGdnkF6b6ZW5nwveXsbtGl77y181pnrXB8eKRZVF6mnjlOWfzt2DgyrR8KXcfQxdtJ14hmYNbWmVt6oo0syImVWF2VaCy4iac47Xle5VTGAzTK+y4ineIkhp2WUDrKBHpaXNu05EunDhMbGU4OSsDum31/gAk0cpuqbGJmD+AEf+PEyj7okPwWnzbx/Dc+TOUJIq0qPYVLHQs3x5763EiV05ZPV0giHExJHA4tpsZdLBBimjc4jbBcDloQWRyHMa5ZCOsLcAxxe/JUT31Gmy8EeIIJH8oybFtgVsxUB9bTxUCjQ5BTUwGzCI3zFYNmqhwcQx7IRJEaBHnQH0Reiqh7QJu3rZ+1xNRDeUPgc9c3VKwkZhaSS+wB/AQUgUVHzL0w86fefFqaqXbei8E6aCU4PPwLtpC/kphJCHMSQ1y6Z1kN1ztzIcN6EYF0diUBtS0ycH+8OT5Pu7SBn9paZxcr0abOrM0WedcPsmgRTng89PAD7unuoL+34FYNzXeVc2oxzRQ4ukk+O/zYyxVW2bfacfF176N/actMCjkMiZsIzUpK8q9a7xKWWoNNPFKd/zbyQaWPY9NhfWS2yDjBtmYh6SZRBJJRhZFY1ZCKIs4q8Z+hznOqVSPsm9sddQNfg5cn1gdtuZP/HZJqu6YN6Scn2f4RdBhb2iZGyNt/oDFIqQwJHMNiQUeemjv8t+p4Ijz0tCKNPLGmDeuhrplcBQ8LZgSPE3yyXmuIgd31d23LHj43kzNoMc0niaEAXRfvuA7sxLpbzV5x0bNTFYZ7XGX8CpL1m0/X2c9nFxxk1kALcLsOT9VadXCJ5jG+ANfI+RJ24AFfCTjK7mQuWDirqt9FD8ksAvzPM8677h/YcmEfwyrUBm8ZPOjhnMH7I85GVoQjN7zHFN3VXmaMRZMq5uBc5Z3Fhr6JbsBSl8W/hAQAriIBINIylKxSh7iRa2S2MlXJb/uIosUdKoreXYKD3A4xcf5DGnjxfCVm9L9WabGP5Wj/yoRo/h1hEaaHZVjrot+YELnMYMn/gLTHm1w/m5KMKXbqNdB1DZhPOx+vA7WCozWCfqDlJDczg6SQybB1KsP7lk/9gqHS58eVInTlny7MxP6jbCKE5KI1A9uu+rFuO+6iYHCP4xcdPNT6RsYjpSLhjyKHBcCldrMjQzo8IpwYkSyaPxonVxhSjxfBySfPIljfNy/1nL3KyMcXzzR2QnDRABDumnTqfDqAL0PMuLeZ3iBgVlN4j8tdBD+uPIvDjHpXAwFAY1R03QMWGtS84kEElzP0qPlpg1b0zw3KK1daqJC2rmaGE0r0y3Js8W0CVI+e6HMozZ2tAh17caaGjcnbK8WK+l9swvUSc6GaI1mrlnhAHU80EFIql72S66mllwDtIJhkpDfu1xVON+kiZAU8ao6sj+9oN38QZ0orGVOCnj7R9/Qg/VozV+Odtx1nres4cVUpgBpj8Fc+n52K+kkDCl80yVaPS7ZsvtS33mn3xeTn74mvTWcVftb8+e+vFLo6GS5kPRskekS0ViI/hAhQeCFZV7MBwI/jS+B68+YiWv/+9tG7qPNKLsjTR97ead+3YrvlBM3MyRlIpIMcYYgLiiZZ42RJGG2Ip3kPxsx8s3N+SkvM8qLTw3dWhActwY3Xz0O9Crxtfr93PHhfQI71MIUEmX2dnbKTxnqYbLB1kCdS4H9sz6wW02aXo9fzaQo090DuxABjsamN0leUN7a1L24Eev/B75RhLXYXy9SvKxvd0H+KlepkD4doBKROwuwFu7PMog7jmqvAGBHtSF7dE3jwhE60Rjtt95WkgqQDoRO7W57G3tJgdlPverdlAi0zSDFEkBxXTDZ3xheftVoAhRj365OpFIzFBNN+iYfp2eJwBwI7oc5KylPx5/H3NNMcBvx+EOdEu4pkFlpPnmglJKvsNeCyUWhTIvPi308dnqSoifrrilNHk3UeUXSoaVKxQPIBpbiVLPedkJBQjvuOnOriN/V80+Rk9AE7iRMl/Rvc33Lge1jnRC7AFnJbw9ufG8JgbB4RBnyB1xuIUiCfkvBPoNNfbfuc3mrI7pJYLknAXGSG1Nfuo5DtXqw1JfHGlIDRVbootSqBVrEHXnCvvXOPqpNXe5W4fPhMVYwyJoE1qWZVIYo549dcG50Bz6qQo/YwChUIKCG+vkwiJ+kZd1to35s+aGK1HBP60TOjMYwioPiB0J3/M3JbQ7KSXz1mVcAd73cGnyHgB9vEfSEVf3IjVdd3IYtAZ0/87Pzbeu0m9oZpOhzngr2neJbn+1l5AiNG6RK0dNNmmTQI1DnDmM3hW8Yw0TiGX3oNDtv0X6NXbNna7b0YLh3bAB72PiqadyVxVYPRoHY2vCjRrBQzTNTdRIQuw5d0XhFJ4uazuvp5RMF0d9LLckV+iqel5ldUdQ2m5ZxGNPxoABOhV5MznFqE9GLr4EYDl064VOcFjJBkFaei+XN+H1oaqG8qkntUti9NdXEphwxgKW16MEeWuQ/7T8DCeC8+5nyPVF3kG8ZDYZP0AJtv5/WFPn9DWTo7gQTAt0U3JZVcudQ7i7PfvqWa52Qrpy6zQFVTesAyrq995z6UGiHzqiHGDjelUG8bnN+m5+3MMELQAU+rvc4UFgNJ/Qa1DnWJdkMZSUMq+HBoj5ggFBwlL6yDEiRk34idtLXmIy8cMNrjXG0Lu7Reg/CY07ZYRp4eTLUIrFnr8aknQBWq0xHLQwYmjqO/TT6sz+lPCJRE4+FXSaZVynttWJv1H9gEFDgs5dOMCTkwh1ax9dpwLEsm8QPU2G2v6l5zxrcvc1FWtDlcIfQDWNecuvM7bX+STamlHfN4HA0tSPrgMy10RwE79X37FlpC3eESfEmUU5Sn2Lgz9uBA4NH7R9EMNz8KGVeA5rJ7RFnPlwx9M2vGnChVaxeoKI4N9YVr0sWj8Y/GiCB7I+8JW6gxzc0+15MDOLlvzNhS2ZMRENKhrvs2OGvvIyx6PWlYFTgAfxWyDonD1mngwHu6h40bGM3xDeOv7Fy818u6uTUWm/qnaGrSKdrU1BiGP2+T/qtxeK7EQpceSmVbFgnCFJX4knNvrYC+qhU6emMJiCuIjFxiK/W+tgtp++f9TRhfaX2Nn3oisrMYTXHKcxa6Im1QTRMZLyba1njRXKhNQzygEEkCTaQ8NrCaYQ+6QrvlnuYPzQn9OzFNrFgJg+Kuz73CQU6z3r/jsgZ+AkeDDESoMXDRetY1NclRIMGRy8NB9dur+YrXdNDM3vHq9YjXkOx8QgJCFTV06fUmxBrqgoIb5ZaoiWv8mhOuta+5AztMbzxtggvULoILvLB3E95cabrHIgIIxZOGf5bAP9ltq3Yg6Vo4PnZkOd9Ln2vP3vpB0P0ELJDRwUpey+k7bpQF7VfEqg4k28587tqFvrX2ZbQADLJGKhERGVFehFRuqfS8SaXmWVLB4HriwYl4r8k7NMZwbp/xZM7xBrCXt8bEC2wku5PDUb9PyPcQBnoKnstlLSSwJXS2RBFI87PYgEYHNzmYt8y6z1nNB6PBFxJo3NKrprYK77FMfyPAelQnBc4VstXvPnsZRp8NY97NvtRq6GTKOlwuAtFLIMxZ3pu1wxBNRxH9OfiymV6ahDsAF+F4EmS/fmuLxqRCborsgMUTSlcbZCycyfeLgL9FsLfIadOCee++KvLi4ST9ZHhj7tCBhgayemDhSzcFgeFnsyDkGS9qLs7rnySZzxzAwfjlpsYyjkYpuxXbbWuTIqD39mD6NQpuJDKt2Q9x/OKymV3BMjQ/0F4boL/NdfYS24AFVtW/OIFU+AGkN2d5wNbdGC5NrLUrp3q+mjXtg54TBgW2gp8fUOCTxdPzlDp2baT4Q6uAqCfDg3D4V/4VdxkVSlLbiWEpOTl4VtDlNMNSSXmFf/1tPGphwWKj0Agbbd5QjFulttla8pgAAA/Wf+9Td+Oo61eaZLa3tUfTeOXGCKwWJFXCMqaNfIyBue31jEIGX1TddpAj4QyCopCfwrKjKoRX5n4UwcfwADHiInAdeqVgyLiABR8P6u+q5XYOLFlS5rZ1Kpe7uqoHg6rIvAN/gVp/JR0jDVURc9CTdVvWQNne/upBb3VgGGhdLlbcfVEjHw5HwHeOjIx3HP/lXoWaUdTbiLB7DDLQD+VOaVqCh9An7btAcCd6RzgEW165Hqx2ZXLlq8OLCczkDlN8rCAtz8O+4AzSyPK8grVM8ObUU+qc6ZGcCgxaVvvbiTPP2kb765qIU5/Dj+q60L9YPOU6t+1FP6od8x4iXUpAtBsclYfJhOrwv66P13ocoB3LV1x09Eb5wq33vepBq3qYQJQyOHbj/jl4eLRUxXLQgLorpnB4HNs4v40tGGosw2Ka6eDt5K6P8DQK5ozy56BizczJenDjZ5DYx1Xu3YLmI/quRSR8ORIJqwhWFwM+Q8/gNfUL/YgQHlHmfhYi5vjU0TzsgnLyhP/kOFSnR9zjJkIMcYAFB/Ft1tfks1aQiBMtgP4sabdMsauWXINaIyR9ClOZLdIZQVGHUgLjxKW6YiFUs72zTJmKtf/RovsidqZlmEXrWGZ3UuGplChFUtjEkvwi2XxICgc0grD+9/tRt47usAAADGbVjPUInsKZHILQ8Tdvbj09q/9k2Mg7uynD2e+HudOmr+jOK+SyWmKsSZ4pH89FUSffyxPKUMVNp8o1m1apG/WDvwhmHllHVfELy0BgfyAIevaAuIOzl4NX3ayQnv+tsCnIGxjvF1IwPLyoflKFrL2OBFh3pJ57ChDdzSC9IDKqpaycKVMm2mWUPGBLK2cpD+b4VPleMoNCtKZz4AileaHHtk77gduJB8sihmMPR1lV1Vba4pOywdJgGueqt4IcTd2RJFxeSRNjuzHcR4tYGdli66ijJZC20ODhr8miT+cauMIflgiAAAAA=";
2635
- var _tmpl$$1a = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2689
+ var _tmpl$$1b = /* @__PURE__ */ template(`<img alt aria-hidden=true>`);
2636
2690
  const OASIS_MARK_DATA_URI = `data:image/webp;base64,${oasisMarkBase64}`;
2637
2691
  const MARK_ASPECT = 3 / 4;
2638
2692
  function OasisBrandMark(props) {
2639
2693
  const height = () => props.height ?? 64;
2640
2694
  const width = () => Math.round(height() * MARK_ASPECT);
2641
2695
  return (() => {
2642
- var _el$ = _tmpl$$1a();
2696
+ var _el$ = _tmpl$$1b();
2643
2697
  setAttribute(_el$, "src", OASIS_MARK_DATA_URI);
2644
2698
  setAttribute(_el$, "draggable", false);
2645
2699
  createRenderEffect((_p$) => {
@@ -2656,7 +2710,7 @@ function OasisBrandMark(props) {
2656
2710
  return _el$;
2657
2711
  })();
2658
2712
  }
2659
- var _tmpl$$19 = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$K = /* @__PURE__ */ template(`<div role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-progress-track><div>`), _tmpl$3$w = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2713
+ var _tmpl$$1a = /* @__PURE__ */ template(`<div class=oasis-editor-import-progress-label>`), _tmpl$2$L = /* @__PURE__ */ template(`<div role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-progress-track><div>`), _tmpl$3$x = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>Done`);
2660
2714
  function OasisEditorLoading(props) {
2661
2715
  const t = useI18n();
2662
2716
  const variant = () => props.variant ?? "overlay";
@@ -2666,7 +2720,7 @@ function OasisEditorLoading(props) {
2666
2720
  };
2667
2721
  const isDone = () => (pct() ?? 0) >= 100;
2668
2722
  return (() => {
2669
- var _el$ = _tmpl$2$K(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2723
+ var _el$ = _tmpl$2$L(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild;
2670
2724
  insert(_el$2, createComponent(OasisBrandMark, {
2671
2725
  height: 40,
2672
2726
  "class": "oasis-editor-loading-mark"
@@ -2677,10 +2731,10 @@ function OasisEditorLoading(props) {
2677
2731
  return pct() != null;
2678
2732
  },
2679
2733
  get children() {
2680
- var _el$6 = _tmpl$$19();
2734
+ var _el$6 = _tmpl$$1a();
2681
2735
  insert(_el$6, (() => {
2682
2736
  var _c$ = memo(() => !!isDone());
2683
- return () => _c$() ? _tmpl$3$w() : `${pct()}%`;
2737
+ return () => _c$() ? _tmpl$3$x() : `${pct()}%`;
2684
2738
  })());
2685
2739
  return _el$6;
2686
2740
  }
@@ -2731,7 +2785,7 @@ function OasisEditorAppLazy(props = {}) {
2731
2785
  onCleanup(() => {
2732
2786
  cancelled = true;
2733
2787
  });
2734
- import("./OasisEditorApp-DM9mi2EU.js").then((m) => {
2788
+ import("./OasisEditorApp-B1b1iJOQ.js").then((m) => {
2735
2789
  cancelled = true;
2736
2790
  setProgress(1);
2737
2791
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -4450,23 +4504,39 @@ function normalizeDocument(document2) {
4450
4504
  function validateDocument(document2) {
4451
4505
  var _a2, _b2;
4452
4506
  const errors2 = [];
4453
- if (!document2 || !document2.id || !((_a2 = document2.sections) == null ? void 0 : _a2.length)) errors2.push("Document must have an id and section");
4507
+ if (!document2 || !document2.id || !((_a2 = document2.sections) == null ? void 0 : _a2.length))
4508
+ errors2.push("Document must have an id and section");
4454
4509
  const ids = /* @__PURE__ */ new Set();
4455
4510
  for (const paragraph of getDocumentParagraphsCanonical(document2)) {
4456
- if (ids.has(paragraph.id)) errors2.push(`Duplicate node id: ${paragraph.id}`);
4511
+ if (ids.has(paragraph.id))
4512
+ errors2.push(`Duplicate node id: ${paragraph.id}`);
4457
4513
  ids.add(paragraph.id);
4458
- if (!((_b2 = paragraph.runs) == null ? void 0 : _b2.length)) errors2.push(`Paragraph has no runs: ${paragraph.id}`);
4514
+ if (!((_b2 = paragraph.runs) == null ? void 0 : _b2.length))
4515
+ errors2.push(`Paragraph has no runs: ${paragraph.id}`);
4459
4516
  for (const run of paragraph.runs) {
4460
4517
  if (ids.has(run.id)) errors2.push(`Duplicate node id: ${run.id}`);
4461
4518
  ids.add(run.id);
4462
4519
  }
4463
4520
  }
4464
- return errors2.length ? { ok: false, error: { code: "VALIDATION_FAILED", message: errors2.join("; "), details: errors2 } } : { ok: true, value: true, version: 0, warnings: [] };
4521
+ return errors2.length ? {
4522
+ ok: false,
4523
+ error: {
4524
+ code: "VALIDATION_FAILED",
4525
+ message: errors2.join("; "),
4526
+ details: errors2
4527
+ }
4528
+ } : { ok: true, value: true, version: 0, warnings: [] };
4465
4529
  }
4466
4530
  function createDocument(options = {}) {
4467
- return createEditorDocument(options.blocks ?? [createEditorParagraph("")], void 0, void 0, void 0, {
4468
- title: options.title ?? "Untitled document"
4469
- });
4531
+ return createEditorDocument(
4532
+ options.blocks ?? [createEditorParagraph("")],
4533
+ void 0,
4534
+ void 0,
4535
+ void 0,
4536
+ {
4537
+ title: options.title ?? "Untitled document"
4538
+ }
4539
+ );
4470
4540
  }
4471
4541
  const createParagraph = createEditorParagraph;
4472
4542
  function createHeading(text, options = {}) {
@@ -4475,20 +4545,37 @@ function createHeading(text, options = {}) {
4475
4545
  return paragraph;
4476
4546
  }
4477
4547
  function createTable(rows) {
4478
- return createEditorTable(rows.map((row) => createEditorTableRow(row.map((text) => createEditorTableCell([createEditorParagraph(text)])))));
4548
+ return createEditorTable(
4549
+ rows.map(
4550
+ (row) => createEditorTableRow(
4551
+ row.map((text) => createEditorTableCell([createEditorParagraph(text)]))
4552
+ )
4553
+ )
4554
+ );
4479
4555
  }
4480
4556
  function allNodes(document2) {
4481
- const result = [{ id: document2.id, type: "document", node: document2 }];
4557
+ const result = [
4558
+ { id: document2.id, type: "document", node: document2 }
4559
+ ];
4482
4560
  const visitBlocks2 = (blocks) => blocks.forEach((block) => {
4483
- result.push({ id: block.id, type: block.type, text: block.type === "paragraph" ? getParagraphText(block) : void 0, node: block });
4484
- if (block.type === "paragraph") block.runs.forEach((run) => result.push({ id: run.id, type: "run", text: run.text, node: run }));
4485
- else block.rows.forEach((row) => {
4486
- result.push({ id: row.id, type: "table-row", node: row });
4487
- row.cells.forEach((cell) => {
4488
- result.push({ id: cell.id, type: "table-cell", node: cell });
4489
- visitBlocks2(cell.blocks);
4490
- });
4561
+ result.push({
4562
+ id: block.id,
4563
+ type: block.type,
4564
+ text: block.type === "paragraph" ? getParagraphText(block) : void 0,
4565
+ node: block
4491
4566
  });
4567
+ if (block.type === "paragraph")
4568
+ block.runs.forEach(
4569
+ (run) => result.push({ id: run.id, type: "run", text: run.text, node: run })
4570
+ );
4571
+ else
4572
+ block.rows.forEach((row) => {
4573
+ result.push({ id: row.id, type: "table-row", node: row });
4574
+ row.cells.forEach((cell) => {
4575
+ result.push({ id: cell.id, type: "table-cell", node: cell });
4576
+ visitBlocks2(cell.blocks);
4577
+ });
4578
+ });
4492
4579
  });
4493
4580
  getDocumentSectionsCanonical(document2).forEach(
4494
4581
  (section) => visitBlocks2(section.blocks)
@@ -4498,11 +4585,17 @@ function allNodes(document2) {
4498
4585
  function resolveParagraph(document2, selector) {
4499
4586
  var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
4500
4587
  const paragraphs = getDocumentParagraphsCanonical(document2);
4501
- if ("nodeId" in selector) return paragraphs.find((p) => p.id === selector.nodeId) ?? null;
4588
+ if ("nodeId" in selector)
4589
+ return paragraphs.find((p) => p.id === selector.nodeId) ?? null;
4502
4590
  if ("text" in selector) {
4503
- const found = paragraphs.filter((p) => getParagraphText(p).includes(selector.text));
4591
+ const found = paragraphs.filter(
4592
+ (p) => getParagraphText(p).includes(selector.text)
4593
+ );
4504
4594
  const index = selector.occurrence ?? 0;
4505
- if (found.length !== 1 && selector.occurrence === void 0) throw new Error(found.length > 1 ? "AMBIGUOUS_SELECTOR" : "NODE_NOT_FOUND");
4595
+ if (found.length !== 1 && selector.occurrence === void 0)
4596
+ throw new Error(
4597
+ found.length > 1 ? "AMBIGUOUS_SELECTOR" : "NODE_NOT_FOUND"
4598
+ );
4506
4599
  return found[index] ?? null;
4507
4600
  }
4508
4601
  if ("headingPath" in selector) {
@@ -4513,29 +4606,45 @@ function resolveParagraph(document2, selector) {
4513
4606
  })[index] ?? null;
4514
4607
  }
4515
4608
  if ("bookmark" in selector) {
4516
- const bookmark = ((_a2 = document2.bookmarks) == null ? void 0 : _a2.items[selector.bookmark]) ?? Object.values(((_b2 = document2.bookmarks) == null ? void 0 : _b2.items) ?? {}).find((item) => item.name === selector.bookmark);
4609
+ const bookmark = ((_a2 = document2.bookmarks) == null ? void 0 : _a2.items[selector.bookmark]) ?? Object.values(((_b2 = document2.bookmarks) == null ? void 0 : _b2.items) ?? {}).find(
4610
+ (item) => item.name === selector.bookmark
4611
+ );
4517
4612
  const paragraphId = (_c = bookmark == null ? void 0 : bookmark.start) == null ? void 0 : _c.paragraphId;
4518
4613
  return paragraphId ? paragraphs.find((p) => p.id === paragraphId) ?? null : null;
4519
4614
  }
4520
4615
  if ("contentControlTag" in selector) {
4521
- const tagged = paragraphs.find((p) => {
4522
- var _a3;
4523
- return (_a3 = p.sdtWrappers) == null ? void 0 : _a3.some((wrapper) => wrapper.sdtPr.tag === selector.contentControlTag || wrapper.sdtPr.alias === selector.contentControlTag);
4524
- });
4616
+ const tagged = paragraphs.find(
4617
+ (p) => {
4618
+ var _a3;
4619
+ return (_a3 = p.sdtWrappers) == null ? void 0 : _a3.some(
4620
+ (wrapper) => wrapper.sdtPr.tag === selector.contentControlTag || wrapper.sdtPr.alias === selector.contentControlTag
4621
+ );
4622
+ }
4623
+ );
4525
4624
  if (tagged) return tagged;
4526
- const taggedTable = allNodes(document2).find((node) => {
4527
- var _a3;
4528
- return node.type === "table" && ((_a3 = node.node.sdtWrappers) == null ? void 0 : _a3.some((wrapper) => {
4529
- var _a4, _b3;
4530
- return ((_a4 = wrapper.sdtPr) == null ? void 0 : _a4.tag) === selector.contentControlTag || ((_b3 = wrapper.sdtPr) == null ? void 0 : _b3.alias) === selector.contentControlTag;
4531
- }));
4532
- });
4533
- const firstCellParagraph2 = (_i = (_h = (_g = (_f = (_e = (_d = taggedTable == null ? void 0 : taggedTable.node) == null ? void 0 : _d.rows) == null ? void 0 : _e[0]) == null ? void 0 : _f.cells) == null ? void 0 : _g[0]) == null ? void 0 : _h.blocks) == null ? void 0 : _i.find((block) => block.type === "paragraph");
4625
+ const taggedTable = allNodes(document2).find(
4626
+ (node) => {
4627
+ var _a3;
4628
+ return node.type === "table" && ((_a3 = node.node.sdtWrappers) == null ? void 0 : _a3.some(
4629
+ (wrapper) => {
4630
+ var _a4, _b3;
4631
+ return ((_a4 = wrapper.sdtPr) == null ? void 0 : _a4.tag) === selector.contentControlTag || ((_b3 = wrapper.sdtPr) == null ? void 0 : _b3.alias) === selector.contentControlTag;
4632
+ }
4633
+ ));
4634
+ }
4635
+ );
4636
+ const firstCellParagraph2 = (_i = (_h = (_g = (_f = (_e = (_d = taggedTable == null ? void 0 : taggedTable.node) == null ? void 0 : _d.rows) == null ? void 0 : _e[0]) == null ? void 0 : _f.cells) == null ? void 0 : _g[0]) == null ? void 0 : _h.blocks) == null ? void 0 : _i.find(
4637
+ (block) => block.type === "paragraph"
4638
+ );
4534
4639
  return firstCellParagraph2 ?? null;
4535
4640
  }
4536
4641
  if ("tableId" in selector) {
4537
- const table = (_j = allNodes(document2).find((n2) => n2.id === selector.tableId && n2.type === "table")) == null ? void 0 : _j.node;
4538
- return ((_l = (_k = table == null ? void 0 : table.rows[selector.row]) == null ? void 0 : _k.cells[selector.column]) == null ? void 0 : _l.blocks.find((b) => b.type === "paragraph")) ?? null;
4642
+ const table = (_j = allNodes(document2).find(
4643
+ (n2) => n2.id === selector.tableId && n2.type === "table"
4644
+ )) == null ? void 0 : _j.node;
4645
+ return ((_l = (_k = table == null ? void 0 : table.rows[selector.row]) == null ? void 0 : _k.cells[selector.column]) == null ? void 0 : _l.blocks.find(
4646
+ (b) => b.type === "paragraph"
4647
+ )) ?? null;
4539
4648
  }
4540
4649
  return null;
4541
4650
  }
@@ -4547,36 +4656,69 @@ function replaceParagraph(document2, id, update) {
4547
4656
  blocks[i] = update(block);
4548
4657
  return true;
4549
4658
  }
4550
- if (block.type === "table" && block.rows.some((r) => r.cells.some((c) => visit(c.blocks)))) return true;
4659
+ if (block.type === "table" && block.rows.some((r) => r.cells.some((c) => visit(c.blocks))))
4660
+ return true;
4551
4661
  }
4552
4662
  return false;
4553
4663
  };
4554
- getDocumentSectionsCanonical(document2).some((section) => visit(section.blocks));
4664
+ getDocumentSectionsCanonical(document2).some(
4665
+ (section) => visit(section.blocks)
4666
+ );
4555
4667
  }
4556
4668
  function queryDocument(document2) {
4557
4669
  const outline = () => getDocumentParagraphsCanonical(document2).flatMap((p) => {
4558
4670
  var _a2, _b2;
4559
4671
  const match = (_b2 = (_a2 = p.style) == null ? void 0 : _a2.styleId) == null ? void 0 : _b2.match(/^heading(\d+)$/);
4560
- return match ? [{ id: p.id, level: Number(match[1]), text: getParagraphText(p), path: [getParagraphText(p)] }] : [];
4672
+ return match ? [
4673
+ {
4674
+ id: p.id,
4675
+ level: Number(match[1]),
4676
+ text: getParagraphText(p),
4677
+ path: [getParagraphText(p)]
4678
+ }
4679
+ ] : [];
4561
4680
  });
4562
4681
  return {
4563
- snapshot: () => ({ schemaVersion: document2.schemaVersion ?? EDITOR_SCHEMA_VERSION, documentId: document2.id, text: getDocumentParagraphsCanonical(document2).map(getParagraphText).join("\n"), outline: outline(), nodes: allNodes(document2) }),
4682
+ snapshot: () => ({
4683
+ schemaVersion: document2.schemaVersion ?? EDITOR_SCHEMA_VERSION,
4684
+ documentId: document2.id,
4685
+ text: getDocumentParagraphsCanonical(document2).map(getParagraphText).join("\n"),
4686
+ outline: outline(),
4687
+ nodes: allNodes(document2)
4688
+ }),
4564
4689
  getText: (target) => {
4565
4690
  var _a2;
4566
- if (!target) return getDocumentParagraphsCanonical(document2).map(getParagraphText).join("\n");
4567
- if ("start" in target) return ((_a2 = getDocumentParagraphsCanonical(document2).find((p) => p.id === target.start.paragraphId)) == null ? void 0 : _a2.runs.map((r) => r.text).join("")) ?? "";
4568
- return getParagraphText(resolveParagraph(document2, target) ?? createEditorParagraph(""));
4691
+ if (!target)
4692
+ return getDocumentParagraphsCanonical(document2).map(getParagraphText).join("\n");
4693
+ if ("start" in target)
4694
+ return ((_a2 = getDocumentParagraphsCanonical(document2).find((p) => p.id === target.start.paragraphId)) == null ? void 0 : _a2.runs.map((r) => r.text).join("")) ?? "";
4695
+ return getParagraphText(
4696
+ resolveParagraph(document2, target) ?? createEditorParagraph("")
4697
+ );
4569
4698
  },
4570
4699
  getNode: (selector) => {
4571
4700
  const paragraph = resolveParagraph(document2, selector);
4572
- return paragraph ? { id: paragraph.id, type: "paragraph", text: getParagraphText(paragraph), node: paragraph } : allNodes(document2).find((n2) => "nodeId" in selector && n2.id === selector.nodeId) ?? null;
4701
+ return paragraph ? {
4702
+ id: paragraph.id,
4703
+ type: "paragraph",
4704
+ text: getParagraphText(paragraph),
4705
+ node: paragraph
4706
+ } : allNodes(document2).find(
4707
+ (n2) => "nodeId" in selector && n2.id === selector.nodeId
4708
+ ) ?? null;
4573
4709
  },
4574
4710
  find: (text) => getDocumentParagraphsCanonical(document2).flatMap((p) => {
4575
4711
  const value = getParagraphText(p);
4576
4712
  const matches = [];
4577
4713
  let start = value.indexOf(text);
4578
4714
  while (start >= 0) {
4579
- matches.push({ selector: { nodeId: p.id }, paragraphId: p.id, text, start, end: start + text.length });
4715
+ matches.push({
4716
+ selector: { nodeId: p.id },
4717
+ paragraphId: p.id,
4718
+ text,
4719
+ start,
4720
+ end: start + text.length
4721
+ });
4580
4722
  start = value.indexOf(text, start + Math.max(1, text.length));
4581
4723
  }
4582
4724
  return matches;
@@ -4597,26 +4739,50 @@ function applyDocumentOperations(document2, operations) {
4597
4739
  const old = getParagraphText(paragraph);
4598
4740
  const offset = operation.op === "replaceText" ? 0 : Math.min(operation.offset ?? old.length, old.length);
4599
4741
  const text = operation.op === "replaceText" ? operation.text : old.slice(0, offset) + operation.text + old.slice(offset);
4600
- replaceParagraph(next, paragraph.id, (p) => ({ ...p, runs: [{ ...p.runs[0], text }] }));
4742
+ replaceParagraph(next, paragraph.id, (p) => ({
4743
+ ...p,
4744
+ runs: [{ ...p.runs[0], text }]
4745
+ }));
4601
4746
  changedNodeIds.push(paragraph.id);
4602
4747
  } else if (operation.op === "deleteRange") {
4603
- if (operation.range.start.paragraphId !== operation.range.end.paragraphId) throw new Error("INVALID_RANGE");
4604
- const paragraph = getDocumentParagraphsCanonical(next).find((p) => p.id === operation.range.start.paragraphId);
4748
+ if (operation.range.start.paragraphId !== operation.range.end.paragraphId)
4749
+ throw new Error("INVALID_RANGE");
4750
+ const paragraph = getDocumentParagraphsCanonical(next).find(
4751
+ (p) => p.id === operation.range.start.paragraphId
4752
+ );
4605
4753
  if (!paragraph) throw new Error("NODE_NOT_FOUND");
4606
4754
  const text = getParagraphText(paragraph);
4607
- const start = Math.max(0, Math.min(operation.range.start.offset, text.length));
4608
- const end = Math.max(start, Math.min(operation.range.end.offset, text.length));
4609
- replaceParagraph(next, paragraph.id, (p) => ({ ...p, runs: [{ ...p.runs[0], text: text.slice(0, start) + text.slice(end) }] }));
4755
+ const start = Math.max(
4756
+ 0,
4757
+ Math.min(operation.range.start.offset, text.length)
4758
+ );
4759
+ const end = Math.max(
4760
+ start,
4761
+ Math.min(operation.range.end.offset, text.length)
4762
+ );
4763
+ replaceParagraph(next, paragraph.id, (p) => ({
4764
+ ...p,
4765
+ runs: [{ ...p.runs[0], text: text.slice(0, start) + text.slice(end) }]
4766
+ }));
4610
4767
  changedNodeIds.push(paragraph.id);
4611
4768
  } else if (operation.op === "setParagraphStyle") {
4612
4769
  const paragraph = resolveParagraph(next, operation.target);
4613
4770
  if (!paragraph) throw new Error("NODE_NOT_FOUND");
4614
- replaceParagraph(next, paragraph.id, (p) => ({ ...p, style: operation.style }));
4771
+ replaceParagraph(next, paragraph.id, (p) => ({
4772
+ ...p,
4773
+ style: operation.style
4774
+ }));
4615
4775
  changedNodeIds.push(paragraph.id);
4616
4776
  } else if (operation.op === "setTextStyle") {
4617
4777
  const paragraph = resolveParagraph(next, operation.target);
4618
4778
  if (!paragraph) throw new Error("NODE_NOT_FOUND");
4619
- replaceParagraph(next, paragraph.id, (p) => ({ ...p, runs: p.runs.map((r) => ({ ...r, styles: { ...r.styles, ...operation.style } })) }));
4779
+ replaceParagraph(next, paragraph.id, (p) => ({
4780
+ ...p,
4781
+ runs: p.runs.map((r) => ({
4782
+ ...r,
4783
+ styles: { ...r.styles, ...operation.style }
4784
+ }))
4785
+ }));
4620
4786
  changedNodeIds.push(paragraph.id);
4621
4787
  } else if (operation.op === "insertParagraph" || operation.op === "insertBlocks" || operation.op === "insertTable") {
4622
4788
  const blocks = operation.op === "insertParagraph" ? [createEditorParagraph(operation.text ?? "")] : operation.op === "insertTable" ? [createTable(operation.rows)] : operation.blocks;
@@ -4626,10 +4792,15 @@ function applyDocumentOperations(document2, operations) {
4626
4792
  changedNodeIds.push(b.id);
4627
4793
  });
4628
4794
  } else if (operation.op === "updateTableCell") {
4629
- const table = (_a2 = allNodes(next).find((n2) => n2.id === operation.target.tableId && n2.type === "table")) == null ? void 0 : _a2.node;
4795
+ const table = (_a2 = allNodes(next).find(
4796
+ (n2) => n2.id === operation.target.tableId && n2.type === "table"
4797
+ )) == null ? void 0 : _a2.node;
4630
4798
  const paragraph = (_c = (_b2 = table == null ? void 0 : table.rows[operation.target.row]) == null ? void 0 : _b2.cells[operation.target.column]) == null ? void 0 : _c.blocks.find((b) => b.type === "paragraph");
4631
4799
  if (!paragraph) throw new Error("NODE_NOT_FOUND");
4632
- replaceParagraph(next, paragraph.id, (p) => ({ ...p, runs: [{ ...p.runs[0], text: operation.text }] }));
4800
+ replaceParagraph(next, paragraph.id, (p) => ({
4801
+ ...p,
4802
+ runs: [{ ...p.runs[0], text: operation.text }]
4803
+ }));
4633
4804
  changedNodeIds.push(paragraph.id, operation.target.tableId);
4634
4805
  } else if (operation.op === "deleteNode") {
4635
4806
  const target = "nodeId" in operation.target ? operation.target.nodeId : (_d = resolveParagraph(next, operation.target)) == null ? void 0 : _d.id;
@@ -4640,15 +4811,21 @@ function applyDocumentOperations(document2, operations) {
4640
4811
  blocks.splice(index, 1);
4641
4812
  return true;
4642
4813
  }
4643
- return blocks.some((b) => b.type === "table" && b.rows.some((r) => r.cells.some((c) => remove(c.blocks))));
4814
+ return blocks.some(
4815
+ (b) => b.type === "table" && b.rows.some((r) => r.cells.some((c) => remove(c.blocks)))
4816
+ );
4644
4817
  };
4645
- if (!sections.some((section) => remove(section.blocks))) throw new Error("NODE_NOT_FOUND");
4818
+ if (!sections.some((section) => remove(section.blocks)))
4819
+ throw new Error("NODE_NOT_FOUND");
4646
4820
  changedNodeIds.push(target);
4647
4821
  } else throw new Error("UNSUPPORTED_OPERATION");
4648
4822
  }
4649
4823
  const validation = validateDocument(next);
4650
4824
  if (!validation.ok) throw new Error("VALIDATION_FAILED");
4651
- return { document: next, value: { changedNodeIds: [...new Set(changedNodeIds)], createdNodeIds } };
4825
+ return {
4826
+ document: next,
4827
+ value: { changedNodeIds: [...new Set(changedNodeIds)], createdNodeIds }
4828
+ };
4652
4829
  }
4653
4830
  function disabledCommandState() {
4654
4831
  return { isEnabled: false, isActive: false, value: void 0 };
@@ -4783,7 +4960,11 @@ function createOasisEditorClient() {
4783
4960
  },
4784
4961
  updateDocument(updater) {
4785
4962
  const currentHost = requireHost();
4786
- if (currentHost.applyTransactionalState) currentHost.applyTransactionalState((state) => ({ ...state, document: updater(state.document) }));
4963
+ if (currentHost.applyTransactionalState)
4964
+ currentHost.applyTransactionalState((state) => ({
4965
+ ...state,
4966
+ document: updater(state.document)
4967
+ }));
4787
4968
  else currentHost.setDocument(updater(currentHost.getDocument()));
4788
4969
  version2 += 1;
4789
4970
  },
@@ -4827,7 +5008,11 @@ function createOasisEditorClient() {
4827
5008
  },
4828
5009
  update: (updater) => {
4829
5010
  const currentHost = requireHost();
4830
- if (currentHost.applyTransactionalState) currentHost.applyTransactionalState((state) => ({ ...state, document: updater(state.document) }));
5011
+ if (currentHost.applyTransactionalState)
5012
+ currentHost.applyTransactionalState((state) => ({
5013
+ ...state,
5014
+ document: updater(state.document)
5015
+ }));
4831
5016
  else currentHost.setDocument(updater(currentHost.getDocument()));
4832
5017
  version2 += 1;
4833
5018
  },
@@ -4878,17 +5063,39 @@ function createOasisEditorClient() {
4878
5063
  edit: {
4879
5064
  async apply(request) {
4880
5065
  if (request.expectedVersion !== void 0 && request.expectedVersion !== version2) {
4881
- return { ok: false, error: { code: "DOCUMENT_VERSION_CONFLICT", message: "Document version does not match expectedVersion", expectedVersion: request.expectedVersion, actualVersion: version2 } };
5066
+ return {
5067
+ ok: false,
5068
+ error: {
5069
+ code: "DOCUMENT_VERSION_CONFLICT",
5070
+ message: "Document version does not match expectedVersion",
5071
+ expectedVersion: request.expectedVersion,
5072
+ actualVersion: version2
5073
+ }
5074
+ };
4882
5075
  }
4883
- if (request.idempotencyKey && idempotent.has(request.idempotencyKey)) return idempotent.get(request.idempotencyKey);
5076
+ if (request.idempotencyKey && idempotent.has(request.idempotencyKey))
5077
+ return idempotent.get(request.idempotencyKey);
4884
5078
  const host2 = requireHost();
4885
5079
  try {
4886
- const applied = applyDocumentOperations(host2.getDocument(), request.operations);
4887
- if (host2.applyTransactionalState) host2.applyTransactionalState((state) => ({ ...state, document: applied.document }));
5080
+ const applied = applyDocumentOperations(
5081
+ host2.getDocument(),
5082
+ request.operations
5083
+ );
5084
+ if (host2.applyTransactionalState)
5085
+ host2.applyTransactionalState((state) => ({
5086
+ ...state,
5087
+ document: applied.document
5088
+ }));
4888
5089
  else host2.setDocument(applied.document);
4889
5090
  version2 += 1;
4890
- const result = { ok: true, value: applied.value, version: version2, warnings: [] };
4891
- if (request.idempotencyKey) idempotent.set(request.idempotencyKey, result);
5091
+ const result = {
5092
+ ok: true,
5093
+ value: applied.value,
5094
+ version: version2,
5095
+ warnings: []
5096
+ };
5097
+ if (request.idempotencyKey)
5098
+ idempotent.set(request.idempotencyKey, result);
4892
5099
  return result;
4893
5100
  } catch (error) {
4894
5101
  const message = error instanceof Error ? error.message : "Edit failed";
@@ -4900,26 +5107,53 @@ function createOasisEditorClient() {
4900
5107
  io: {
4901
5108
  async import(request) {
4902
5109
  var _a2, _b2;
4903
- if ((_a2 = request.signal) == null ? void 0 : _a2.aborted) return { ok: false, error: { code: "ABORTED", message: "Import aborted" } };
5110
+ if ((_a2 = request.signal) == null ? void 0 : _a2.aborted)
5111
+ return {
5112
+ ok: false,
5113
+ error: { code: "ABORTED", message: "Import aborted" }
5114
+ };
4904
5115
  try {
4905
5116
  const data = request.data instanceof Blob ? request.data : new Blob([
4906
5117
  request.data instanceof Uint8Array ? Uint8Array.from(request.data).buffer : request.data
4907
5118
  ]);
4908
- const file = new File([data], request.filename ?? "document.docx", { type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" });
5119
+ const file = new File([data], request.filename ?? "document.docx", {
5120
+ type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
5121
+ });
4909
5122
  await requireHost().importDocx(file);
4910
5123
  version2 += 1;
4911
5124
  (_b2 = request.onProgress) == null ? void 0 : _b2.call(request, { phase: "done", progress: 100 });
4912
5125
  return { ok: true, value: { format: "docx" }, version: version2, warnings: [] };
4913
5126
  } catch (error) {
4914
- return { ok: false, error: { code: "IMPORT_FAILED", message: error instanceof Error ? error.message : "Import failed" } };
5127
+ return {
5128
+ ok: false,
5129
+ error: {
5130
+ code: "IMPORT_FAILED",
5131
+ message: error instanceof Error ? error.message : "Import failed"
5132
+ }
5133
+ };
4915
5134
  }
4916
5135
  },
4917
5136
  async export(request) {
4918
5137
  try {
4919
5138
  const value = request.format === "docx" ? await requireHost().exportDocxBlob() : await requireHost().exportPdfBlob();
4920
- return { ok: true, value: { format: request.format, blob: value, arrayBuffer: () => value.arrayBuffer() }, version: version2, warnings: [] };
5139
+ return {
5140
+ ok: true,
5141
+ value: {
5142
+ format: request.format,
5143
+ blob: value,
5144
+ arrayBuffer: () => value.arrayBuffer()
5145
+ },
5146
+ version: version2,
5147
+ warnings: []
5148
+ };
4921
5149
  } catch (error) {
4922
- return { ok: false, error: { code: "EXPORT_FAILED", message: error instanceof Error ? error.message : "Export failed" } };
5150
+ return {
5151
+ ok: false,
5152
+ error: {
5153
+ code: "EXPORT_FAILED",
5154
+ message: error instanceof Error ? error.message : "Export failed"
5155
+ }
5156
+ };
4923
5157
  }
4924
5158
  }
4925
5159
  },
@@ -4938,86 +5172,122 @@ function createOasisEditorClient() {
4938
5172
  var _a2, _b2;
4939
5173
  (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { readOnly: value });
4940
5174
  },
4941
- zoom: { get: () => {
4942
- var _a2, _b2;
4943
- return ((_b2 = (_a2 = requireHost()).getZoom) == null ? void 0 : _b2.call(_a2)) ?? 100;
4944
- }, set: (value) => {
4945
- var _a2, _b2;
4946
- return (_b2 = (_a2 = requireHost()).setZoom) == null ? void 0 : _b2.call(_a2, value);
4947
- }, adjust: (delta) => {
4948
- var _a2, _b2;
4949
- return (_b2 = (_a2 = requireHost()).adjustZoom) == null ? void 0 : _b2.call(_a2, delta);
4950
- } },
4951
- chrome: { setVisible: (value) => {
4952
- var _a2, _b2;
4953
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showChrome: value });
4954
- } },
4955
- titleBar: { setVisible: (value) => {
4956
- var _a2, _b2;
4957
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showTitleBar: value });
4958
- } },
4959
- menubar: { setVisible: (value) => {
4960
- var _a2, _b2;
4961
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showMenubar: value });
4962
- }, items: { register: (...args) => {
4963
- var _a2;
4964
- return (_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.register(...args);
4965
- }, unregister: (id) => {
4966
- var _a2;
4967
- return (_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.unregister(id);
4968
- }, getItems: () => {
4969
- var _a2;
4970
- return ((_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.getItems()) ?? [];
4971
- } } },
4972
- toolbar: { setVisible: (value) => {
4973
- var _a2, _b2;
4974
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showToolbar: value });
4975
- }, items: { register: (...args) => {
4976
- var _a2;
4977
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.register(...args);
4978
- }, insertBefore: (...args) => {
4979
- var _a2;
4980
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.insertBefore(...args);
4981
- }, insertAfter: (...args) => {
4982
- var _a2;
4983
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.insertAfter(...args);
4984
- }, replace: (...args) => {
4985
- var _a2;
4986
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.replace(...args);
4987
- }, remove: (id) => {
4988
- var _a2;
4989
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.remove(id);
4990
- }, move: (...args) => {
4991
- var _a2;
4992
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.move(...args);
4993
- }, get: (id) => {
4994
- var _a2;
4995
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.get(id);
4996
- }, getOrdered: () => {
4997
- var _a2;
4998
- return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.getOrdered()) ?? [];
4999
- }, getItems: () => {
5000
- var _a2;
5001
- return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.getItems()) ?? [];
5002
- }, clear: () => {
5003
- var _a2;
5004
- return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.clear();
5005
- }, onChange: (cb) => {
5006
- var _a2;
5007
- return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.onChange(cb)) ?? (() => void 0);
5008
- } } },
5009
- outline: { setVisible: (value) => {
5010
- var _a2, _b2;
5011
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showOutline: value });
5012
- } },
5013
- shell: { set: (shell) => {
5014
- var _a2, _b2;
5015
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { shell });
5016
- } },
5017
- locale: { set: (locale) => {
5018
- var _a2, _b2;
5019
- (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { locale });
5020
- } }
5175
+ zoom: {
5176
+ get: () => {
5177
+ var _a2, _b2;
5178
+ return ((_b2 = (_a2 = requireHost()).getZoom) == null ? void 0 : _b2.call(_a2)) ?? 100;
5179
+ },
5180
+ set: (value) => {
5181
+ var _a2, _b2;
5182
+ return (_b2 = (_a2 = requireHost()).setZoom) == null ? void 0 : _b2.call(_a2, value);
5183
+ },
5184
+ adjust: (delta) => {
5185
+ var _a2, _b2;
5186
+ return (_b2 = (_a2 = requireHost()).adjustZoom) == null ? void 0 : _b2.call(_a2, delta);
5187
+ }
5188
+ },
5189
+ chrome: {
5190
+ setVisible: (value) => {
5191
+ var _a2, _b2;
5192
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showChrome: value });
5193
+ }
5194
+ },
5195
+ titleBar: {
5196
+ setVisible: (value) => {
5197
+ var _a2, _b2;
5198
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showTitleBar: value });
5199
+ }
5200
+ },
5201
+ menubar: {
5202
+ setVisible: (value) => {
5203
+ var _a2, _b2;
5204
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showMenubar: value });
5205
+ },
5206
+ items: {
5207
+ register: (...args) => {
5208
+ var _a2;
5209
+ return (_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.register(...args);
5210
+ },
5211
+ unregister: (id) => {
5212
+ var _a2;
5213
+ return (_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.unregister(id);
5214
+ },
5215
+ getItems: () => {
5216
+ var _a2;
5217
+ return ((_a2 = requireHost().menuRegistry) == null ? void 0 : _a2.getItems()) ?? [];
5218
+ }
5219
+ }
5220
+ },
5221
+ toolbar: {
5222
+ setVisible: (value) => {
5223
+ var _a2, _b2;
5224
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showToolbar: value });
5225
+ },
5226
+ items: {
5227
+ register: (...args) => {
5228
+ var _a2;
5229
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.register(...args);
5230
+ },
5231
+ insertBefore: (...args) => {
5232
+ var _a2;
5233
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.insertBefore(...args);
5234
+ },
5235
+ insertAfter: (...args) => {
5236
+ var _a2;
5237
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.insertAfter(...args);
5238
+ },
5239
+ replace: (...args) => {
5240
+ var _a2;
5241
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.replace(...args);
5242
+ },
5243
+ remove: (id) => {
5244
+ var _a2;
5245
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.remove(id);
5246
+ },
5247
+ move: (...args) => {
5248
+ var _a2;
5249
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.move(...args);
5250
+ },
5251
+ get: (id) => {
5252
+ var _a2;
5253
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.get(id);
5254
+ },
5255
+ getOrdered: () => {
5256
+ var _a2;
5257
+ return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.getOrdered()) ?? [];
5258
+ },
5259
+ getItems: () => {
5260
+ var _a2;
5261
+ return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.getItems()) ?? [];
5262
+ },
5263
+ clear: () => {
5264
+ var _a2;
5265
+ return (_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.clear();
5266
+ },
5267
+ onChange: (cb) => {
5268
+ var _a2;
5269
+ return ((_a2 = requireHost().toolbarRegistry) == null ? void 0 : _a2.onChange(cb)) ?? (() => void 0);
5270
+ }
5271
+ }
5272
+ },
5273
+ outline: {
5274
+ setVisible: (value) => {
5275
+ var _a2, _b2;
5276
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { showOutline: value });
5277
+ }
5278
+ },
5279
+ shell: {
5280
+ set: (shell) => {
5281
+ var _a2, _b2;
5282
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { shell });
5283
+ }
5284
+ },
5285
+ locale: {
5286
+ set: (locale) => {
5287
+ var _a2, _b2;
5288
+ (_b2 = (_a2 = requireHost()).updateUiState) == null ? void 0 : _b2.call(_a2, { locale });
5289
+ }
5290
+ }
5021
5291
  },
5022
5292
  on: addListener,
5023
5293
  once(event, callback) {
@@ -5795,6 +6065,7 @@ function createEditorCommandBus(editor) {
5795
6065
  const OASIS_BUILTIN_COMMANDS = [
5796
6066
  "selectAll",
5797
6067
  "insertFootnote",
6068
+ "insertText",
5798
6069
  "insertTableOfContents",
5799
6070
  "updateTableOfContents",
5800
6071
  "pastePlainText",
@@ -5840,6 +6111,7 @@ const OASIS_BUILTIN_COMMANDS = [
5840
6111
  "documentStyles",
5841
6112
  "print",
5842
6113
  "copy",
6114
+ "newDocument",
5843
6115
  "exportDocx",
5844
6116
  "exportPdf",
5845
6117
  "importDocument",
@@ -5904,7 +6176,8 @@ const OASIS_BUILTIN_COMMANDS = [
5904
6176
  "tableDistributeColumns",
5905
6177
  "tableDistributeRows",
5906
6178
  "insertTable",
5907
- "insertShape"
6179
+ "insertShape",
6180
+ "openSymbolDialog"
5908
6181
  ];
5909
6182
  function mount(target, props = {}) {
5910
6183
  const client = createOasisEditorClient();
@@ -5925,10 +6198,10 @@ function mount(target, props = {}) {
5925
6198
  unmount: () => client.dispose()
5926
6199
  });
5927
6200
  }
5928
- var _tmpl$$18 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg aria-hidden=true>`), _tmpl$2$J = /* @__PURE__ */ template(`<svg><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</svg>`, false, true, false), _tmpl$3$v = /* @__PURE__ */ template(`<svg><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1</svg>`, false, true, false), _tmpl$4$l = /* @__PURE__ */ template(`<svg><g><path d="M3.375 4.875 L7.125 8.625 L3.375 12.375 L2.25 11.25 L4.875 8.625 L2.25 6 Z"></path><rect x=10.125 y=6 width=9 height=1.6875 rx=0.25></rect><rect x=5.625 y=10.875 width=13.5 height=1.6875 rx=0.25></rect><rect x=5.625 y=15.75 width=13.5 height=1.6875 rx=0.25></svg>`, false, true, false), _tmpl$5$d = /* @__PURE__ */ template(`<svg><polyline points="4 7 7 4 10 7"></svg>`, false, true, false), _tmpl$6$a = /* @__PURE__ */ template(`<svg><line x1=7 y1=4 x2=7 y2=20></svg>`, false, true, false), _tmpl$7$5 = /* @__PURE__ */ template(`<svg><polyline points="4 17 7 20 10 17"></svg>`, false, true, false), _tmpl$8$3 = /* @__PURE__ */ template(`<svg><line x1=13 y1=6 x2=21 y2=6></svg>`, false, true, false), _tmpl$9$1 = /* @__PURE__ */ template(`<svg><line x1=13 y1=12 x2=21 y2=12></svg>`, false, true, false), _tmpl$0$1 = /* @__PURE__ */ template(`<svg><line x1=13 y1=18 x2=21 y2=18></svg>`, false, true, false), _tmpl$1$1 = /* @__PURE__ */ template(`<svg><rect x=5.25 y=5.25 width=13.5 height=13.5 rx=0.7></svg>`, false, true, false), _tmpl$10 = /* @__PURE__ */ template(`<svg><path d="M9.75 5.25v13.5M14.25 5.25v13.5M5.25 9.75h13.5M5.25 14.25h13.5"></svg>`, false, true, false), _tmpl$11 = /* @__PURE__ */ template(`<svg><path d="M12 1.75v3M10.5 3.25 12 1.75l1.5 1.5"></svg>`, false, true, false), _tmpl$12 = /* @__PURE__ */ template(`<svg><path d="M5.25 8h13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$13 = /* @__PURE__ */ template(`<svg><path d="M12 22.25v-3M10.5 20.75 12 22.25l1.5-1.5"></svg>`, false, true, false), _tmpl$14 = /* @__PURE__ */ template(`<svg><path d="M5.25 16h13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$15 = /* @__PURE__ */ template(`<svg><path d="M4.5 12h15"stroke=#d14343 stroke-width=2.6></svg>`, false, true, false), _tmpl$16 = /* @__PURE__ */ template(`<svg><path d="M1.75 12h3M3.25 10.5 1.75 12l1.5 1.5"></svg>`, false, true, false), _tmpl$17 = /* @__PURE__ */ template(`<svg><path d="M8 5.25v13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$18 = /* @__PURE__ */ template(`<svg><path d="M22.25 12h-3M20.75 10.5l1.5 1.5-1.5 1.5"></svg>`, false, true, false), _tmpl$19 = /* @__PURE__ */ template(`<svg><path d="M16 5.25v13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$20 = /* @__PURE__ */ template(`<svg><path d="M12 4.5v15"stroke=#d14343 stroke-width=2.6></svg>`, false, true, false), _tmpl$21 = /* @__PURE__ */ template(`<svg><path d="M7.25 12h9.5M9.25 10l-2 2 2 2M14.75 10l2 2-2 2"stroke-width=2></svg>`, false, true, false), _tmpl$22 = /* @__PURE__ */ template(`<svg><path d="M12 8v8M10 10l2-2 2 2M10 14l2 2 2-2"stroke-width=2></svg>`, false, true, false), _tmpl$23 = /* @__PURE__ */ template(`<svg><path d="M3 21h18M4.5 19.5 3 21l1.5 1.5M19.5 19.5 21 21l-1.5 1.5"></svg>`, false, true, false), _tmpl$24 = /* @__PURE__ */ template(`<svg><path d="M2.5 6h19M2.5 18h19M12 1.75v2.5M10.5 3.25 12 1.75l1.5 1.5M12 22.25v-2.5M10.5 20.75 12 22.25l1.5-1.5"></svg>`, false, true, false), _tmpl$25 = /* @__PURE__ */ template(`<svg><path d="M6 2.5v19M18 2.5v19M1.75 12h2.5M3.25 10.5 1.75 12l1.5 1.5M22.25 12h-2.5M20.75 10.5l1.5 1.5-1.5 1.5"></svg>`, false, true, false), _tmpl$26 = /* @__PURE__ */ template(`<svg><path d="M2 21h20M5 19 2 21l3 2M19 19l3 2-3 2M8 12h8M10 10l-2 2 2 2M14 10l2 2-2 2"></svg>`, false, true, false), _tmpl$27 = /* @__PURE__ */ template(`<svg><rect x=4 y=4 width=16 height=16 rx=0.8></svg>`, false, true, false), _tmpl$28 = /* @__PURE__ */ template(`<svg><path></svg>`, false, true, false), _tmpl$29 = /* @__PURE__ */ template(`<svg><path d="M3 3l18 18"stroke-width=2></svg>`, false, true, false), _tmpl$30 = /* @__PURE__ */ template(`<svg><rect x=5 y=5 width=14 height=14 rx=0.8 stroke-dasharray="2.5 2"></svg>`, false, true, false), _tmpl$31 = /* @__PURE__ */ template(`<svg><path d="M3 3l18 18"stroke=#d14343 stroke-width=2.1></svg>`, false, true, false), _tmpl$32 = /* @__PURE__ */ template(`<svg><polyline points="20 6 9 17 4 12"></svg>`, false, true, false), _tmpl$33 = /* @__PURE__ */ template(`<i>`);
6201
+ var _tmpl$$19 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg aria-hidden=true>`), _tmpl$2$K = /* @__PURE__ */ template(`<svg><text x=2 y=18 font-family="'Segoe UI', Arial, sans-serif"font-size=14 font-weight=700 fill=currentColor>ab</svg>`, false, true, false), _tmpl$3$w = /* @__PURE__ */ template(`<svg><text x=15.5 y=11 font-family="'Segoe UI', Arial, sans-serif"font-size=10 font-weight=700 fill=#c00000>1</svg>`, false, true, false), _tmpl$4$l = /* @__PURE__ */ template(`<svg><g><path d="M3.375 4.875 L7.125 8.625 L3.375 12.375 L2.25 11.25 L4.875 8.625 L2.25 6 Z"></path><rect x=10.125 y=6 width=9 height=1.6875 rx=0.25></rect><rect x=5.625 y=10.875 width=13.5 height=1.6875 rx=0.25></rect><rect x=5.625 y=15.75 width=13.5 height=1.6875 rx=0.25></svg>`, false, true, false), _tmpl$5$d = /* @__PURE__ */ template(`<svg><polyline points="4 7 7 4 10 7"></svg>`, false, true, false), _tmpl$6$a = /* @__PURE__ */ template(`<svg><line x1=7 y1=4 x2=7 y2=20></svg>`, false, true, false), _tmpl$7$5 = /* @__PURE__ */ template(`<svg><polyline points="4 17 7 20 10 17"></svg>`, false, true, false), _tmpl$8$3 = /* @__PURE__ */ template(`<svg><line x1=13 y1=6 x2=21 y2=6></svg>`, false, true, false), _tmpl$9$1 = /* @__PURE__ */ template(`<svg><line x1=13 y1=12 x2=21 y2=12></svg>`, false, true, false), _tmpl$0$1 = /* @__PURE__ */ template(`<svg><line x1=13 y1=18 x2=21 y2=18></svg>`, false, true, false), _tmpl$1$1 = /* @__PURE__ */ template(`<svg><rect x=5.25 y=5.25 width=13.5 height=13.5 rx=0.7></svg>`, false, true, false), _tmpl$10 = /* @__PURE__ */ template(`<svg><path d="M9.75 5.25v13.5M14.25 5.25v13.5M5.25 9.75h13.5M5.25 14.25h13.5"></svg>`, false, true, false), _tmpl$11 = /* @__PURE__ */ template(`<svg><path d="M12 1.75v3M10.5 3.25 12 1.75l1.5 1.5"></svg>`, false, true, false), _tmpl$12 = /* @__PURE__ */ template(`<svg><path d="M5.25 8h13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$13 = /* @__PURE__ */ template(`<svg><path d="M12 22.25v-3M10.5 20.75 12 22.25l1.5-1.5"></svg>`, false, true, false), _tmpl$14 = /* @__PURE__ */ template(`<svg><path d="M5.25 16h13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$15 = /* @__PURE__ */ template(`<svg><path d="M4.5 12h15"stroke=#d14343 stroke-width=2.6></svg>`, false, true, false), _tmpl$16 = /* @__PURE__ */ template(`<svg><path d="M1.75 12h3M3.25 10.5 1.75 12l1.5 1.5"></svg>`, false, true, false), _tmpl$17 = /* @__PURE__ */ template(`<svg><path d="M8 5.25v13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$18 = /* @__PURE__ */ template(`<svg><path d="M22.25 12h-3M20.75 10.5l1.5 1.5-1.5 1.5"></svg>`, false, true, false), _tmpl$19 = /* @__PURE__ */ template(`<svg><path d="M16 5.25v13.5"stroke-width=2.5></svg>`, false, true, false), _tmpl$20 = /* @__PURE__ */ template(`<svg><path d="M12 4.5v15"stroke=#d14343 stroke-width=2.6></svg>`, false, true, false), _tmpl$21 = /* @__PURE__ */ template(`<svg><path d="M7.25 12h9.5M9.25 10l-2 2 2 2M14.75 10l2 2-2 2"stroke-width=2></svg>`, false, true, false), _tmpl$22 = /* @__PURE__ */ template(`<svg><path d="M12 8v8M10 10l2-2 2 2M10 14l2 2 2-2"stroke-width=2></svg>`, false, true, false), _tmpl$23 = /* @__PURE__ */ template(`<svg><path d="M3 21h18M4.5 19.5 3 21l1.5 1.5M19.5 19.5 21 21l-1.5 1.5"></svg>`, false, true, false), _tmpl$24 = /* @__PURE__ */ template(`<svg><path d="M2.5 6h19M2.5 18h19M12 1.75v2.5M10.5 3.25 12 1.75l1.5 1.5M12 22.25v-2.5M10.5 20.75 12 22.25l1.5-1.5"></svg>`, false, true, false), _tmpl$25 = /* @__PURE__ */ template(`<svg><path d="M6 2.5v19M18 2.5v19M1.75 12h2.5M3.25 10.5 1.75 12l1.5 1.5M22.25 12h-2.5M20.75 10.5l1.5 1.5-1.5 1.5"></svg>`, false, true, false), _tmpl$26 = /* @__PURE__ */ template(`<svg><path d="M2 21h20M5 19 2 21l3 2M19 19l3 2-3 2M8 12h8M10 10l-2 2 2 2M14 10l2 2-2 2"></svg>`, false, true, false), _tmpl$27 = /* @__PURE__ */ template(`<svg><rect x=4 y=4 width=16 height=16 rx=0.8></svg>`, false, true, false), _tmpl$28 = /* @__PURE__ */ template(`<svg><path></svg>`, false, true, false), _tmpl$29 = /* @__PURE__ */ template(`<svg><path d="M3 3l18 18"stroke-width=2></svg>`, false, true, false), _tmpl$30 = /* @__PURE__ */ template(`<svg><rect x=5 y=5 width=14 height=14 rx=0.8 stroke-dasharray="2.5 2"></svg>`, false, true, false), _tmpl$31 = /* @__PURE__ */ template(`<svg><path d="M3 3l18 18"stroke=#d14343 stroke-width=2.1></svg>`, false, true, false), _tmpl$32 = /* @__PURE__ */ template(`<svg><polyline points="20 6 9 17 4 12"></svg>`, false, true, false), _tmpl$33 = /* @__PURE__ */ template(`<i>`);
5929
6202
  function SvgIcon(props) {
5930
6203
  return (() => {
5931
- var _el$ = _tmpl$$18();
6204
+ var _el$ = _tmpl$$19();
5932
6205
  insert(_el$, () => props.children);
5933
6206
  createRenderEffect((_p$) => {
5934
6207
  var _v$ = props.width ?? 24, _v$2 = props.height ?? 24, _v$3 = props.viewBox ?? "0 0 24 24", _v$4 = props.fill ?? "none", _v$5 = props.stroke, _v$6 = props["stroke-width"], _v$7 = props["stroke-linecap"], _v$8 = props["stroke-linejoin"], _v$9 = props.class;
@@ -5959,7 +6232,7 @@ function SvgIcon(props) {
5959
6232
  const FootnoteIcon = () => createComponent(SvgIcon, {
5960
6233
  fill: "none",
5961
6234
  get children() {
5962
- return [_tmpl$2$J(), _tmpl$3$v()];
6235
+ return [_tmpl$2$K(), _tmpl$3$w()];
5963
6236
  }
5964
6237
  });
5965
6238
  const SpecialIndentFirstLineIcon = () => createComponent(SvgIcon, {
@@ -6136,11 +6409,11 @@ function ToolIcon(props) {
6136
6409
  children: (render2) => render2()()
6137
6410
  });
6138
6411
  }
6139
- var _tmpl$$17 = /* @__PURE__ */ template(`<button>`);
6412
+ var _tmpl$$18 = /* @__PURE__ */ template(`<button>`);
6140
6413
  function SurfaceButton(props) {
6141
6414
  const [local, others] = splitProps(props, ["type", "icon", "label", "variant", "size", "active", "class", "classList", "children"]);
6142
6415
  return (() => {
6143
- var _el$ = _tmpl$$17();
6416
+ var _el$ = _tmpl$$18();
6144
6417
  spread(_el$, mergeProps({
6145
6418
  get type() {
6146
6419
  return local.type ?? "button";
@@ -6201,7 +6474,7 @@ function Text$1(props) {
6201
6474
  }
6202
6475
  }));
6203
6476
  }
6204
- var _tmpl$$16 = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$I = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$u = /* @__PURE__ */ template(`<div class=oasis-menubar-menu>`), _tmpl$4$k = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$c = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$6$9 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`);
6477
+ var _tmpl$$17 = /* @__PURE__ */ template(`<div class=oasis-menubar role=menubar>`), _tmpl$2$J = /* @__PURE__ */ template(`<div class=oasis-menubar-dropdown role=menu>`), _tmpl$3$v = /* @__PURE__ */ template(`<div class=oasis-menubar-menu>`), _tmpl$4$k = /* @__PURE__ */ template(`<div class=oasis-menubar-separator role=separator>`), _tmpl$5$c = /* @__PURE__ */ template(`<i class=oasis-menubar-submenu-icon data-lucide=chevron-right>`), _tmpl$6$9 = /* @__PURE__ */ template(`<div class=oasis-menubar-submenu role=menu>`);
6205
6478
  function Menubar(props) {
6206
6479
  const t = useI18n();
6207
6480
  const [activeMenu, setActiveMenu] = createSignal(null);
@@ -6269,13 +6542,13 @@ function Menubar(props) {
6269
6542
  });
6270
6543
  const topLevelItems = () => pruneTree(menuTree());
6271
6544
  return (() => {
6272
- var _el$ = _tmpl$$16();
6545
+ var _el$ = _tmpl$$17();
6273
6546
  insert(_el$, createComponent(For, {
6274
6547
  get each() {
6275
6548
  return topLevelItems();
6276
6549
  },
6277
6550
  children: (topLevel) => (() => {
6278
- var _el$2 = _tmpl$3$u();
6551
+ var _el$2 = _tmpl$3$v();
6279
6552
  _el$2.addEventListener("mouseenter", () => {
6280
6553
  if (activeMenu() && activeMenu() !== topLevel.id) {
6281
6554
  setActiveMenu(topLevel.id);
@@ -6310,7 +6583,7 @@ function Menubar(props) {
6310
6583
  return activeMenu() === topLevel.id;
6311
6584
  },
6312
6585
  get children() {
6313
- var _el$3 = _tmpl$2$I();
6586
+ var _el$3 = _tmpl$2$J();
6314
6587
  insert(_el$3, createComponent(For, {
6315
6588
  get each() {
6316
6589
  return topLevel.children;
@@ -6443,10 +6716,10 @@ function MenuNode(props) {
6443
6716
  }
6444
6717
  });
6445
6718
  }
6446
- var _tmpl$$15 = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
6719
+ var _tmpl$$16 = /* @__PURE__ */ template(`<div class=oasis-titlebar><div class=oasis-titlebar-left><div class=oasis-titlebar-menubar-slot>`);
6447
6720
  function TitleBar(props) {
6448
6721
  return (() => {
6449
- var _el$ = _tmpl$$15(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
6722
+ var _el$ = _tmpl$$16(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
6450
6723
  insert(_el$3, () => props.children);
6451
6724
  return _el$;
6452
6725
  })();
@@ -6541,7 +6814,7 @@ function getCaretRectFromSnapshot(snapshot, position2, paragraphOffset) {
6541
6814
  );
6542
6815
  return rectFromBox(slot.left, slot.top, 1, slot.height || line.height);
6543
6816
  }
6544
- var _tmpl$$14 = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$H = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$t = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
6817
+ var _tmpl$$15 = /* @__PURE__ */ template(`<span class=oasis-outline-title>`), _tmpl$2$I = /* @__PURE__ */ template(`<div class=oasis-outline-list>`), _tmpl$3$u = /* @__PURE__ */ template(`<div class=oasis-outline-panel><div class=oasis-outline-header><button class=oasis-outline-toggle><i>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=oasis-outline-empty>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=oasis-outline-item>`);
6545
6818
  function OutlinePanel(props) {
6546
6819
  const t = useI18n();
6547
6820
  const [collapsed, setCollapsed] = createSignal(props.defaultCollapsed ?? false);
@@ -6612,13 +6885,13 @@ function OutlinePanel(props) {
6612
6885
  }
6613
6886
  });
6614
6887
  return (() => {
6615
- var _el$ = _tmpl$3$t(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
6888
+ var _el$ = _tmpl$3$u(), _el$2 = _el$.firstChild, _el$4 = _el$2.firstChild, _el$5 = _el$4.firstChild;
6616
6889
  insert(_el$2, createComponent(Show, {
6617
6890
  get when() {
6618
6891
  return !collapsed();
6619
6892
  },
6620
6893
  get children() {
6621
- var _el$3 = _tmpl$$14();
6894
+ var _el$3 = _tmpl$$15();
6622
6895
  insert(_el$3, () => t("menu.view.outline") || "Outline");
6623
6896
  return _el$3;
6624
6897
  }
@@ -6629,7 +6902,7 @@ function OutlinePanel(props) {
6629
6902
  return !collapsed();
6630
6903
  },
6631
6904
  get children() {
6632
- var _el$6 = _tmpl$2$H();
6905
+ var _el$6 = _tmpl$2$I();
6633
6906
  insert(_el$6, createComponent(Show, {
6634
6907
  get when() {
6635
6908
  return items().length > 0;
@@ -6686,7 +6959,7 @@ function OutlinePanel(props) {
6686
6959
  })();
6687
6960
  }
6688
6961
  delegateEvents(["click"]);
6689
- var _tmpl$$13 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$G = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
6962
+ var _tmpl$$14 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-overflow-manager style="display:flex;align-items:center;flex:1 1 0%;min-width:0;position:relative;margin-right:8px"><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown oasis-editor-toolbar-more-measure"aria-hidden=true tabindex=-1 style=position:absolute;visibility:hidden;pointer-events:none;right:0><i data-lucide=ellipsis></i></button><div style="display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;overflow:hidden"></div><div style=flex-shrink:0;padding-left:8px;padding-right:16px;align-items:center><button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"data-testid=editor-toolbar-overflow-dropdown><i data-lucide=ellipsis></i></button></div><div class="oasis-editor-toolbar-overflow-dropdown-menu oasis-editor-toolbar-overflow-menu"style="flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;background:var(--oasis-paper);border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto">`), _tmpl$2$H = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item-wrapper style=display:flex;align-items:center;flex-shrink:0>`);
6690
6963
  function ToolbarOverflowManager(props) {
6691
6964
  const t = useI18n();
6692
6965
  const [overflowCount, setOverflowCount] = createSignal(0);
@@ -6830,7 +7103,7 @@ function ToolbarOverflowManager(props) {
6830
7103
  };
6831
7104
  };
6832
7105
  return (() => {
6833
- var _el$ = _tmpl$$13(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
7106
+ var _el$ = _tmpl$$14(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling;
6834
7107
  var _ref$ = containerRef;
6835
7108
  typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
6836
7109
  var _ref$2 = moreMeasureRef;
@@ -6842,7 +7115,7 @@ function ToolbarOverflowManager(props) {
6842
7115
  return items();
6843
7116
  },
6844
7117
  children: (item) => (() => {
6845
- var _el$7 = _tmpl$2$G();
7118
+ var _el$7 = _tmpl$2$H();
6846
7119
  insert(_el$7, item);
6847
7120
  return _el$7;
6848
7121
  })()
@@ -6918,12 +7191,12 @@ function resolveLabel(item, api) {
6918
7191
  if (item.labelKey) return api.t(item.labelKey);
6919
7192
  return void 0;
6920
7193
  }
6921
- var _tmpl$$12 = /* @__PURE__ */ template(`<span>`), _tmpl$2$F = /* @__PURE__ */ template(`<button type=button>`);
7194
+ var _tmpl$$13 = /* @__PURE__ */ template(`<span>`), _tmpl$2$G = /* @__PURE__ */ template(`<button type=button>`);
6922
7195
  function Button$1(props) {
6923
7196
  const [local, others] = splitProps(props, ["icon", "label", "active", "tooltip", "wide", "ribbonSize", "aria-label", "class", "classList"]);
6924
7197
  const ariaLabel = () => local["aria-label"] || local.tooltip || local.label || "";
6925
7198
  return (() => {
6926
- var _el$ = _tmpl$2$F();
7199
+ var _el$ = _tmpl$2$G();
6927
7200
  spread(_el$, mergeProps({
6928
7201
  get ["class"]() {
6929
7202
  return `oasis-editor-tool-button ${local.class || ""}`;
@@ -6960,7 +7233,7 @@ function Button$1(props) {
6960
7233
  return local.label;
6961
7234
  },
6962
7235
  get children() {
6963
- var _el$2 = _tmpl$$12();
7236
+ var _el$2 = _tmpl$$13();
6964
7237
  insert(_el$2, () => local.label);
6965
7238
  return _el$2;
6966
7239
  }
@@ -7042,7 +7315,7 @@ function useDismiss(options) {
7042
7315
  });
7043
7316
  });
7044
7317
  }
7045
- var _tmpl$$11 = /* @__PURE__ */ template(`<div>`);
7318
+ var _tmpl$$12 = /* @__PURE__ */ template(`<div>`);
7046
7319
  function Popover(props) {
7047
7320
  let anchorRef;
7048
7321
  let panelRef;
@@ -7059,7 +7332,7 @@ function Popover(props) {
7059
7332
  closeOnEscape: props.closeOnEscape
7060
7333
  });
7061
7334
  const panel = (portalled) => (() => {
7062
- var _el$ = _tmpl$$11();
7335
+ var _el$ = _tmpl$$12();
7063
7336
  addEventListener(_el$, "mouseleave", props.onPanelMouseLeave);
7064
7337
  var _ref$ = panelRef;
7065
7338
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
@@ -7111,25 +7384,30 @@ function Popover(props) {
7111
7384
  }
7112
7385
  })];
7113
7386
  }
7114
- var _tmpl$$10 = /* @__PURE__ */ template(`<i data-lucide=chevron-down>`);
7387
+ var _tmpl$$11 = /* @__PURE__ */ template(`<i data-lucide=chevron-down>`);
7115
7388
  function DropdownChevron(props) {
7116
7389
  return (() => {
7117
- var _el$ = _tmpl$$10();
7390
+ var _el$ = _tmpl$$11();
7118
7391
  createRenderEffect(() => className(_el$, `oasis-editor-dropdown-chevron${props.class ? ` ${props.class}` : ""}`));
7119
7392
  return _el$;
7120
7393
  })();
7121
7394
  }
7122
- var _tmpl$$$ = /* @__PURE__ */ template(`<div>`), _tmpl$2$E = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$s = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$4$i = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
7395
+ var _tmpl$$10 = /* @__PURE__ */ template(`<div>`), _tmpl$2$F = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$3$t = /* @__PURE__ */ template(`<span class=oasis-editor-tool-button-label>`), _tmpl$4$i = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-tool-button-dropdown"aria-haspopup=menu>`);
7123
7396
  function Menu(props) {
7124
7397
  const [open, setOpen] = createSignal(false);
7398
+ const updateOpen = (nextOpen) => {
7399
+ var _a2;
7400
+ setOpen(nextOpen);
7401
+ (_a2 = props.onOpenChange) == null ? void 0 : _a2.call(props, nextOpen);
7402
+ };
7125
7403
  const ariaLabel = () => props.tooltip || props.label || "";
7126
7404
  return (() => {
7127
- var _el$ = _tmpl$2$E();
7405
+ var _el$ = _tmpl$2$F();
7128
7406
  insert(_el$, createComponent(Popover, {
7129
7407
  get open() {
7130
7408
  return open();
7131
7409
  },
7132
- onOpenChange: setOpen,
7410
+ onOpenChange: updateOpen,
7133
7411
  get keepMounted() {
7134
7412
  return props.keepMounted;
7135
7413
  },
@@ -7159,7 +7437,7 @@ function Menu(props) {
7159
7437
  return props.label;
7160
7438
  },
7161
7439
  get children() {
7162
- var _el$4 = _tmpl$3$s();
7440
+ var _el$4 = _tmpl$3$t();
7163
7441
  insert(_el$4, () => props.label);
7164
7442
  return _el$4;
7165
7443
  }
@@ -7194,7 +7472,7 @@ function Menu(props) {
7194
7472
  return _el$3;
7195
7473
  })(),
7196
7474
  get children() {
7197
- var _el$2 = _tmpl$$$();
7475
+ var _el$2 = _tmpl$$10();
7198
7476
  _el$2.$$click = (event) => {
7199
7477
  const el = event.target;
7200
7478
  if (el.closest("button") && !el.closest(".oasis-editor-tool-button-dropdown") && !el.closest(".oasis-editor-toolbar-list-options")) {
@@ -7209,7 +7487,7 @@ function Menu(props) {
7209
7487
  })();
7210
7488
  }
7211
7489
  delegateEvents(["click"]);
7212
- var _tmpl$$_ = /* @__PURE__ */ template(`<select>`), _tmpl$2$D = /* @__PURE__ */ template(`<span class=oasis-editor-tool-select-ribbon-large-label>`), _tmpl$3$r = /* @__PURE__ */ template(`<div class=oasis-editor-tool-select-ribbon-large-wrap>`);
7490
+ var _tmpl$$$ = /* @__PURE__ */ template(`<select>`), _tmpl$2$E = /* @__PURE__ */ template(`<span class=oasis-editor-tool-select-ribbon-large-label>`), _tmpl$3$s = /* @__PURE__ */ template(`<div class=oasis-editor-tool-select-ribbon-large-wrap>`);
7213
7491
  function Select(props) {
7214
7492
  let selectRef;
7215
7493
  const [local, others] = splitProps(props, ["wide", "small", "class", "tooltip", "aria-label", "value", "label", "ribbonSize"]);
@@ -7225,7 +7503,7 @@ function Select(props) {
7225
7503
  }
7226
7504
  });
7227
7505
  const select = () => (() => {
7228
- var _el$ = _tmpl$$_();
7506
+ var _el$ = _tmpl$$$();
7229
7507
  var _ref$ = selectRef;
7230
7508
  typeof _ref$ === "function" ? use(_ref$, _el$) : selectRef = _el$;
7231
7509
  spread(_el$, mergeProps({
@@ -7260,13 +7538,13 @@ function Select(props) {
7260
7538
  return select();
7261
7539
  },
7262
7540
  get children() {
7263
- var _el$2 = _tmpl$3$r();
7541
+ var _el$2 = _tmpl$3$s();
7264
7542
  insert(_el$2, createComponent(Show, {
7265
7543
  get when() {
7266
7544
  return local.label;
7267
7545
  },
7268
7546
  get children() {
7269
- var _el$3 = _tmpl$2$D();
7547
+ var _el$3 = _tmpl$2$E();
7270
7548
  insert(_el$3, () => local.label);
7271
7549
  return _el$3;
7272
7550
  }
@@ -7276,15 +7554,15 @@ function Select(props) {
7276
7554
  }
7277
7555
  });
7278
7556
  }
7279
- var _tmpl$$Z = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
7557
+ var _tmpl$$_ = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-separator>`);
7280
7558
  function Separator(props) {
7281
7559
  return (() => {
7282
- var _el$ = _tmpl$$Z();
7560
+ var _el$ = _tmpl$$_();
7283
7561
  createRenderEffect((_$p) => setStyleProperty(_el$, "display", props.hidden ? "none" : void 0));
7284
7562
  return _el$;
7285
7563
  })();
7286
7564
  }
7287
- var _tmpl$$Y = /* @__PURE__ */ template(`<div><button type=button class=oasis-editor-color-split-main></button><button type=button class=oasis-editor-color-split-menu-button aria-haspopup=menu>`);
7565
+ var _tmpl$$Z = /* @__PURE__ */ template(`<div><button type=button class=oasis-editor-color-split-main></button><button type=button class=oasis-editor-color-split-menu-button aria-haspopup=menu>`);
7288
7566
  function SplitButton(props) {
7289
7567
  return createComponent(Popover, {
7290
7568
  get open() {
@@ -7303,7 +7581,7 @@ function SplitButton(props) {
7303
7581
  return props.onPanelMouseLeave;
7304
7582
  },
7305
7583
  trigger: (api) => (() => {
7306
- var _el$ = _tmpl$$Y(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
7584
+ var _el$ = _tmpl$$Z(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
7307
7585
  use((el) => api.ref(el), _el$);
7308
7586
  _el$2.$$click = () => props.onMain();
7309
7587
  insert(_el$2, () => props.mainContent);
@@ -7344,18 +7622,18 @@ function SplitButton(props) {
7344
7622
  });
7345
7623
  }
7346
7624
  delegateEvents(["click"]);
7347
- var _tmpl$$X = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-theme-grid>`), _tmpl$2$C = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-standard-grid>`), _tmpl$3$q = /* @__PURE__ */ template(`<div class=oasis-editor-color-theme-column>`), _tmpl$4$h = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-swatch>`);
7625
+ var _tmpl$$Y = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-theme-grid>`), _tmpl$2$D = /* @__PURE__ */ template(`<div class=oasis-editor-color-menu-section><div class=oasis-editor-color-menu-heading></div><div class=oasis-editor-color-standard-grid>`), _tmpl$3$r = /* @__PURE__ */ template(`<div class=oasis-editor-color-theme-column>`), _tmpl$4$h = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-swatch>`);
7348
7626
  const normalize = (value) => value.trim().toLowerCase();
7349
7627
  function ColorGrids(props) {
7350
7628
  return [(() => {
7351
- var _el$ = _tmpl$$X(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
7629
+ var _el$ = _tmpl$$Y(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
7352
7630
  insert(_el$2, () => props.themeColorsLabel);
7353
7631
  insert(_el$3, createComponent(For, {
7354
7632
  get each() {
7355
7633
  return props.palette.themeColors;
7356
7634
  },
7357
7635
  children: (theme) => (() => {
7358
- var _el$7 = _tmpl$3$q();
7636
+ var _el$7 = _tmpl$3$r();
7359
7637
  insert(_el$7, createComponent(For, {
7360
7638
  get each() {
7361
7639
  return theme.values;
@@ -7388,7 +7666,7 @@ function ColorGrids(props) {
7388
7666
  }));
7389
7667
  return _el$;
7390
7668
  })(), (() => {
7391
- var _el$4 = _tmpl$2$C(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
7669
+ var _el$4 = _tmpl$2$D(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
7392
7670
  insert(_el$5, () => props.standardColorsLabel);
7393
7671
  insert(_el$6, createComponent(For, {
7394
7672
  get each() {
@@ -7422,7 +7700,7 @@ function ColorGrids(props) {
7422
7700
  })()];
7423
7701
  }
7424
7702
  delegateEvents(["click"]);
7425
- var _tmpl$$W = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$B = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch></span><span>`), _tmpl$3$p = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$4$g = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$5$a = /* @__PURE__ */ template(`<span class=oasis-editor-color-split-icon><i></i><span class=oasis-editor-color-split-indicator>`), _tmpl$6$8 = /* @__PURE__ */ template(`<span>`), _tmpl$7$4 = /* @__PURE__ */ template(`<i data-lucide=slash>`);
7703
+ var _tmpl$$X = /* @__PURE__ */ template(`<i data-lucide=type>`), _tmpl$2$C = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch></span><span>`), _tmpl$3$q = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$4$g = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$5$a = /* @__PURE__ */ template(`<span class=oasis-editor-color-split-icon><i></i><span class=oasis-editor-color-split-indicator>`), _tmpl$6$8 = /* @__PURE__ */ template(`<span>`), _tmpl$7$4 = /* @__PURE__ */ template(`<i data-lucide=slash>`);
7426
7704
  const normalizeColor = (value) => (value == null ? void 0 : value.trim().toLowerCase()) ?? "";
7427
7705
  function ColorPicker(props) {
7428
7706
  const [isOpen, setIsOpen] = createSignal(false);
@@ -7499,7 +7777,7 @@ function ColorPicker(props) {
7499
7777
  return clearLabel();
7500
7778
  },
7501
7779
  get children() {
7502
- var _el$ = _tmpl$2$B(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
7780
+ var _el$ = _tmpl$2$C(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling;
7503
7781
  _el$.$$click = () => applyColor(null);
7504
7782
  insert(_el$2, createComponent(Show, {
7505
7783
  get when() {
@@ -7509,7 +7787,7 @@ function ColorPicker(props) {
7509
7787
  return _tmpl$7$4();
7510
7788
  },
7511
7789
  get children() {
7512
- return _tmpl$$W();
7790
+ return _tmpl$$X();
7513
7791
  }
7514
7792
  }));
7515
7793
  insert(_el$4, clearLabel);
@@ -7540,7 +7818,7 @@ function ColorPicker(props) {
7540
7818
  },
7541
7819
  get children() {
7542
7820
  return [(() => {
7543
- var _el$5 = _tmpl$3$p(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
7821
+ var _el$5 = _tmpl$3$q(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
7544
7822
  _el$5.$$click = () => customColorInputRef == null ? void 0 : customColorInputRef.click();
7545
7823
  insert(_el$7, () => props.moreColorsLabel);
7546
7824
  createRenderEffect(() => setAttribute(_el$5, "data-testid", `${props.testId}-more-colors`));
@@ -7568,7 +7846,7 @@ function ColorPicker(props) {
7568
7846
  });
7569
7847
  }
7570
7848
  delegateEvents(["click", "input"]);
7571
- var _tmpl$$V = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$A = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$o = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$f = /* @__PURE__ */ template(`<span>`), _tmpl$5$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button>`), _tmpl$6$7 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
7849
+ var _tmpl$$W = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-status>`), _tmpl$2$B = /* @__PURE__ */ template(`<div class=oasis-editor-table-grid-picker-grid>`), _tmpl$3$p = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-dropdown>`), _tmpl$4$f = /* @__PURE__ */ template(`<span>`), _tmpl$5$9 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-tool-button>`), _tmpl$6$7 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-table-grid-picker-cell>`);
7572
7850
  function GridPicker(props) {
7573
7851
  const t = useI18n();
7574
7852
  const [isOpen, setIsOpen] = createSignal(false);
@@ -7643,7 +7921,7 @@ function GridPicker(props) {
7643
7921
  return h.row === 0 || h.col === 0 ? t("toolbar.table") : `${h.row} × ${h.col}`;
7644
7922
  };
7645
7923
  return (() => {
7646
- var _el$ = _tmpl$3$o();
7924
+ var _el$ = _tmpl$3$p();
7647
7925
  insert(_el$, createComponent(Popover, {
7648
7926
  get open() {
7649
7927
  return isOpen();
@@ -7692,11 +7970,11 @@ function GridPicker(props) {
7692
7970
  })(),
7693
7971
  get children() {
7694
7972
  return [(() => {
7695
- var _el$2 = _tmpl$$V();
7973
+ var _el$2 = _tmpl$$W();
7696
7974
  insert(_el$2, statusLabel);
7697
7975
  return _el$2;
7698
7976
  })(), (() => {
7699
- var _el$3 = _tmpl$2$A();
7977
+ var _el$3 = _tmpl$2$B();
7700
7978
  insert(_el$3, createComponent(For, {
7701
7979
  get each() {
7702
7980
  return rows();
@@ -7796,7 +8074,7 @@ const DEFAULT_PALETTE = {
7796
8074
  standardColors: STANDARD_COLORS,
7797
8075
  allowCustom: true
7798
8076
  };
7799
- var _tmpl$$U = /* @__PURE__ */ template(`<button type=button class=oasis-editor-style-gallery-card role=option><span>`), _tmpl$2$z = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery-grid>`), _tmpl$3$n = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery><div class=oasis-editor-style-gallery-ribbon><div class=oasis-editor-style-gallery-strip role=listbox></div><button type=button class=oasis-editor-style-gallery-expand aria-haspopup=listbox>`), _tmpl$4$e = /* @__PURE__ */ template(`<option>`);
8077
+ var _tmpl$$V = /* @__PURE__ */ template(`<button type=button class=oasis-editor-style-gallery-card role=option><span>`), _tmpl$2$A = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery-grid>`), _tmpl$3$o = /* @__PURE__ */ template(`<div class=oasis-editor-style-gallery><div class=oasis-editor-style-gallery-ribbon><div class=oasis-editor-style-gallery-strip role=listbox></div><button type=button class=oasis-editor-style-gallery-expand aria-haspopup=listbox>`), _tmpl$4$e = /* @__PURE__ */ template(`<option>`);
7800
8078
  function getQuickStyles(styles) {
7801
8079
  const applicable = styles.filter((style2) => style2.type !== "table" && (!style2.semiHidden || style2.unhideWhenUsed && style2.isUsed));
7802
8080
  const hasQuickStyles = applicable.some((style2) => style2.qFormat === true);
@@ -7876,7 +8154,7 @@ function StyleGallery(props) {
7876
8154
  return styles();
7877
8155
  },
7878
8156
  children: (style$1) => (() => {
7879
- var _el$ = _tmpl$$U(), _el$2 = _el$.firstChild;
8157
+ var _el$ = _tmpl$$V(), _el$2 = _el$.firstChild;
7880
8158
  _el$.$$click = () => apply(style$1);
7881
8159
  insert(_el$2, () => style$1.name);
7882
8160
  createRenderEffect((_p$) => {
@@ -7907,7 +8185,7 @@ function StyleGallery(props) {
7907
8185
  panelRole: "listbox",
7908
8186
  panelTestId,
7909
8187
  trigger: (popover) => (() => {
7910
- var _el$4 = _tmpl$3$n(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
8188
+ var _el$4 = _tmpl$3$o(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
7911
8189
  var _ref$ = popover.ref;
7912
8190
  typeof _ref$ === "function" ? use(_ref$, _el$4) : popover.ref = _el$4;
7913
8191
  insert(_el$4, createComponent(Select, {
@@ -7957,7 +8235,7 @@ function StyleGallery(props) {
7957
8235
  return _el$4;
7958
8236
  })(),
7959
8237
  get children() {
7960
- var _el$3 = _tmpl$2$z();
8238
+ var _el$3 = _tmpl$2$A();
7961
8239
  _el$3.$$keydown = onPanelKeyDown;
7962
8240
  insert(_el$3, cards);
7963
8241
  return _el$3;
@@ -7965,7 +8243,7 @@ function StyleGallery(props) {
7965
8243
  });
7966
8244
  }
7967
8245
  delegateEvents(["click", "keydown"]);
7968
- var _tmpl$$T = /* @__PURE__ */ template(`<span class=oasis-editor-wide-menu-button-indicator>`), _tmpl$2$y = /* @__PURE__ */ template(`<span class=oasis-editor-wide-menu-button-icon>`), _tmpl$3$m = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-wide-menu-button"aria-haspopup=menu><span class=oasis-editor-wide-menu-button-label>`);
8246
+ var _tmpl$$U = /* @__PURE__ */ template(`<span class=oasis-editor-wide-menu-button-indicator>`), _tmpl$2$z = /* @__PURE__ */ template(`<span class=oasis-editor-wide-menu-button-icon>`), _tmpl$3$n = /* @__PURE__ */ template(`<button type=button class="oasis-editor-tool-button oasis-editor-wide-menu-button"aria-haspopup=menu><span class=oasis-editor-wide-menu-button-label>`);
7969
8247
  function WideMenuButton(props) {
7970
8248
  return createComponent(Popover, {
7971
8249
  get open() {
@@ -7979,7 +8257,7 @@ function WideMenuButton(props) {
7979
8257
  return `oasis-editor-color-menu ${props.panelClass ?? ""}`;
7980
8258
  },
7981
8259
  trigger: (api) => (() => {
7982
- var _el$ = _tmpl$3$m(), _el$4 = _el$.firstChild;
8260
+ var _el$ = _tmpl$3$n(), _el$4 = _el$.firstChild;
7983
8261
  _el$.$$click = () => api.toggle();
7984
8262
  use((el) => api.ref(el), _el$);
7985
8263
  insert(_el$, createComponent(Show, {
@@ -7987,7 +8265,7 @@ function WideMenuButton(props) {
7987
8265
  return props.icon;
7988
8266
  },
7989
8267
  get children() {
7990
- var _el$2 = _tmpl$2$y();
8268
+ var _el$2 = _tmpl$2$z();
7991
8269
  insert(_el$2, createComponent(ToolIcon, {
7992
8270
  get name() {
7993
8271
  return props.icon;
@@ -7998,7 +8276,7 @@ function WideMenuButton(props) {
7998
8276
  return props.indicatorColor !== void 0;
7999
8277
  },
8000
8278
  get children() {
8001
- var _el$3 = _tmpl$$T();
8279
+ var _el$3 = _tmpl$$U();
8002
8280
  createRenderEffect((_p$) => {
8003
8281
  var _v$ = !props.indicatorColor, _v$2 = props.indicatorColor ?? "";
8004
8282
  _v$ !== _p$.e && _el$3.classList.toggle("oasis-editor-wide-menu-button-indicator-empty", _p$.e = _v$);
@@ -8096,7 +8374,7 @@ function dashPreviewArray(dash) {
8096
8374
  const pattern = lineDashPatternPt(dash);
8097
8375
  return pattern.length > 0 ? pattern.join(" ") : void 0;
8098
8376
  }
8099
- var _tmpl$$S = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$x = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$3$l = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$4$d = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-flyout role=menu>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-submenu-row><button type=button class="oasis-editor-color-menu-action oasis-editor-picture-border-submenu-trigger"role=menuitem aria-haspopup=menu><span class=oasis-editor-color-menu-action-swatch><i data-lucide=minus></i></span><span></span><i data-lucide=chevron-right class=oasis-editor-dropdown-chevron>`), _tmpl$6$6 = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-submenu-row><button type=button class="oasis-editor-color-menu-action oasis-editor-picture-border-submenu-trigger"role=menuitem aria-haspopup=menu><span class=oasis-editor-color-menu-action-swatch><i data-lucide=align-justify></i></span><span></span><i data-lucide=chevron-right class=oasis-editor-dropdown-chevron>`), _tmpl$7$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-picture-border-option role=menuitemradio><span class=oasis-editor-picture-border-preview></span><span class=oasis-editor-picture-border-option-label>`), _tmpl$8$2 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-picture-border-option role=menuitemradio><svg class=oasis-editor-picture-border-preview-svg viewBox="0 0 48 4"aria-hidden=true><line x1=0 y1=2 x2=48 y2=2 stroke=currentColor stroke-width=1.5></line></svg><span class=oasis-editor-picture-border-option-label>`);
8377
+ var _tmpl$$T = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$y = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action role=menuitem><span class="oasis-editor-color-menu-action-swatch oasis-editor-color-menu-more-swatch"></span><span>`), _tmpl$3$m = /* @__PURE__ */ template(`<input type=color class=oasis-editor-color-custom-input>`), _tmpl$4$d = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-flyout role=menu>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-submenu-row><button type=button class="oasis-editor-color-menu-action oasis-editor-picture-border-submenu-trigger"role=menuitem aria-haspopup=menu><span class=oasis-editor-color-menu-action-swatch><i data-lucide=minus></i></span><span></span><i data-lucide=chevron-right class=oasis-editor-dropdown-chevron>`), _tmpl$6$6 = /* @__PURE__ */ template(`<div class=oasis-editor-picture-border-submenu-row><button type=button class="oasis-editor-color-menu-action oasis-editor-picture-border-submenu-trigger"role=menuitem aria-haspopup=menu><span class=oasis-editor-color-menu-action-swatch><i data-lucide=align-justify></i></span><span></span><i data-lucide=chevron-right class=oasis-editor-dropdown-chevron>`), _tmpl$7$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-picture-border-option role=menuitemradio><span class=oasis-editor-picture-border-preview></span><span class=oasis-editor-picture-border-option-label>`), _tmpl$8$2 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-picture-border-option role=menuitemradio><svg class=oasis-editor-picture-border-preview-svg viewBox="0 0 48 4"aria-hidden=true><line x1=0 y1=2 x2=48 y2=2 stroke=currentColor stroke-width=1.5></line></svg><span class=oasis-editor-picture-border-option-label>`);
8100
8378
  function PictureBorderPicker(props) {
8101
8379
  const [open, setOpen] = createSignal(false);
8102
8380
  const [submenu, setSubmenu] = createSignal(null);
@@ -8164,7 +8442,7 @@ function PictureBorderPicker(props) {
8164
8442
  color
8165
8443
  })
8166
8444
  }), (() => {
8167
- var _el$ = _tmpl$$S(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
8445
+ var _el$ = _tmpl$$T(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
8168
8446
  _el$.$$click = () => apply({
8169
8447
  color: null
8170
8448
  });
@@ -8172,13 +8450,13 @@ function PictureBorderPicker(props) {
8172
8450
  createRenderEffect(() => setAttribute(_el$, "data-testid", `${props.testId}-none`));
8173
8451
  return _el$;
8174
8452
  })(), (() => {
8175
- var _el$4 = _tmpl$2$x(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
8453
+ var _el$4 = _tmpl$2$y(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
8176
8454
  _el$4.$$click = () => customColorInputRef == null ? void 0 : customColorInputRef.click();
8177
8455
  insert(_el$6, () => props.moreColorsLabel);
8178
8456
  createRenderEffect(() => setAttribute(_el$4, "data-testid", `${props.testId}-more-colors`));
8179
8457
  return _el$4;
8180
8458
  })(), (() => {
8181
- var _el$7 = _tmpl$3$l();
8459
+ var _el$7 = _tmpl$3$m();
8182
8460
  _el$7.$$input = (event) => apply({
8183
8461
  color: event.currentTarget.value
8184
8462
  });
@@ -8313,7 +8591,7 @@ function PictureBorderPicker(props) {
8313
8591
  });
8314
8592
  }
8315
8593
  delegateEvents(["click", "input"]);
8316
- var _tmpl$$R = /* @__PURE__ */ template(`<option value>`), _tmpl$2$w = /* @__PURE__ */ template(`<option>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
8594
+ var _tmpl$$S = /* @__PURE__ */ template(`<option value>`), _tmpl$2$x = /* @__PURE__ */ template(`<option>`), _tmpl$3$l = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-item style=align-items:center>`);
8317
8595
  function renderMenuContent(content, api) {
8318
8596
  if (content.kind === "custom") {
8319
8597
  return content.render(api);
@@ -8471,7 +8749,7 @@ function RenderSelect(props) {
8471
8749
  return props.item.placeholder !== void 0;
8472
8750
  },
8473
8751
  get children() {
8474
- var _el$ = _tmpl$$R();
8752
+ var _el$ = _tmpl$$S();
8475
8753
  insert(_el$, () => props.item.placeholder);
8476
8754
  return _el$;
8477
8755
  }
@@ -8480,7 +8758,7 @@ function RenderSelect(props) {
8480
8758
  return props.item.options(props.api);
8481
8759
  },
8482
8760
  children: (option) => (() => {
8483
- var _el$2 = _tmpl$2$w();
8761
+ var _el$2 = _tmpl$2$x();
8484
8762
  insert(_el$2, () => option.label);
8485
8763
  createRenderEffect(() => _el$2.value = option.value);
8486
8764
  return _el$2;
@@ -8678,7 +8956,7 @@ function ToolbarItemRenderer(props) {
8678
8956
  const binding = bindItem(props.item, props.api);
8679
8957
  const component = () => resolveRenderer(props.item.type);
8680
8958
  return (() => {
8681
- var _el$3 = _tmpl$3$k();
8959
+ var _el$3 = _tmpl$3$l();
8682
8960
  insert(_el$3, createComponent(Show, {
8683
8961
  get when() {
8684
8962
  return component();
@@ -8780,8 +9058,12 @@ function isRibbonTabVisible(id, api) {
8780
9058
  if (!gatingCommand) return true;
8781
9059
  return api ? api.commands.state(gatingCommand).isActive : false;
8782
9060
  }
8783
- function buildRibbonTabDefinitions(t, api) {
8784
- return RIBBON_TABS.filter((id) => isRibbonTabVisible(id, api)).map((id) => ({
9061
+ function buildRibbonTabDefinitions(t, api, items) {
9062
+ return RIBBON_TABS.filter(
9063
+ (id) => isRibbonTabVisible(id, api) && (items === void 0 || items.some(
9064
+ (item) => item.type !== "separator" && normalizeRibbonTab(item.tab) === id
9065
+ ))
9066
+ ).map((id) => ({
8785
9067
  id,
8786
9068
  label: t(TAB_LABEL_KEYS[id]),
8787
9069
  contextual: CONTEXTUAL_TABS[id] !== void 0
@@ -9182,9 +9464,15 @@ function resolveResponsiveRibbonGroups(groups, availableWidth, measurements = {}
9182
9464
  allocatedWidth: allocatedWidths.get(group.id)
9183
9465
  }));
9184
9466
  }
9185
- var _tmpl$$Q = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$v = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
9467
+ var _tmpl$$R = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-tabs role=tablist>`), _tmpl$2$w = /* @__PURE__ */ template(`<button type=button class=oasis-editor-ribbon-tab role=tab>`);
9186
9468
  function RibbonTabs(props) {
9187
- const tabs = createMemo(() => buildRibbonTabDefinitions(props.api.t, props.api));
9469
+ const tabs = createMemo(() => buildRibbonTabDefinitions(props.api.t, props.api, props.items()));
9470
+ createEffect(() => {
9471
+ const availableTabs = tabs();
9472
+ if (availableTabs.length > 0 && !availableTabs.some((tab) => tab.id === props.activeTab())) {
9473
+ props.setActiveTab(availableTabs[0].id);
9474
+ }
9475
+ });
9188
9476
  const moveTab = (current, delta) => {
9189
9477
  const list = tabs();
9190
9478
  const index = list.findIndex((tab) => tab.id === current);
@@ -9192,13 +9480,13 @@ function RibbonTabs(props) {
9192
9480
  if (next) props.setActiveTab(next.id);
9193
9481
  };
9194
9482
  return (() => {
9195
- var _el$ = _tmpl$$Q();
9483
+ var _el$ = _tmpl$$R();
9196
9484
  insert(_el$, createComponent(For, {
9197
9485
  get each() {
9198
9486
  return tabs();
9199
9487
  },
9200
9488
  children: (tab) => (() => {
9201
- var _el$2 = _tmpl$2$v();
9489
+ var _el$2 = _tmpl$2$w();
9202
9490
  _el$2.$$keydown = (event) => {
9203
9491
  if (event.key === "ArrowRight") {
9204
9492
  event.preventDefault();
@@ -9243,10 +9531,10 @@ function RibbonTabs(props) {
9243
9531
  })();
9244
9532
  }
9245
9533
  delegateEvents(["click", "keydown"]);
9246
- var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
9534
+ var _tmpl$$Q = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-row>`);
9247
9535
  function RibbonRow(props) {
9248
9536
  return (() => {
9249
- var _el$ = _tmpl$$P();
9537
+ var _el$ = _tmpl$$Q();
9250
9538
  insert(_el$, createComponent(For, {
9251
9539
  get each() {
9252
9540
  return props.items;
@@ -9261,7 +9549,7 @@ function RibbonRow(props) {
9261
9549
  return _el$;
9262
9550
  })();
9263
9551
  }
9264
- var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-label>`), _tmpl$4$c = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group>`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-collapsed-items>`), _tmpl$6$5 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows>`);
9552
+ var _tmpl$$P = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-large-items>`), _tmpl$2$v = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows><div class=oasis-editor-ribbon-normal-rows>`), _tmpl$3$k = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-label>`), _tmpl$4$c = /* @__PURE__ */ template(`<section class=oasis-editor-ribbon-group>`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-collapsed-items>`), _tmpl$6$5 = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-group-rows>`);
9265
9553
  function groupItems(group) {
9266
9554
  return [...group.largeItems, ...group.rows[1], ...group.rows[2]];
9267
9555
  }
@@ -9310,20 +9598,20 @@ function RibbonGroup(props) {
9310
9598
  }));
9311
9599
  return _el$6;
9312
9600
  })(), (() => {
9313
- var _el$8 = _tmpl$3$j();
9601
+ var _el$8 = _tmpl$3$k();
9314
9602
  insert(_el$8, () => props.group.label);
9315
9603
  return _el$8;
9316
9604
  })()];
9317
9605
  },
9318
9606
  get children() {
9319
9607
  return [(() => {
9320
- var _el$2 = _tmpl$2$u(), _el$4 = _el$2.firstChild;
9608
+ var _el$2 = _tmpl$2$v(), _el$4 = _el$2.firstChild;
9321
9609
  insert(_el$2, createComponent(Show, {
9322
9610
  get when() {
9323
9611
  return props.group.largeItems.length > 0;
9324
9612
  },
9325
9613
  get children() {
9326
- var _el$3 = _tmpl$$O();
9614
+ var _el$3 = _tmpl$$P();
9327
9615
  insert(_el$3, createComponent(For, {
9328
9616
  get each() {
9329
9617
  return props.group.largeItems;
@@ -9356,7 +9644,7 @@ function RibbonGroup(props) {
9356
9644
  }), null);
9357
9645
  return _el$2;
9358
9646
  })(), (() => {
9359
- var _el$5 = _tmpl$3$j();
9647
+ var _el$5 = _tmpl$3$k();
9360
9648
  insert(_el$5, () => props.group.label);
9361
9649
  return _el$5;
9362
9650
  })()];
@@ -9384,7 +9672,7 @@ function RibbonGroup(props) {
9384
9672
  return _el$;
9385
9673
  })();
9386
9674
  }
9387
- var _tmpl$$N = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
9675
+ var _tmpl$$O = /* @__PURE__ */ template(`<div class=oasis-editor-ribbon-panel role=tabpanel data-testid=editor-ribbon-panel>`);
9388
9676
  function RibbonPanel(props) {
9389
9677
  const [availableWidth, setAvailableWidth] = createSignal(null);
9390
9678
  const [measurements, setMeasurements] = createSignal({});
@@ -9429,7 +9717,7 @@ function RibbonPanel(props) {
9429
9717
  requestAnimationFrame(measureGroups);
9430
9718
  });
9431
9719
  return (() => {
9432
- var _el$ = _tmpl$$N();
9720
+ var _el$ = _tmpl$$O();
9433
9721
  var _ref$ = panelRef;
9434
9722
  typeof _ref$ === "function" ? use(_ref$, _el$) : panelRef = _el$;
9435
9723
  insert(_el$, createComponent(For, {
@@ -9455,7 +9743,7 @@ function RibbonPanel(props) {
9455
9743
  return _el$;
9456
9744
  })();
9457
9745
  }
9458
- var _tmpl$$M = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
9746
+ var _tmpl$$N = /* @__PURE__ */ template(`<section class=oasis-editor-toolbar>`), _tmpl$2$u = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-wrap-strip>`);
9459
9747
  const shouldAllowNativeMouseDown = (target) => target instanceof Element && target.closest("select, input, textarea, label") !== null;
9460
9748
  function Toolbar(props) {
9461
9749
  const api = createToolbarApi(props.host, useI18n());
@@ -9505,7 +9793,7 @@ function Toolbar(props) {
9505
9793
  })
9506
9794
  });
9507
9795
  return (() => {
9508
- var _el$ = _tmpl$$M();
9796
+ var _el$ = _tmpl$$N();
9509
9797
  _el$.$$mousedown = (event) => {
9510
9798
  if (shouldAllowNativeMouseDown(event.target)) {
9511
9799
  return;
@@ -9517,7 +9805,8 @@ function Toolbar(props) {
9517
9805
  return () => _c$() ? [createComponent(RibbonTabs, {
9518
9806
  activeTab,
9519
9807
  setActiveTab,
9520
- api
9808
+ api,
9809
+ items
9521
9810
  }), createComponent(RibbonPanel, {
9522
9811
  activeTab,
9523
9812
  items,
@@ -9527,7 +9816,7 @@ function Toolbar(props) {
9527
9816
  return renderItems();
9528
9817
  }
9529
9818
  }) : (() => {
9530
- var _el$2 = _tmpl$2$t();
9819
+ var _el$2 = _tmpl$2$u();
9531
9820
  insert(_el$2, renderItems);
9532
9821
  return _el$2;
9533
9822
  })();
@@ -18522,11 +18811,7 @@ function getTableCellContentWidthForParagraph(document2, paragraphId, activeSect
18522
18811
  activeSectionIndex
18523
18812
  );
18524
18813
  if (!tableLocation) return null;
18525
- let blocks = resolveParagraphStory(
18526
- document2,
18527
- paragraphId,
18528
- activeSectionIndex
18529
- );
18814
+ let blocks = resolveParagraphStory(document2, paragraphId, activeSectionIndex);
18530
18815
  if (!blocks) return null;
18531
18816
  let availableWidth = getPageContentWidth(getDocumentPageSettings(document2));
18532
18817
  for (const segment of tableLocation.tablePath) {
@@ -21196,11 +21481,11 @@ function buildCanvasTableLayout(options) {
21196
21481
  unsupported: Array.from(new Set(unsupported))
21197
21482
  };
21198
21483
  }
21199
- var _tmpl$$L = /* @__PURE__ */ template(`<div class=oasis-editor-page-break style="display:flex;align-items:center;justify-content:center;margin:16px 0;position:relative;user-select:none"><div style="position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--oasis-toolbar-border, #e0e3e7)"></div><div style="background:var(--oasis-bg, #f6f8fb);padding:0 12px;color:var(--oasis-text-muted, #5f6368);font-size:12px;font-family:var(--oasis-font-ui, sans-serif);z-index:1">`);
21484
+ var _tmpl$$M = /* @__PURE__ */ template(`<div class=oasis-editor-page-break style="display:flex;align-items:center;justify-content:center;margin:16px 0;position:relative;user-select:none"><div style="position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--oasis-toolbar-border, #e0e3e7)"></div><div style="background:var(--oasis-bg, #f6f8fb);padding:0 12px;color:var(--oasis-text-muted, #5f6368);font-size:12px;font-family:var(--oasis-font-ui, sans-serif);z-index:1">`);
21200
21485
  function PageBreak(_props) {
21201
21486
  const t = useI18n();
21202
21487
  return (() => {
21203
- var _el$ = _tmpl$$L(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
21488
+ var _el$ = _tmpl$$M(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
21204
21489
  insert(_el$3, () => t("metric.pageBreak") || "Page Break");
21205
21490
  return _el$;
21206
21491
  })();
@@ -25118,7 +25403,7 @@ function prepareDocumentFonts(document2, options = {}) {
25118
25403
  preparationLoads.set(key, load);
25119
25404
  return load;
25120
25405
  }
25121
- var _tmpl$$K = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$s = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=oasis-editor-table-revision-hit style=position:absolute;pointer-events:auto;background:transparent>`);
25406
+ var _tmpl$$L = /* @__PURE__ */ template(`<div class="oasis-editor-paper-stack oasis-editor-canvas-stack"style=position:relative>`), _tmpl$2$t = /* @__PURE__ */ template(`<div class=oasis-editor-canvas-page-slot style=position:relative>`), _tmpl$3$j = /* @__PURE__ */ template(`<div class=oasis-editor-paper data-renderer=canvas data-testid=editor-page style=position:relative;z-index:1><canvas>`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=oasis-editor-table-revision-hit style=position:absolute;pointer-events:auto;background:transparent>`);
25122
25407
  const surfaceLogger = createEditorLogger("canvas-surface");
25123
25408
  function CanvasEditorSurface(props) {
25124
25409
  const documentFontFamilies = createMemo(() => Array.from(collectPdfFontFamilies(props.state().document)));
@@ -25141,7 +25426,7 @@ function CanvasEditorSurface(props) {
25141
25426
  return layout;
25142
25427
  });
25143
25428
  return (() => {
25144
- var _el$ = _tmpl$$K();
25429
+ var _el$ = _tmpl$$L();
25145
25430
  insert(_el$, createComponent(Index, {
25146
25431
  get each() {
25147
25432
  return documentLayout().pages;
@@ -25153,7 +25438,7 @@ function CanvasEditorSurface(props) {
25153
25438
  // inserting an image that triggers re-pagination in a narrow viewport),
25154
25439
  // causing "Failed to execute 'insertBefore'" errors.
25155
25440
  (() => {
25156
- var _el$2 = _tmpl$2$s();
25441
+ var _el$2 = _tmpl$2$t();
25157
25442
  insert(_el$2, createComponent(Show, {
25158
25443
  when: index > 0,
25159
25444
  get children() {
@@ -25283,7 +25568,7 @@ function CanvasPage(props) {
25283
25568
  });
25284
25569
  onCleanup(() => renderer.dispose());
25285
25570
  return (() => {
25286
- var _el$3 = _tmpl$3$i(), _el$4 = _el$3.firstChild;
25571
+ var _el$3 = _tmpl$3$j(), _el$4 = _el$3.firstChild;
25287
25572
  addEventListener(_el$3, "dblclick", props.onSurfaceDblClick, true);
25288
25573
  addEventListener(_el$3, "mousemove", props.onSurfaceMouseMove, true);
25289
25574
  addEventListener(_el$3, "click", props.onSurfaceClick, true);
@@ -25675,7 +25960,7 @@ function computeRulerTicks(pageWidth, contentLeft, unit) {
25675
25960
  pushSide(-1);
25676
25961
  return ticks;
25677
25962
  }
25678
- var _tmpl$$J = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler data-testid=editor-horizontal-ruler role=presentation><div class=oasis-editor-horizontal-ruler-track><div class=oasis-editor-horizontal-ruler-page><div class=oasis-editor-horizontal-ruler-margin style=left:0px></div><div class=oasis-editor-horizontal-ruler-margin></div><div class=oasis-editor-horizontal-ruler-content></div><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-first-line"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-hanging"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-left-box"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-right-indent">`), _tmpl$2$r = /* @__PURE__ */ template(`<div>`), _tmpl$3$h = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
25963
+ var _tmpl$$K = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler data-testid=editor-horizontal-ruler role=presentation><div class=oasis-editor-horizontal-ruler-track><div class=oasis-editor-horizontal-ruler-page><div class=oasis-editor-horizontal-ruler-margin style=left:0px></div><div class=oasis-editor-horizontal-ruler-margin></div><div class=oasis-editor-horizontal-ruler-content></div><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class=oasis-editor-horizontal-ruler-margin-handle></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-first-line"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-hanging"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-left-box"></button><button type=button class="oasis-editor-ruler-marker oasis-editor-ruler-marker-right-indent">`), _tmpl$2$s = /* @__PURE__ */ template(`<div>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=oasis-editor-horizontal-ruler-label>`);
25679
25964
  function getActivePageSettings(state) {
25680
25965
  var _a2;
25681
25966
  const idx = getActiveSectionIndex(state);
@@ -25881,7 +26166,7 @@ function HorizontalRuler(props) {
25881
26166
  }
25882
26167
  };
25883
26168
  return (() => {
25884
- var _el$ = _tmpl$$J(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling;
26169
+ var _el$ = _tmpl$$K(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling;
25885
26170
  var _ref$ = pageRef;
25886
26171
  typeof _ref$ === "function" ? use(_ref$, _el$3) : pageRef = _el$3;
25887
26172
  insert(_el$3, createComponent(For, {
@@ -25889,7 +26174,7 @@ function HorizontalRuler(props) {
25889
26174
  return ticks();
25890
26175
  },
25891
26176
  children: (tick) => [(() => {
25892
- var _el$11 = _tmpl$2$r();
26177
+ var _el$11 = _tmpl$2$s();
25893
26178
  createRenderEffect((_p$) => {
25894
26179
  var _v$27 = `oasis-editor-horizontal-ruler-tick oasis-editor-horizontal-ruler-tick-${tick.kind}`, _v$28 = `${sx(tick.x)}px`;
25895
26180
  _v$27 !== _p$.e && className(_el$11, _p$.e = _v$27);
@@ -25901,7 +26186,7 @@ function HorizontalRuler(props) {
25901
26186
  });
25902
26187
  return _el$11;
25903
26188
  })(), memo(() => memo(() => !!tick.label)() && (() => {
25904
- var _el$12 = _tmpl$3$h();
26189
+ var _el$12 = _tmpl$3$i();
25905
26190
  insert(_el$12, () => tick.label);
25906
26191
  createRenderEffect((_$p) => setStyleProperty(_el$12, "left", `${sx(tick.x)}px`));
25907
26192
  return _el$12;
@@ -25978,10 +26263,10 @@ function HorizontalRuler(props) {
25978
26263
  })();
25979
26264
  }
25980
26265
  delegateEvents(["pointerdown"]);
25981
- var _tmpl$$I = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
26266
+ var _tmpl$$J = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-caret>`);
25982
26267
  function CaretOverlay(props) {
25983
26268
  return (() => {
25984
- var _el$ = _tmpl$$I();
26269
+ var _el$ = _tmpl$$J();
25985
26270
  createRenderEffect((_p$) => {
25986
26271
  var _v$ = !!props.active, _v$2 = {
25987
26272
  left: `${props.left}px`,
@@ -26002,16 +26287,16 @@ function CaretOverlay(props) {
26002
26287
  return _el$;
26003
26288
  })();
26004
26289
  }
26005
- var _tmpl$$H = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$q = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
26290
+ var _tmpl$$I = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-selection-overlay-root>`), _tmpl$2$r = /* @__PURE__ */ template(`<span aria-hidden=true class=oasis-editor-selection-box data-testid=editor-selection-box>`);
26006
26291
  function SelectionOverlay(props) {
26007
26292
  return (() => {
26008
- var _el$ = _tmpl$$H();
26293
+ var _el$ = _tmpl$$I();
26009
26294
  insert(_el$, createComponent(Index, {
26010
26295
  get each() {
26011
26296
  return props.boxes;
26012
26297
  },
26013
26298
  children: (box) => (() => {
26014
- var _el$2 = _tmpl$2$q();
26299
+ var _el$2 = _tmpl$2$r();
26015
26300
  createRenderEffect((_p$) => {
26016
26301
  var _v$ = `${box().left}px`, _v$2 = `${box().top}px`, _v$3 = `${box().width}px`, _v$4 = `${box().height}px`;
26017
26302
  _v$ !== _p$.e && setStyleProperty(_el$2, "left", _p$.e = _v$);
@@ -26031,7 +26316,7 @@ function SelectionOverlay(props) {
26031
26316
  return _el$;
26032
26317
  })();
26033
26318
  }
26034
- var _tmpl$$G = /* @__PURE__ */ template(`<div class=oasis-editor-revision-overlay data-testid=editor-revision-overlay><div class=oasis-editor-revision-overlay-content><span class=oasis-editor-revision-overlay-author><strong>:</strong> </span><span class=oasis-editor-revision-overlay-date></span></div><div class=oasis-editor-revision-overlay-arrow>`);
26319
+ var _tmpl$$H = /* @__PURE__ */ template(`<div class=oasis-editor-revision-overlay data-testid=editor-revision-overlay><div class=oasis-editor-revision-overlay-content><span class=oasis-editor-revision-overlay-author><strong>:</strong> </span><span class=oasis-editor-revision-overlay-date></span></div><div class=oasis-editor-revision-overlay-arrow>`);
26035
26320
  function RevisionOverlay(props) {
26036
26321
  const formattedDate = () => {
26037
26322
  try {
@@ -26046,7 +26331,7 @@ function RevisionOverlay(props) {
26046
26331
  return "Alterado por";
26047
26332
  };
26048
26333
  return (() => {
26049
- var _el$ = _tmpl$$G(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
26334
+ var _el$ = _tmpl$$H(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
26050
26335
  _el$4.nextSibling;
26051
26336
  var _el$7 = _el$3.nextSibling;
26052
26337
  insert(_el$4, label, _el$5);
@@ -26064,7 +26349,7 @@ function RevisionOverlay(props) {
26064
26349
  return _el$;
26065
26350
  })();
26066
26351
  }
26067
- var _tmpl$$F = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$p = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$g = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$a = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$6 = /* @__PURE__ */ template(`<div class=oasis-editor-comment-popup data-testid=editor-comment-popup><div class=oasis-editor-comment-popup-header><span class=oasis-editor-comment-popup-author></span></div><div class=oasis-editor-comment-popup-body>`);
26352
+ var _tmpl$$G = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-comment-overlay-root>`), _tmpl$2$q = /* @__PURE__ */ template(`<span class=oasis-editor-comment-highlight data-testid=editor-comment-highlight>`), _tmpl$3$h = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-date>`), _tmpl$4$a = /* @__PURE__ */ template(`<span class=oasis-editor-comment-popup-resolved>✓`), _tmpl$5$6 = /* @__PURE__ */ template(`<div class=oasis-editor-comment-popup data-testid=editor-comment-popup><div class=oasis-editor-comment-popup-header><span class=oasis-editor-comment-popup-author></span></div><div class=oasis-editor-comment-popup-body>`);
26068
26353
  function CommentHighlightOverlay(props) {
26069
26354
  const [activeCommentId, setActiveCommentId] = createSignal(null);
26070
26355
  const activeComment = createMemo(() => {
@@ -26091,13 +26376,13 @@ function CommentHighlightOverlay(props) {
26091
26376
  }
26092
26377
  };
26093
26378
  return (() => {
26094
- var _el$ = _tmpl$$F();
26379
+ var _el$ = _tmpl$$G();
26095
26380
  insert(_el$, createComponent(For, {
26096
26381
  get each() {
26097
26382
  return props.boxes();
26098
26383
  },
26099
26384
  children: (box) => (() => {
26100
- var _el$2 = _tmpl$2$p();
26385
+ var _el$2 = _tmpl$2$q();
26101
26386
  _el$2.$$click = () => setActiveCommentId(box.commentId);
26102
26387
  _el$2.addEventListener("mouseenter", () => setActiveCommentId(box.commentId));
26103
26388
  createRenderEffect((_p$) => {
@@ -26137,7 +26422,7 @@ function CommentHighlightOverlay(props) {
26137
26422
  return comment.date !== void 0;
26138
26423
  },
26139
26424
  get children() {
26140
- var _el$6 = _tmpl$3$g();
26425
+ var _el$6 = _tmpl$3$h();
26141
26426
  insert(_el$6, () => formattedDate(comment.date));
26142
26427
  return _el$6;
26143
26428
  }
@@ -26197,7 +26482,7 @@ function useSurfaceRect(surfaceRef) {
26197
26482
  });
26198
26483
  return { rect, tick, refresh };
26199
26484
  }
26200
- var _tmpl$$E = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$o = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$f = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$9 = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$5 = /* @__PURE__ */ template(`<svg viewBox="0 0 40 32"fill=none aria-hidden=true>`), _tmpl$6$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-anchor data-testid=editor-layout-options-anchor><svg viewBox="0 0 24 24"fill=none aria-hidden=true><rect x=3 y=4 width=10 height=10 rx=1.5 fill=#1a73e8></rect><rect x=3 y=17 width=18 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=5 width=6 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=9 width=6 height=2 rx=1 fill=#9aa0a6>`), _tmpl$7$2 = /* @__PURE__ */ template(`<div class=oasis-editor-layout-options-popup data-testid=editor-layout-options-popup><div class=oasis-editor-layout-options-popup-header><span class=oasis-editor-layout-options-title></span><button type=button class=oasis-editor-layout-options-close>×</button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid><button type=button class=oasis-editor-layout-options-cell data-testid=editor-layout-options-inline><svg viewBox="0 0 40 32"fill=none aria-hidden=true><rect x=4 y=7 width=9 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=4 width=11 height=11 rx=1.5 fill=#1a73e8></rect><rect x=28 y=7 width=8 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=20 width=32 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=26 width=32 height=2 rx=1 fill=#9aa0a6></rect></svg></button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid></div><div class=oasis-editor-layout-options-radios><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position></label><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position>`), _tmpl$8$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-cell>`);
26485
+ var _tmpl$$F = /* @__PURE__ */ template(`<svg><rect height=2 rx=1 fill=#9aa0a6></svg>`, false, true, false), _tmpl$2$p = /* @__PURE__ */ template(`<svg><rect rx=1.5></svg>`, false, true, false), _tmpl$3$g = /* @__PURE__ */ template(`<svg><polygon points="29,4 37,12 29,20 21,12"fill=#1a73e8></svg>`, false, true, false), _tmpl$4$9 = /* @__PURE__ */ template(`<svg><polygon points="20,8 26,14 20,20 14,14"fill=#1a73e8></svg>`, false, true, false), _tmpl$5$5 = /* @__PURE__ */ template(`<svg viewBox="0 0 40 32"fill=none aria-hidden=true>`), _tmpl$6$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-anchor data-testid=editor-layout-options-anchor><svg viewBox="0 0 24 24"fill=none aria-hidden=true><rect x=3 y=4 width=10 height=10 rx=1.5 fill=#1a73e8></rect><rect x=3 y=17 width=18 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=5 width=6 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=9 width=6 height=2 rx=1 fill=#9aa0a6>`), _tmpl$7$2 = /* @__PURE__ */ template(`<div class=oasis-editor-layout-options-popup data-testid=editor-layout-options-popup><div class=oasis-editor-layout-options-popup-header><span class=oasis-editor-layout-options-title></span><button type=button class=oasis-editor-layout-options-close>×</button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid><button type=button class=oasis-editor-layout-options-cell data-testid=editor-layout-options-inline><svg viewBox="0 0 40 32"fill=none aria-hidden=true><rect x=4 y=7 width=9 height=2 rx=1 fill=#9aa0a6></rect><rect x=15 y=4 width=11 height=11 rx=1.5 fill=#1a73e8></rect><rect x=28 y=7 width=8 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=20 width=32 height=2 rx=1 fill=#9aa0a6></rect><rect x=4 y=26 width=32 height=2 rx=1 fill=#9aa0a6></rect></svg></button></div><div class=oasis-editor-layout-options-group-label></div><div class=oasis-editor-layout-options-grid></div><div class=oasis-editor-layout-options-radios><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position></label><label class=oasis-editor-layout-options-radio><input type=radio name=oasis-layout-position>`), _tmpl$8$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-layout-options-cell>`);
26201
26486
  const WRAP_OPTIONS = [{
26202
26487
  preset: "square",
26203
26488
  labelKey: "layoutOptions.square"
@@ -26219,14 +26504,14 @@ const WRAP_OPTIONS = [{
26219
26504
  }];
26220
26505
  function WrapIcon(props) {
26221
26506
  const line = (x, y, w) => (() => {
26222
- var _el$ = _tmpl$$E();
26507
+ var _el$ = _tmpl$$F();
26223
26508
  setAttribute(_el$, "x", x);
26224
26509
  setAttribute(_el$, "y", y);
26225
26510
  setAttribute(_el$, "width", w);
26226
26511
  return _el$;
26227
26512
  })();
26228
26513
  const box = (x, y, w, h, fill = "#1a73e8") => (() => {
26229
- var _el$2 = _tmpl$2$o();
26514
+ var _el$2 = _tmpl$2$p();
26230
26515
  setAttribute(_el$2, "x", x);
26231
26516
  setAttribute(_el$2, "y", y);
26232
26517
  setAttribute(_el$2, "width", w);
@@ -26249,7 +26534,7 @@ function WrapIcon(props) {
26249
26534
  return props.preset === "tight";
26250
26535
  },
26251
26536
  get children() {
26252
- return [memo(() => line(4, 6, 12)), memo(() => line(4, 12, 10)), memo(() => line(4, 18, 12)), memo(() => line(4, 24, 32)), _tmpl$3$f()];
26537
+ return [memo(() => line(4, 6, 12)), memo(() => line(4, 12, 10)), memo(() => line(4, 18, 12)), memo(() => line(4, 24, 32)), _tmpl$3$g()];
26253
26538
  }
26254
26539
  }), null);
26255
26540
  insert(_el$3, createComponent(Show, {
@@ -29084,10 +29369,10 @@ var ExceptionCode = {
29084
29369
  INVALID_NODE_TYPE_ERR: 24,
29085
29370
  DATA_CLONE_ERR: 25
29086
29371
  };
29087
- var entries = Object.entries(ExceptionCode);
29088
- for (var i = 0; i < entries.length; i++) {
29089
- var key = entries[i][0];
29090
- DOMException$2[key] = entries[i][1];
29372
+ var entries$1 = Object.entries(ExceptionCode);
29373
+ for (var i = 0; i < entries$1.length; i++) {
29374
+ var key = entries$1[i][0];
29375
+ DOMException$2[key] = entries$1[i][1];
29091
29376
  }
29092
29377
  function ParseError$2(message, locator) {
29093
29378
  this.message = message;
@@ -35011,10 +35296,7 @@ const DEFAULT_MARKUP_COMPATIBILITY_CAPABILITIES = {
35011
35296
  };
35012
35297
  function extendMarkupCompatibilityCapabilities(base, ...namespaces) {
35013
35298
  return {
35014
- supportedNamespaces: /* @__PURE__ */ new Set([
35015
- ...base.supportedNamespaces,
35016
- ...namespaces
35017
- ])
35299
+ supportedNamespaces: /* @__PURE__ */ new Set([...base.supportedNamespaces, ...namespaces])
35018
35300
  };
35019
35301
  }
35020
35302
  function directElementChildren$5(element) {
@@ -39407,7 +39689,9 @@ function collapseCellAutospacing(paragraphs, flags) {
39407
39689
  }
39408
39690
  }
39409
39691
  function applyCellParagraphAutospacing(cellNode, blocks) {
39410
- if (!blocks.every((block) => block.type === "paragraph")) {
39692
+ if (!blocks.every(
39693
+ (block) => block.type === "paragraph"
39694
+ )) {
39411
39695
  return;
39412
39696
  }
39413
39697
  const paragraphNodes = getChildrenByTagNameNS(cellNode, WORD_NS$3, "p");
@@ -41955,10 +42239,7 @@ function elementKey$2(element) {
41955
42239
  return `${element.namespaceURI ?? ""}\0${elementLocalName$3(element)}`;
41956
42240
  }
41957
42241
  function parsePropertyElement(xml, expectedLocalName) {
41958
- const root = new DOMParser$1().parseFromString(
41959
- xml,
41960
- "application/xml"
41961
- ).documentElement;
42242
+ const root = new DOMParser$1().parseFromString(xml, "application/xml").documentElement;
41962
42243
  return (root == null ? void 0 : root.namespaceURI) === WORD_NS$1 && elementLocalName$3(root) === expectedLocalName ? root : void 0;
41963
42244
  }
41964
42245
  function createGeneratedPropertyElement(generatedXml, expectedLocalName) {
@@ -42284,10 +42565,7 @@ function overlayTableProperties(table, tableElement) {
42284
42565
  insertPropertyElement(
42285
42566
  tableElement,
42286
42567
  currentProperties,
42287
- mergeTablePropertiesOoxmlSource(
42288
- table,
42289
- serializeElement(currentProperties)
42290
- ),
42568
+ mergeTablePropertiesOoxmlSource(table, serializeElement(currentProperties)),
42291
42569
  "tblPr",
42292
42570
  currentGrid ?? firstRow
42293
42571
  );
@@ -44245,12 +44523,7 @@ function serializeSingleBlockXml(block, context2, styles) {
44245
44523
  });
44246
44524
  return pageBreakXml + (reusableTableXml ?? serializeTableXmlPreservingSource(
44247
44525
  block,
44248
- (cellBlock, cell) => serializeTableCellBlockXml(
44249
- cellBlock,
44250
- cell,
44251
- context2,
44252
- styles
44253
- )
44526
+ (cellBlock, cell) => serializeTableCellBlockXml(cellBlock, cell, context2, styles)
44254
44527
  ));
44255
44528
  }
44256
44529
  default:
@@ -44893,11 +45166,7 @@ function buildNumberingContext(document2) {
44893
45166
  const originalNumberingXml = sourceNumberingXml(document2);
44894
45167
  let nextAbstractNumId = Math.max(
44895
45168
  1,
44896
- maxSourceNumberingId(
44897
- originalNumberingXml,
44898
- "abstractNum",
44899
- "abstractNumId"
44900
- ) + 1
45169
+ maxSourceNumberingId(originalNumberingXml, "abstractNum", "abstractNumId") + 1
44901
45170
  );
44902
45171
  let nextNumId = Math.max(
44903
45172
  1,
@@ -46700,10 +46969,10 @@ function resolveResizedDimensions(geometry, deltaX, deltaY, preserveAspectRatio,
46700
46969
  nextHeight = clamp(nextWidth / aspectRatio, MIN_RESIZE_SIZE_PX);
46701
46970
  return { width: nextWidth, height: nextHeight };
46702
46971
  }
46703
- var _tmpl$$D = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$n = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$e = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
46972
+ var _tmpl$$E = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-rotate-handle tabindex=-1 type=button>`), _tmpl$2$o = /* @__PURE__ */ template(`<div aria-hidden=true style=transform-origin:center>`), _tmpl$3$f = /* @__PURE__ */ template(`<button aria-hidden=true class=oasis-editor-resize-handle tabindex=-1 type=button>`);
46704
46973
  function ResizeHandlesOverlay(props) {
46705
46974
  return (() => {
46706
- var _el$ = _tmpl$2$n();
46975
+ var _el$ = _tmpl$2$o();
46707
46976
  _el$.$$mousedown = (event) => {
46708
46977
  if (props.readOnly || !props.box() || !props.onBodyMouseDown) {
46709
46978
  return;
@@ -46719,7 +46988,7 @@ function ResizeHandlesOverlay(props) {
46719
46988
  return [createComponent(For, {
46720
46989
  each: RESIZE_HANDLE_DIRECTIONS,
46721
46990
  children: (direction) => (() => {
46722
- var _el$3 = _tmpl$3$e();
46991
+ var _el$3 = _tmpl$3$f();
46723
46992
  _el$3.$$mousedown = (event) => {
46724
46993
  if (!props.box()) {
46725
46994
  return;
@@ -46734,7 +47003,7 @@ function ResizeHandlesOverlay(props) {
46734
47003
  return props.onRotateStart;
46735
47004
  },
46736
47005
  get children() {
46737
- var _el$2 = _tmpl$$D();
47006
+ var _el$2 = _tmpl$$E();
46738
47007
  _el$2.$$mousedown = (event) => {
46739
47008
  var _a2;
46740
47009
  if (!props.box()) {
@@ -46775,14 +47044,14 @@ function ResizeHandlesOverlay(props) {
46775
47044
  })();
46776
47045
  }
46777
47046
  delegateEvents(["mousedown"]);
46778
- var _tmpl$$C = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-table-handles-overlay><button aria-hidden=true class=oasis-editor-table-move-handle tabindex=-1 type=button></button><button aria-hidden=true class=oasis-editor-table-resize-corner tabindex=-1 type=button>`);
47047
+ var _tmpl$$D = /* @__PURE__ */ template(`<div aria-hidden=true class=oasis-editor-table-handles-overlay><button aria-hidden=true class=oasis-editor-table-move-handle tabindex=-1 type=button></button><button aria-hidden=true class=oasis-editor-table-resize-corner tabindex=-1 type=button>`);
46779
47048
  function TableHandlesOverlay(props) {
46780
47049
  return createComponent(Show, {
46781
47050
  get when() {
46782
47051
  return memo(() => !!!props.readOnly)() && props.box();
46783
47052
  },
46784
47053
  children: (box) => (() => {
46785
- var _el$ = _tmpl$$C(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
47054
+ var _el$ = _tmpl$$D(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
46786
47055
  _el$2.$$mousedown = (event) => {
46787
47056
  props.onMoveStart(event);
46788
47057
  };
@@ -46822,7 +47091,7 @@ function createEditorZoom(initial = ZOOM_DEFAULT) {
46822
47091
  const zoomFactor = createMemo(() => zoomPercent() / 100);
46823
47092
  return { zoomPercent, setZoomPercent, adjustZoom, zoomFactor };
46824
47093
  }
46825
- var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-import-overlay data-testid=editor-import-overlay role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-phase data-testid=editor-import-phase></div><div class=oasis-editor-import-progress-track><div class=oasis-editor-import-progress-bar data-testid=editor-import-progress-bar></div></div><div class=oasis-editor-import-progress-label>`), _tmpl$2$m = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$3$d = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`);
47094
+ var _tmpl$$C = /* @__PURE__ */ template(`<div class=oasis-editor-import-overlay data-testid=editor-import-overlay role=status aria-live=polite><div class=oasis-editor-import-card><div class=oasis-editor-import-title></div><div class=oasis-editor-import-phase data-testid=editor-import-phase></div><div class=oasis-editor-import-progress-track><div class=oasis-editor-import-progress-bar data-testid=editor-import-progress-bar></div></div><div class=oasis-editor-import-progress-label>`), _tmpl$2$n = /* @__PURE__ */ template(`<span class=oasis-editor-import-done-icon>`), _tmpl$3$e = /* @__PURE__ */ template(`<span class=oasis-editor-import-error-icon>`);
46826
47095
  function EditorImportProgressOverlay(props) {
46827
47096
  const t = useI18n();
46828
47097
  return createComponent(Show, {
@@ -46834,7 +47103,7 @@ function EditorImportProgressOverlay(props) {
46834
47103
  const isDone = progress().phase === "done";
46835
47104
  const isError = progress().phase === "error";
46836
47105
  return (() => {
46837
- var _el$ = _tmpl$$B(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.firstChild, _el$7 = _el$5.nextSibling;
47106
+ var _el$ = _tmpl$$C(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.firstChild, _el$7 = _el$5.nextSibling;
46838
47107
  _el$.classList.toggle("oasis-editor-import-overlay-done", !!isDone);
46839
47108
  _el$.classList.toggle("oasis-editor-import-overlay-error", !!isError);
46840
47109
  setAttribute(_el$, "aria-busy", !isDone && !isError);
@@ -46847,11 +47116,11 @@ function EditorImportProgressOverlay(props) {
46847
47116
  _el$6.classList.toggle("oasis-editor-import-progress-bar-done", !!isDone);
46848
47117
  _el$6.classList.toggle("oasis-editor-import-progress-bar-error", !!isError);
46849
47118
  insert(_el$7, isDone ? (() => {
46850
- var _el$8 = _tmpl$2$m();
47119
+ var _el$8 = _tmpl$2$n();
46851
47120
  insert(_el$8, () => t("import.phase.done"));
46852
47121
  return _el$8;
46853
47122
  })() : isError ? (() => {
46854
- var _el$9 = _tmpl$3$d();
47123
+ var _el$9 = _tmpl$3$e();
46855
47124
  insert(_el$9, () => t("import.phase.error"));
46856
47125
  return _el$9;
46857
47126
  })() : [memo(() => Math.round(progress().progress)), "%"]);
@@ -46869,11 +47138,11 @@ function EditorImportProgressOverlay(props) {
46869
47138
  }
46870
47139
  });
46871
47140
  }
46872
- var _tmpl$$A = /* @__PURE__ */ template(`<div class=oasis-editor-statusbar data-testid=editor-statusbar><div class="oasis-editor-statusbar-group oasis-editor-statusbar-start"><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-word-count></span><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-character-count></span><span class=oasis-editor-statusbar-item></span></div><div class="oasis-editor-statusbar-group oasis-editor-statusbar-end"><div class=oasis-editor-statusbar-zoom data-testid=editor-statusbar-zoom-control><button type=button class=oasis-editor-zoom-button>−</button><input class=oasis-editor-zoom-slider type=range><button type=button class=oasis-editor-zoom-button>+</button><span class="oasis-editor-statusbar-item oasis-editor-zoom-value"data-testid=editor-statusbar-zoom>%`), _tmpl$2$l = /* @__PURE__ */ template(`<span>`);
47141
+ var _tmpl$$B = /* @__PURE__ */ template(`<div class=oasis-editor-statusbar data-testid=editor-statusbar><div class="oasis-editor-statusbar-group oasis-editor-statusbar-start"><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-word-count></span><span class=oasis-editor-statusbar-item data-testid=editor-statusbar-character-count></span><span class=oasis-editor-statusbar-item></span></div><div class="oasis-editor-statusbar-group oasis-editor-statusbar-end"><div class=oasis-editor-statusbar-zoom data-testid=editor-statusbar-zoom-control><button type=button class=oasis-editor-zoom-button>−</button><input class=oasis-editor-zoom-slider type=range><button type=button class=oasis-editor-zoom-button>+</button><span class="oasis-editor-statusbar-item oasis-editor-zoom-value"data-testid=editor-statusbar-zoom>%`), _tmpl$2$m = /* @__PURE__ */ template(`<span>`);
46873
47142
  function EditorStatusBar(props) {
46874
47143
  const t = useI18n();
46875
47144
  return (() => {
46876
- var _el$ = _tmpl$$A(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$2.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild;
47145
+ var _el$ = _tmpl$$B(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$2.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild;
46877
47146
  insert(_el$3, () => t("status.words", [props.wordCount()]));
46878
47147
  insert(_el$4, () => t("status.characters", [props.characterCount()]));
46879
47148
  insert(_el$5, () => t("status.page", [props.currentPage(), props.totalPages()]));
@@ -46896,7 +47165,7 @@ function EditorStatusBar(props) {
46896
47165
  return createComponent(Show, {
46897
47166
  when: key,
46898
47167
  get children() {
46899
- var _el$11 = _tmpl$2$l();
47168
+ var _el$11 = _tmpl$2$m();
46900
47169
  insert(_el$11, () => t(key));
46901
47170
  createRenderEffect(() => className(_el$11, `oasis-editor-statusbar-item oasis-editor-persistence-status oasis-editor-status-${status.replace("...", "ing").replace(".", "")}`));
46902
47171
  return _el$11;
@@ -46929,7 +47198,7 @@ function EditorStatusBar(props) {
46929
47198
  })();
46930
47199
  }
46931
47200
  delegateEvents(["click", "input"]);
46932
- var _tmpl$$z = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-zoom-sizer><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content style="position:absolute;top:0px;transform-origin:top left"><textarea aria-label="Editor input"autocomplete=off autocapitalize=off class=oasis-editor-input data-testid=editor-input value style=pointer-events:none></textarea><input data-testid=editor-import-docx-input type=file style=display:none><input accept="image/png, image/jpeg, image/gif"data-testid=editor-insert-image-input type=file style=display:none>`);
47201
+ var _tmpl$$A = /* @__PURE__ */ template(`<div data-testid=editor-editor-shell><div class=oasis-editor-editor data-testid=editor-editor><div class=oasis-editor-editor-zoom-sizer><div class=oasis-editor-editor-scroll-content data-testid=editor-editor-scroll-content style="position:absolute;top:0px;transform-origin:top left"><textarea aria-label="Editor input"autocomplete=off autocapitalize=off class=oasis-editor-input data-testid=editor-input value style=pointer-events:none></textarea><input data-testid=editor-import-docx-input type=file style=display:none><input accept="image/png, image/jpeg, image/gif"data-testid=editor-insert-image-input type=file style=display:none>`);
46933
47202
  function OasisEditorEditor(props) {
46934
47203
  const layout = () => props.layout;
46935
47204
  const overlays = () => props.overlays;
@@ -47061,7 +47330,7 @@ function OasisEditorEditor(props) {
47061
47330
  queueMicrotask(recomputeViewportPageIndex);
47062
47331
  });
47063
47332
  return (() => {
47064
- var _el$ = _tmpl$$z(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling;
47333
+ var _el$ = _tmpl$$A(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$6.nextSibling;
47065
47334
  insert(_el$, createComponent(Show, {
47066
47335
  get when() {
47067
47336
  return memo(() => !!layout().showHorizontalRuler)() && overlays().toolbarHost;
@@ -48159,11 +48428,11 @@ function createCanvasLayoutSnapshotProvider() {
48159
48428
  }
48160
48429
  };
48161
48430
  }
48162
- var _tmpl$$y = /* @__PURE__ */ template(`<button>`);
48431
+ var _tmpl$$z = /* @__PURE__ */ template(`<button>`);
48163
48432
  function FloatingActionButton(props) {
48164
48433
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "class", "classList"]);
48165
48434
  return (() => {
48166
- var _el$ = _tmpl$$y();
48435
+ var _el$ = _tmpl$$z();
48167
48436
  spread(_el$, mergeProps({
48168
48437
  get type() {
48169
48438
  return local.type ?? "button";
@@ -48192,7 +48461,7 @@ function FloatingActionButton(props) {
48192
48461
  return _el$;
48193
48462
  })();
48194
48463
  }
48195
- var _tmpl$$x = /* @__PURE__ */ template(`<aside>`), _tmpl$2$k = /* @__PURE__ */ template(`<div>`);
48464
+ var _tmpl$$y = /* @__PURE__ */ template(`<aside>`), _tmpl$2$l = /* @__PURE__ */ template(`<div>`);
48196
48465
  function SidePanel(props) {
48197
48466
  const [local, others] = splitProps(props, ["mode", "width", "class", "classList", "children", "style"]);
48198
48467
  const width = () => {
@@ -48202,7 +48471,7 @@ function SidePanel(props) {
48202
48471
  return local.width ?? "360px";
48203
48472
  };
48204
48473
  return (() => {
48205
- var _el$ = _tmpl$$x();
48474
+ var _el$ = _tmpl$$y();
48206
48475
  spread(_el$, mergeProps({
48207
48476
  get ["class"]() {
48208
48477
  return `oasis-editor-plugin-side-panel ${local.class ?? ""}`;
@@ -48227,7 +48496,7 @@ function SidePanel(props) {
48227
48496
  function SidePanelHeader(props) {
48228
48497
  const [local, others] = splitProps(props, ["class", "children"]);
48229
48498
  return (() => {
48230
- var _el$2 = _tmpl$2$k();
48499
+ var _el$2 = _tmpl$2$l();
48231
48500
  spread(_el$2, mergeProps({
48232
48501
  get ["class"]() {
48233
48502
  return `oasis-editor-plugin-side-panel-header ${local.class ?? ""}`;
@@ -48240,7 +48509,7 @@ function SidePanelHeader(props) {
48240
48509
  function SidePanelBody(props) {
48241
48510
  const [local, others] = splitProps(props, ["class", "children"]);
48242
48511
  return (() => {
48243
- var _el$3 = _tmpl$2$k();
48512
+ var _el$3 = _tmpl$2$l();
48244
48513
  spread(_el$3, mergeProps({
48245
48514
  get ["class"]() {
48246
48515
  return `oasis-editor-plugin-side-panel-body ${local.class ?? ""}`;
@@ -48253,7 +48522,7 @@ function SidePanelBody(props) {
48253
48522
  function SidePanelFooter(props) {
48254
48523
  const [local, others] = splitProps(props, ["class", "children"]);
48255
48524
  return (() => {
48256
- var _el$4 = _tmpl$2$k();
48525
+ var _el$4 = _tmpl$2$l();
48257
48526
  spread(_el$4, mergeProps({
48258
48527
  get ["class"]() {
48259
48528
  return `oasis-editor-plugin-side-panel-footer ${local.class ?? ""}`;
@@ -48263,11 +48532,11 @@ function SidePanelFooter(props) {
48263
48532
  return _el$4;
48264
48533
  })();
48265
48534
  }
48266
- var _tmpl$$w = /* @__PURE__ */ template(`<button>`);
48535
+ var _tmpl$$x = /* @__PURE__ */ template(`<button>`);
48267
48536
  function IconButton(props) {
48268
48537
  const [local, others] = splitProps(props, ["type", "icon", "label", "active", "variant", "size", "class", "classList"]);
48269
48538
  return (() => {
48270
- var _el$ = _tmpl$$w();
48539
+ var _el$ = _tmpl$$x();
48271
48540
  spread(_el$, mergeProps({
48272
48541
  get type() {
48273
48542
  return local.type ?? "button";
@@ -48298,7 +48567,7 @@ function IconButton(props) {
48298
48567
  return _el$;
48299
48568
  })();
48300
48569
  }
48301
- var _tmpl$$v = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$j = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$c = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$8 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title>`);
48570
+ var _tmpl$$w = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-floating-actions>`), _tmpl$2$k = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-ui-host><div class=oasis-editor-plugin-ui-main>`), _tmpl$3$d = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-overlay>`), _tmpl$4$8 = /* @__PURE__ */ template(`<div class=oasis-editor-plugin-side-panel-title>`);
48302
48571
  const EMPTY_SNAPSHOT = {
48303
48572
  floatingActions: [],
48304
48573
  sidePanels: [],
@@ -48330,7 +48599,7 @@ function PluginUiHost(props) {
48330
48599
  return groupActionsByPlacement(actions());
48331
48600
  },
48332
48601
  children: (group) => (() => {
48333
- var _el$ = _tmpl$$v();
48602
+ var _el$ = _tmpl$$w();
48334
48603
  insert(_el$, createComponent(For, {
48335
48604
  get each() {
48336
48605
  return group.actions;
@@ -48359,7 +48628,7 @@ function PluginUiHost(props) {
48359
48628
  })()
48360
48629
  });
48361
48630
  return (() => {
48362
- var _el$2 = _tmpl$2$j(), _el$3 = _el$2.firstChild;
48631
+ var _el$2 = _tmpl$2$k(), _el$3 = _el$2.firstChild;
48363
48632
  insert(_el$3, resolvedChildren);
48364
48633
  insert(_el$2, createComponent(Show, {
48365
48634
  get when() {
@@ -48372,7 +48641,7 @@ function PluginUiHost(props) {
48372
48641
  return overlayPanel();
48373
48642
  },
48374
48643
  children: (panel) => (() => {
48375
- var _el$4 = _tmpl$3$c();
48644
+ var _el$4 = _tmpl$3$d();
48376
48645
  insert(_el$4, () => renderPanel(props.editor, panel(), t));
48377
48646
  return _el$4;
48378
48647
  })()
@@ -48482,7 +48751,7 @@ function groupActionsByPlacement(actions) {
48482
48751
  actions: groupActions
48483
48752
  }));
48484
48753
  }
48485
- var _tmpl$$u = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
48754
+ var _tmpl$$v = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage>`);
48486
48755
  function DocumentShell(props) {
48487
48756
  let surfaceEl;
48488
48757
  let viewportEl;
@@ -48609,7 +48878,7 @@ function DocumentShell(props) {
48609
48878
  return props.runtimeEditor;
48610
48879
  },
48611
48880
  get children() {
48612
- var _el$ = _tmpl$$u(), _el$2 = _el$.firstChild;
48881
+ var _el$ = _tmpl$$v(), _el$2 = _el$.firstChild;
48613
48882
  insert(_el$, createComponent(Show, {
48614
48883
  get when() {
48615
48884
  return memo(() => !!props.showChrome)() && props.showOutline;
@@ -48673,10 +48942,10 @@ function DocumentShell(props) {
48673
48942
  }
48674
48943
  })];
48675
48944
  }
48676
- var _tmpl$$t = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$i = /* @__PURE__ */ template(`<div class=oasis-inline-shell style="border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);overflow:hidden;display:flex;flex-direction:column">`);
48945
+ var _tmpl$$u = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$j = /* @__PURE__ */ template(`<div class=oasis-inline-shell style="border:1px solid var(--oasis-toolbar-border);border-radius:var(--oasis-radius);overflow:hidden;display:flex;flex-direction:column">`);
48677
48946
  function InlineShell(props) {
48678
48947
  return (() => {
48679
- var _el$ = _tmpl$2$i();
48948
+ var _el$ = _tmpl$2$j();
48680
48949
  insert(_el$, createComponent(Show, {
48681
48950
  get when() {
48682
48951
  return memo(() => !!props.showChrome)() && props.showToolbar;
@@ -48703,7 +48972,7 @@ function InlineShell(props) {
48703
48972
  return props.runtimeEditor;
48704
48973
  },
48705
48974
  get children() {
48706
- var _el$2 = _tmpl$$t(), _el$3 = _el$2.firstChild;
48975
+ var _el$2 = _tmpl$$u(), _el$3 = _el$2.firstChild;
48707
48976
  insert(_el$3, createComponent(OasisEditorEditor, {
48708
48977
  state: () => props.state,
48709
48978
  get layout() {
@@ -48742,16 +49011,16 @@ function InlineShell(props) {
48742
49011
  return _el$;
48743
49012
  })();
48744
49013
  }
48745
- var _tmpl$$s = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$h = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
49014
+ var _tmpl$$t = /* @__PURE__ */ template(`<div class=oasis-editor-main-container><section class=oasis-editor-stage style=padding:0>`), _tmpl$2$i = /* @__PURE__ */ template(`<div class=oasis-balloon-shell>`);
48746
49015
  function BalloonShell(props) {
48747
49016
  return (() => {
48748
- var _el$ = _tmpl$2$h();
49017
+ var _el$ = _tmpl$2$i();
48749
49018
  insert(_el$, createComponent(PluginUiHost, {
48750
49019
  get editor() {
48751
49020
  return props.runtimeEditor;
48752
49021
  },
48753
49022
  get children() {
48754
- var _el$2 = _tmpl$$s(), _el$3 = _el$2.firstChild;
49023
+ var _el$2 = _tmpl$$t(), _el$3 = _el$2.firstChild;
48755
49024
  insert(_el$3, createComponent(OasisEditorEditor, {
48756
49025
  state: () => props.state,
48757
49026
  get layout() {
@@ -48790,7 +49059,7 @@ function BalloonShell(props) {
48790
49059
  return _el$;
48791
49060
  })();
48792
49061
  }
48793
- var _tmpl$$r = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$g = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-overlay><div role=dialog aria-modal=true data-testid=editor-dialog><div class=oasis-editor-dialog-header><h3 class=oasis-editor-dialog-title></h3><button class=oasis-editor-dialog-close data-testid=editor-dialog-close><i data-lucide=x></i></button></div><div data-testid=editor-dialog-body>`);
49062
+ var _tmpl$$s = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-footer data-testid=editor-dialog-footer>`), _tmpl$2$h = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-overlay><div role=dialog aria-modal=true data-testid=editor-dialog><div class=oasis-editor-dialog-header><h3 class=oasis-editor-dialog-title></h3><button class=oasis-editor-dialog-close data-testid=editor-dialog-close><i data-lucide=x></i></button></div><div data-testid=editor-dialog-body>`);
48794
49063
  function Dialog(props) {
48795
49064
  const t = useI18n();
48796
49065
  let dialogRef;
@@ -48815,7 +49084,7 @@ function Dialog(props) {
48815
49084
  return props.isOpen;
48816
49085
  },
48817
49086
  get children() {
48818
- var _el$ = _tmpl$2$g(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
49087
+ var _el$ = _tmpl$2$h(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
48819
49088
  _el$.$$click = () => {
48820
49089
  if (props.closeOnOverlayClick ?? true) {
48821
49090
  props.onClose();
@@ -48832,7 +49101,7 @@ function Dialog(props) {
48832
49101
  return props.footer;
48833
49102
  },
48834
49103
  get children() {
48835
- var _el$7 = _tmpl$$r();
49104
+ var _el$7 = _tmpl$$s();
48836
49105
  insert(_el$7, () => props.footer);
48837
49106
  return _el$7;
48838
49107
  }
@@ -48861,7 +49130,7 @@ function Dialog(props) {
48861
49130
  });
48862
49131
  }
48863
49132
  delegateEvents(["click"]);
48864
- var _tmpl$$q = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$f = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$b = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
49133
+ var _tmpl$$r = /* @__PURE__ */ template(`<div><div class=oasis-editor-tabs-list role=tablist>`), _tmpl$2$g = /* @__PURE__ */ template(`<button type=button role=tab class=oasis-editor-tabs-tab>`), _tmpl$3$c = /* @__PURE__ */ template(`<div role=tabpanel class=oasis-editor-tabs-panel>`);
48865
49134
  function findEnabledItem(items, startIndex, direction) {
48866
49135
  if (!items.length) return void 0;
48867
49136
  for (let step = 0; step < items.length; step += 1) {
@@ -48912,7 +49181,7 @@ function Tabs(props) {
48912
49181
  selectItem(findEnabledItem(items(), currentIndex + direction, direction), true);
48913
49182
  };
48914
49183
  return (() => {
48915
- var _el$ = _tmpl$$q(), _el$2 = _el$.firstChild;
49184
+ var _el$ = _tmpl$$r(), _el$2 = _el$.firstChild;
48916
49185
  _el$2.$$keydown = handleKeyDown;
48917
49186
  insert(_el$2, createComponent(For, {
48918
49187
  get each() {
@@ -48922,7 +49191,7 @@ function Tabs(props) {
48922
49191
  const tabId = `${baseId}-${item.id}-tab`;
48923
49192
  const panelId = `${baseId}-${item.id}-panel`;
48924
49193
  return (() => {
48925
- var _el$3 = _tmpl$2$f();
49194
+ var _el$3 = _tmpl$2$g();
48926
49195
  _el$3.$$click = () => selectItem(item);
48927
49196
  use((element) => {
48928
49197
  tabRefs[index()] = element;
@@ -48957,7 +49226,7 @@ function Tabs(props) {
48957
49226
  return items();
48958
49227
  },
48959
49228
  children: (item) => (() => {
48960
- var _el$4 = _tmpl$3$b();
49229
+ var _el$4 = _tmpl$3$c();
48961
49230
  insert(_el$4, () => item.panel);
48962
49231
  createRenderEffect((_p$) => {
48963
49232
  var _a2, _b2;
@@ -48989,12 +49258,12 @@ function Tabs(props) {
48989
49258
  })();
48990
49259
  }
48991
49260
  delegateEvents(["keydown", "click"]);
48992
- var _tmpl$$p = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
49261
+ var _tmpl$$q = /* @__PURE__ */ template(`<button><span class=oasis-editor-ui-button-label>`);
48993
49262
  function Button(props) {
48994
49263
  const [local, others] = splitProps(props, ["type", "variant", "size", "icon", "iconPosition", "fullWidth", "class", "classList", "children"]);
48995
49264
  const iconPosition = () => local.iconPosition ?? "start";
48996
49265
  return (() => {
48997
- var _el$ = _tmpl$$p(), _el$2 = _el$.firstChild;
49266
+ var _el$ = _tmpl$$q(), _el$2 = _el$.firstChild;
48998
49267
  spread(_el$, mergeProps({
48999
49268
  get type() {
49000
49269
  return local.type ?? "button";
@@ -49074,11 +49343,11 @@ function StatusText(props) {
49074
49343
  }
49075
49344
  }, others));
49076
49345
  }
49077
- var _tmpl$$o = /* @__PURE__ */ template(`<div>`);
49346
+ var _tmpl$$p = /* @__PURE__ */ template(`<div>`);
49078
49347
  function ActionRow(props) {
49079
49348
  const [local, others] = splitProps(props, ["align", "wrap", "class", "classList", "children"]);
49080
49349
  return (() => {
49081
- var _el$ = _tmpl$$o();
49350
+ var _el$ = _tmpl$$p();
49082
49351
  spread(_el$, mergeProps({
49083
49352
  get ["class"]() {
49084
49353
  return `oasis-editor-ui-action-row ${local.class ?? ""}`;
@@ -49134,7 +49403,7 @@ function mergeStyles(...styles) {
49134
49403
  }
49135
49404
  return Object.assign({}, ...objectStyles);
49136
49405
  }
49137
- var _tmpl$$n = /* @__PURE__ */ template(`<span class=oasis-editor-ui-stack-divider-item aria-hidden=true>`);
49406
+ var _tmpl$$o = /* @__PURE__ */ template(`<span class=oasis-editor-ui-stack-divider-item aria-hidden=true>`);
49138
49407
  function childArray(value) {
49139
49408
  if (Array.isArray(value)) return value;
49140
49409
  if (value === null || value === void 0 || value === false) return [];
@@ -49174,7 +49443,7 @@ function Stack(props) {
49174
49443
  return memo(() => index() > 0)() && local.divider;
49175
49444
  },
49176
49445
  get children() {
49177
- var _el$ = _tmpl$$n();
49446
+ var _el$ = _tmpl$$o();
49178
49447
  insert(_el$, () => renderDivider(index()));
49179
49448
  return _el$;
49180
49449
  }
@@ -49253,14 +49522,14 @@ function Grid(props) {
49253
49522
  }
49254
49523
  }));
49255
49524
  }
49256
- var _tmpl$$m = /* @__PURE__ */ template(`<label>`), _tmpl$2$e = /* @__PURE__ */ template(`<div>`);
49525
+ var _tmpl$$n = /* @__PURE__ */ template(`<label>`), _tmpl$2$f = /* @__PURE__ */ template(`<div>`);
49257
49526
  function FormField(props) {
49258
49527
  const fallbackId = createUniqueId();
49259
49528
  const [local, others] = splitProps(props, ["label", "for", "description", "error", "labelClass", "class", "classList", "children"]);
49260
49529
  const descriptionId = () => local.for ?? `${fallbackId}-description`;
49261
49530
  const errorId = () => local.for ?? `${fallbackId}-error`;
49262
49531
  return (() => {
49263
- var _el$ = _tmpl$2$e();
49532
+ var _el$ = _tmpl$2$f();
49264
49533
  spread(_el$, mergeProps({
49265
49534
  get ["class"]() {
49266
49535
  return `oasis-editor-ui-field ${local.class ?? ""}`;
@@ -49274,7 +49543,7 @@ function FormField(props) {
49274
49543
  return local.label;
49275
49544
  },
49276
49545
  get children() {
49277
- var _el$2 = _tmpl$$m();
49546
+ var _el$2 = _tmpl$$n();
49278
49547
  insert(_el$2, () => local.label);
49279
49548
  createRenderEffect((_p$) => {
49280
49549
  var _v$ = `oasis-editor-ui-field-label ${local.labelClass ?? ""}`, _v$2 = local.for;
@@ -49325,7 +49594,7 @@ function FormField(props) {
49325
49594
  return _el$;
49326
49595
  })();
49327
49596
  }
49328
- var _tmpl$$l = /* @__PURE__ */ template(`<span>`), _tmpl$2$d = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$a = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$7 = /* @__PURE__ */ template(`<label><input>`);
49597
+ var _tmpl$$m = /* @__PURE__ */ template(`<span>`), _tmpl$2$e = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$b = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$7 = /* @__PURE__ */ template(`<label><input>`);
49329
49598
  function TextField(props) {
49330
49599
  const fallbackId = createUniqueId();
49331
49600
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "onChange", "class", "classList", "id"]);
@@ -49339,7 +49608,7 @@ function TextField(props) {
49339
49608
  return local.label;
49340
49609
  },
49341
49610
  get children() {
49342
- var _el$2 = _tmpl$$l();
49611
+ var _el$2 = _tmpl$$m();
49343
49612
  insert(_el$2, () => local.label);
49344
49613
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-label ${local.labelClass ?? ""}`));
49345
49614
  return _el$2;
@@ -49368,7 +49637,7 @@ function TextField(props) {
49368
49637
  return local.description;
49369
49638
  },
49370
49639
  get children() {
49371
- var _el$4 = _tmpl$2$d();
49640
+ var _el$4 = _tmpl$2$e();
49372
49641
  insert(_el$4, () => local.description);
49373
49642
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
49374
49643
  return _el$4;
@@ -49379,7 +49648,7 @@ function TextField(props) {
49379
49648
  return local.error;
49380
49649
  },
49381
49650
  get children() {
49382
- var _el$5 = _tmpl$3$a();
49651
+ var _el$5 = _tmpl$3$b();
49383
49652
  insert(_el$5, () => local.error);
49384
49653
  createRenderEffect(() => setAttribute(_el$5, "id", errorId()));
49385
49654
  return _el$5;
@@ -49400,7 +49669,7 @@ function TextField(props) {
49400
49669
  })();
49401
49670
  }
49402
49671
  delegateEvents(["input"]);
49403
- var _tmpl$$k = /* @__PURE__ */ template(`<textarea>`);
49672
+ var _tmpl$$l = /* @__PURE__ */ template(`<textarea>`);
49404
49673
  function TextAreaField(props) {
49405
49674
  const fallbackId = createUniqueId();
49406
49675
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "onChange", "class", "id"]);
@@ -49426,7 +49695,7 @@ function TextAreaField(props) {
49426
49695
  return local.error;
49427
49696
  },
49428
49697
  get children() {
49429
- var _el$ = _tmpl$$k();
49698
+ var _el$ = _tmpl$$l();
49430
49699
  _el$.$$input = (event) => {
49431
49700
  var _a2;
49432
49701
  return (_a2 = local.onChange) == null ? void 0 : _a2.call(local, event.currentTarget.value);
@@ -49462,7 +49731,7 @@ function ColorField(props) {
49462
49731
  }
49463
49732
  }, others));
49464
49733
  }
49465
- var _tmpl$$j = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$c = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$9 = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-checkbox-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`);
49734
+ var _tmpl$$k = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$d = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$3$a = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-checkbox-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`);
49466
49735
  function Checkbox(props) {
49467
49736
  const fallbackId = createUniqueId();
49468
49737
  const [local, others] = splitProps(props, ["label", "description", "error", "onChange", "class", "id"]);
@@ -49470,7 +49739,7 @@ function Checkbox(props) {
49470
49739
  const descriptionId = () => `${id()}-description`;
49471
49740
  const errorId = () => `${id()}-error`;
49472
49741
  return (() => {
49473
- var _el$ = _tmpl$3$9(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
49742
+ var _el$ = _tmpl$3$a(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
49474
49743
  _el$2.addEventListener("change", (event) => {
49475
49744
  var _a2;
49476
49745
  return (_a2 = local.onChange) == null ? void 0 : _a2.call(local, event.currentTarget.checked);
@@ -49492,7 +49761,7 @@ function Checkbox(props) {
49492
49761
  return local.description;
49493
49762
  },
49494
49763
  get children() {
49495
- var _el$5 = _tmpl$$j();
49764
+ var _el$5 = _tmpl$$k();
49496
49765
  insert(_el$5, () => local.description);
49497
49766
  createRenderEffect(() => setAttribute(_el$5, "id", descriptionId()));
49498
49767
  return _el$5;
@@ -49503,7 +49772,7 @@ function Checkbox(props) {
49503
49772
  return local.error;
49504
49773
  },
49505
49774
  get children() {
49506
- var _el$6 = _tmpl$2$c();
49775
+ var _el$6 = _tmpl$2$d();
49507
49776
  insert(_el$6, () => local.error);
49508
49777
  createRenderEffect(() => setAttribute(_el$6, "id", errorId()));
49509
49778
  return _el$6;
@@ -49521,7 +49790,7 @@ function Checkbox(props) {
49521
49790
  return _el$;
49522
49791
  })();
49523
49792
  }
49524
- var _tmpl$$i = /* @__PURE__ */ template(`<span>`), _tmpl$2$b = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$6 = /* @__PURE__ */ template(`<label><select>`), _tmpl$5$4 = /* @__PURE__ */ template(`<option>`);
49793
+ var _tmpl$$j = /* @__PURE__ */ template(`<span>`), _tmpl$2$c = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$3$9 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-error>`), _tmpl$4$6 = /* @__PURE__ */ template(`<label><select>`), _tmpl$5$4 = /* @__PURE__ */ template(`<option>`);
49525
49794
  function SelectField(props) {
49526
49795
  const fallbackId = createUniqueId();
49527
49796
  const [local, others] = splitProps(props, ["label", "description", "error", "labelClass", "controlClass", "options", "onChange", "class", "classList", "id", "value"]);
@@ -49536,7 +49805,7 @@ function SelectField(props) {
49536
49805
  return local.label;
49537
49806
  },
49538
49807
  get children() {
49539
- var _el$2 = _tmpl$$i();
49808
+ var _el$2 = _tmpl$$j();
49540
49809
  insert(_el$2, () => local.label);
49541
49810
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-label ${local.labelClass ?? ""}`));
49542
49811
  return _el$2;
@@ -49589,7 +49858,7 @@ function SelectField(props) {
49589
49858
  return local.description;
49590
49859
  },
49591
49860
  get children() {
49592
- var _el$4 = _tmpl$2$b();
49861
+ var _el$4 = _tmpl$2$c();
49593
49862
  insert(_el$4, () => local.description);
49594
49863
  createRenderEffect(() => setAttribute(_el$4, "id", descriptionId()));
49595
49864
  return _el$4;
@@ -49600,7 +49869,7 @@ function SelectField(props) {
49600
49869
  return local.error;
49601
49870
  },
49602
49871
  get children() {
49603
- var _el$5 = _tmpl$3$8();
49872
+ var _el$5 = _tmpl$3$9();
49604
49873
  insert(_el$5, () => local.error);
49605
49874
  createRenderEffect(() => setAttribute(_el$5, "id", errorId()));
49606
49875
  return _el$5;
@@ -49635,7 +49904,7 @@ function NumberField(props) {
49635
49904
  }
49636
49905
  }, others));
49637
49906
  }
49638
- var _tmpl$$h = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$a = /* @__PURE__ */ template(`<label><input type=radio class=oasis-editor-ui-radio-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`), _tmpl$3$7 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div role=radiogroup>`);
49907
+ var _tmpl$$i = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-description>`), _tmpl$2$b = /* @__PURE__ */ template(`<label><input type=radio class=oasis-editor-ui-radio-input><span class=oasis-editor-ui-checkbox-copy><span class=oasis-editor-ui-field-label>`), _tmpl$3$8 = /* @__PURE__ */ template(`<span class=oasis-editor-ui-field-label>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div role=radiogroup>`);
49639
49908
  const RadioGroupCtx = createContext();
49640
49909
  function Radio(props) {
49641
49910
  const fallbackId = createUniqueId();
@@ -49646,7 +49915,7 @@ function Radio(props) {
49646
49915
  const checked = () => group ? group.value() === local.value : Boolean(local.checked);
49647
49916
  const disabled = () => Boolean(local.disabled) || (group ? group.disabled() : false);
49648
49917
  return (() => {
49649
- var _el$ = _tmpl$2$a(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
49918
+ var _el$ = _tmpl$2$b(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
49650
49919
  _el$2.addEventListener("change", (event) => {
49651
49920
  var _a2;
49652
49921
  if (group) group.onSelect(local.value);
@@ -49678,7 +49947,7 @@ function Radio(props) {
49678
49947
  return local.description;
49679
49948
  },
49680
49949
  get children() {
49681
- var _el$5 = _tmpl$$h();
49950
+ var _el$5 = _tmpl$$i();
49682
49951
  insert(_el$5, () => local.description);
49683
49952
  createRenderEffect(() => setAttribute(_el$5, "id", descriptionId()));
49684
49953
  return _el$5;
@@ -49716,7 +49985,7 @@ function RadioGroup(props) {
49716
49985
  return props.label;
49717
49986
  },
49718
49987
  get children() {
49719
- var _el$7 = _tmpl$3$7();
49988
+ var _el$7 = _tmpl$3$8();
49720
49989
  insert(_el$7, () => props.label);
49721
49990
  return _el$7;
49722
49991
  }
@@ -49763,7 +50032,7 @@ function RadioGroup(props) {
49763
50032
  }
49764
50033
  });
49765
50034
  }
49766
- var _tmpl$$g = /* @__PURE__ */ template(`<div>`);
50035
+ var _tmpl$$h = /* @__PURE__ */ template(`<div>`);
49767
50036
  const ALIGN_MAP = {
49768
50037
  start: "flex-start",
49769
50038
  center: "center",
@@ -49773,7 +50042,7 @@ const ALIGN_MAP = {
49773
50042
  function FieldRow(props) {
49774
50043
  const [local, others] = splitProps(props, ["align", "class", "style", "children"]);
49775
50044
  return (() => {
49776
- var _el$ = _tmpl$$g();
50045
+ var _el$ = _tmpl$$h();
49777
50046
  spread(_el$, mergeProps({
49778
50047
  get ["class"]() {
49779
50048
  return `oasis-editor-ui-field-row ${local.class ?? ""}`;
@@ -49789,11 +50058,11 @@ function FieldRow(props) {
49789
50058
  return _el$;
49790
50059
  })();
49791
50060
  }
49792
- var _tmpl$$f = /* @__PURE__ */ template(`<legend>`), _tmpl$2$9 = /* @__PURE__ */ template(`<fieldset>`);
50061
+ var _tmpl$$g = /* @__PURE__ */ template(`<legend>`), _tmpl$2$a = /* @__PURE__ */ template(`<fieldset>`);
49793
50062
  function FieldGroup(props) {
49794
50063
  const [local, others] = splitProps(props, ["legend", "legendClass", "class", "children"]);
49795
50064
  return (() => {
49796
- var _el$ = _tmpl$2$9();
50065
+ var _el$ = _tmpl$2$a();
49797
50066
  spread(_el$, mergeProps({
49798
50067
  get ["class"]() {
49799
50068
  return `oasis-editor-ui-field-group ${local.class ?? ""}`;
@@ -49804,7 +50073,7 @@ function FieldGroup(props) {
49804
50073
  return local.legend;
49805
50074
  },
49806
50075
  get children() {
49807
- var _el$2 = _tmpl$$f();
50076
+ var _el$2 = _tmpl$$g();
49808
50077
  insert(_el$2, () => local.legend);
49809
50078
  createRenderEffect(() => className(_el$2, `oasis-editor-ui-field-group-legend ${local.legendClass ?? ""}`));
49810
50079
  return _el$2;
@@ -49814,11 +50083,11 @@ function FieldGroup(props) {
49814
50083
  return _el$;
49815
50084
  })();
49816
50085
  }
49817
- var _tmpl$$e = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-toggle-chip-input><span class=oasis-editor-ui-toggle-chip-label>`);
50086
+ var _tmpl$$f = /* @__PURE__ */ template(`<label><input type=checkbox class=oasis-editor-ui-toggle-chip-input><span class=oasis-editor-ui-toggle-chip-label>`);
49818
50087
  function ToggleChip(props) {
49819
50088
  const [local, others] = splitProps(props, ["label", "labelStyle", "onChange", "class", "checked"]);
49820
50089
  return (() => {
49821
- var _el$ = _tmpl$$e(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
50090
+ var _el$ = _tmpl$$f(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
49822
50091
  _el$2.addEventListener("change", (event) => {
49823
50092
  var _a2;
49824
50093
  return (_a2 = local.onChange) == null ? void 0 : _a2.call(local, event.currentTarget.checked);
@@ -49843,11 +50112,11 @@ function ToggleChip(props) {
49843
50112
  return _el$;
49844
50113
  })();
49845
50114
  }
49846
- var _tmpl$$d = /* @__PURE__ */ template(`<div>`);
50115
+ var _tmpl$$e = /* @__PURE__ */ template(`<div>`);
49847
50116
  function DialogFooter(props) {
49848
50117
  const [local, others] = splitProps(props, ["align", "class", "classList", "children"]);
49849
50118
  return (() => {
49850
- var _el$ = _tmpl$$d();
50119
+ var _el$ = _tmpl$$e();
49851
50120
  spread(_el$, mergeProps({
49852
50121
  get ["class"]() {
49853
50122
  return `oasis-editor-ui-dialog-footer ${local.class ?? ""}`;
@@ -50112,7 +50381,7 @@ const UNDERLINE_STYLE_OPTIONS = [
50112
50381
  }
50113
50382
  }
50114
50383
  ];
50115
- var _tmpl$$c = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action data-testid=editor-toolbar-underline-remove role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$8 = /* @__PURE__ */ template(`<div class=oasis-editor-underline-menu-list>`), _tmpl$3$6 = /* @__PURE__ */ template(`<span class="oasis-editor-color-split-icon oasis-editor-underline-split-icon"><span class=oasis-editor-underline-split-glyph aria-hidden=true>U</span><span class=oasis-editor-underline-split-indicator>`), _tmpl$4$4 = /* @__PURE__ */ template(`<span class="oasis-editor-underline-menu-stroke oasis-editor-underline-menu-stroke-svg">`), _tmpl$5$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-underline-menu-item role=menuitemradio><span class=oasis-editor-underline-menu-preview></span><span class=oasis-editor-underline-menu-label>`), _tmpl$6$3 = /* @__PURE__ */ template(`<span class=oasis-editor-underline-menu-stroke>`);
50384
+ var _tmpl$$d = /* @__PURE__ */ template(`<button type=button class=oasis-editor-color-menu-action data-testid=editor-toolbar-underline-remove role=menuitem><span class=oasis-editor-color-menu-action-swatch><i data-lucide=slash></i></span><span>`), _tmpl$2$9 = /* @__PURE__ */ template(`<div class=oasis-editor-underline-menu-list>`), _tmpl$3$7 = /* @__PURE__ */ template(`<span class="oasis-editor-color-split-icon oasis-editor-underline-split-icon"><span class=oasis-editor-underline-split-glyph aria-hidden=true>U</span><span class=oasis-editor-underline-split-indicator>`), _tmpl$4$4 = /* @__PURE__ */ template(`<span class="oasis-editor-underline-menu-stroke oasis-editor-underline-menu-stroke-svg">`), _tmpl$5$3 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-underline-menu-item role=menuitemradio><span class=oasis-editor-underline-menu-preview></span><span class=oasis-editor-underline-menu-label>`), _tmpl$6$3 = /* @__PURE__ */ template(`<span class=oasis-editor-underline-menu-stroke>`);
50116
50385
  const mod$1 = /Mac/i.test(navigator.userAgent) ? "⌘" : "Ctrl";
50117
50386
  const TEST_ID = "editor-toolbar-underline";
50118
50387
  function UnderlineControl(props) {
@@ -50163,14 +50432,14 @@ function UnderlineControl(props) {
50163
50432
  panelRole: "menu",
50164
50433
  get mainContent() {
50165
50434
  return (() => {
50166
- var _el$5 = _tmpl$3$6(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
50435
+ var _el$5 = _tmpl$3$7(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
50167
50436
  createRenderEffect(() => setAttribute(_el$7, "data-style", indicatorStyle()));
50168
50437
  return _el$5;
50169
50438
  })();
50170
50439
  },
50171
50440
  get children() {
50172
50441
  return [(() => {
50173
- var _el$ = _tmpl$$c(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
50442
+ var _el$ = _tmpl$$d(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
50174
50443
  _el$.$$click = () => {
50175
50444
  removeUnderline();
50176
50445
  setOpen(false);
@@ -50178,7 +50447,7 @@ function UnderlineControl(props) {
50178
50447
  insert(_el$3, () => t("toolbar.underlineRemove"));
50179
50448
  return _el$;
50180
50449
  })(), (() => {
50181
- var _el$4 = _tmpl$2$8();
50450
+ var _el$4 = _tmpl$2$9();
50182
50451
  insert(_el$4, createComponent(For, {
50183
50452
  each: UNDERLINE_STYLE_OPTIONS,
50184
50453
  children: (option) => {
@@ -50233,7 +50502,7 @@ function UnderlineControl(props) {
50233
50502
  });
50234
50503
  }
50235
50504
  delegateEvents(["click"]);
50236
- var _tmpl$$b = /* @__PURE__ */ template(`<option value=decimal>`), _tmpl$2$7 = /* @__PURE__ */ template(`<option value=lowerLetter>`), _tmpl$3$5 = /* @__PURE__ */ template(`<option value=upperLetter>`), _tmpl$4$3 = /* @__PURE__ */ template(`<option value=lowerRoman>`), _tmpl$5$2 = /* @__PURE__ */ template(`<option value=upperRoman>`), _tmpl$6$2 = /* @__PURE__ */ template(`<option value=bullet>`), _tmpl$7$1 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><label class=oasis-editor-toolbar-field><span></span></label><label class=oasis-editor-toolbar-field><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-list-start-at min=1 step=1 placeholder=1>`);
50505
+ var _tmpl$$c = /* @__PURE__ */ template(`<option value=decimal>`), _tmpl$2$8 = /* @__PURE__ */ template(`<option value=lowerLetter>`), _tmpl$3$6 = /* @__PURE__ */ template(`<option value=upperLetter>`), _tmpl$4$3 = /* @__PURE__ */ template(`<option value=lowerRoman>`), _tmpl$5$2 = /* @__PURE__ */ template(`<option value=upperRoman>`), _tmpl$6$2 = /* @__PURE__ */ template(`<option value=bullet>`), _tmpl$7$1 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><label class=oasis-editor-toolbar-field><span></span></label><label class=oasis-editor-toolbar-field><span></span><input type=number class=oasis-editor-tool-number data-testid=editor-toolbar-list-start-at min=1 step=1 placeholder=1>`);
50237
50506
  function ListOptionsControl(props) {
50238
50507
  const t = useI18n();
50239
50508
  const api = props.api;
@@ -50255,15 +50524,15 @@ function ListOptionsControl(props) {
50255
50524
  },
50256
50525
  get children() {
50257
50526
  return [(() => {
50258
- var _el$4 = _tmpl$$b();
50527
+ var _el$4 = _tmpl$$c();
50259
50528
  insert(_el$4, () => t("toolbar.formatDecimal"));
50260
50529
  return _el$4;
50261
50530
  })(), (() => {
50262
- var _el$5 = _tmpl$2$7();
50531
+ var _el$5 = _tmpl$2$8();
50263
50532
  insert(_el$5, () => t("toolbar.formatLowerLetter"));
50264
50533
  return _el$5;
50265
50534
  })(), (() => {
50266
- var _el$6 = _tmpl$3$5();
50535
+ var _el$6 = _tmpl$3$6();
50267
50536
  insert(_el$6, () => t("toolbar.formatUpperLetter"));
50268
50537
  return _el$6;
50269
50538
  })(), (() => {
@@ -50293,7 +50562,7 @@ function parseNumber(value) {
50293
50562
  const parsed = Number(value);
50294
50563
  return Number.isFinite(parsed) ? parsed : null;
50295
50564
  }
50296
- var _tmpl$$a = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`);
50565
+ var _tmpl$$b = /* @__PURE__ */ template(`<div class=oasis-editor-dialog-preview data-testid=editor-line-spacing-dialog-preview><br>`);
50297
50566
  function LineSpacingDialog(props) {
50298
50567
  const t = useI18n();
50299
50568
  const [lineHeight, setLineHeight] = createSignal(null);
@@ -50424,7 +50693,7 @@ function LineSpacingDialog(props) {
50424
50693
  return t("lineSpacing.preview");
50425
50694
  },
50426
50695
  get children() {
50427
- var _el$ = _tmpl$$a(), _el$2 = _el$.firstChild;
50696
+ var _el$ = _tmpl$$b(), _el$2 = _el$.firstChild;
50428
50697
  insert(_el$, () => t("lineSpacing.previewText"), _el$2);
50429
50698
  insert(_el$, () => t("lineSpacing.previewText"), null);
50430
50699
  createRenderEffect((_$p) => style(_el$, previewStyle2(), _$p));
@@ -50434,7 +50703,7 @@ function LineSpacingDialog(props) {
50434
50703
  }
50435
50704
  });
50436
50705
  }
50437
- var _tmpl$$9 = /* @__PURE__ */ template(`<div class=oasis-editor-line-spacing-menu-separator role=separator>`), _tmpl$2$6 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-line-spacing-item oasis-editor-line-spacing-item-more"role=menuitem data-testid=editor-toolbar-line-spacing-options><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`), _tmpl$3$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-line-spacing-item role=menuitemradio><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`);
50706
+ var _tmpl$$a = /* @__PURE__ */ template(`<div class=oasis-editor-line-spacing-menu-separator role=separator>`), _tmpl$2$7 = /* @__PURE__ */ template(`<button type=button class="oasis-editor-line-spacing-item oasis-editor-line-spacing-item-more"role=menuitem data-testid=editor-toolbar-line-spacing-options><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`), _tmpl$3$5 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-line-spacing-item role=menuitemradio><span class=oasis-editor-line-spacing-item-check aria-hidden=true></span><span class=oasis-editor-line-spacing-item-label>`);
50438
50707
  const PRESET_VALUES = [1, 1.15, 1.5, 2, 2.5, 3];
50439
50708
  function formatPreset(value) {
50440
50709
  return value.toFixed(value === Math.floor(value) ? 1 : 2);
@@ -50504,7 +50773,7 @@ function LineSpacingButton(props) {
50504
50773
  return lh !== null && approxEqual(lh, value);
50505
50774
  };
50506
50775
  return (() => {
50507
- var _el$5 = _tmpl$3$4(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
50776
+ var _el$5 = _tmpl$3$5(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
50508
50777
  _el$5.$$click = () => applyPreset(value);
50509
50778
  insert(_el$6, createComponent(Show, {
50510
50779
  get when() {
@@ -50533,8 +50802,8 @@ function LineSpacingButton(props) {
50533
50802
  return _el$5;
50534
50803
  })();
50535
50804
  }
50536
- }), _tmpl$$9(), (() => {
50537
- var _el$2 = _tmpl$2$6(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
50805
+ }), _tmpl$$a(), (() => {
50806
+ var _el$2 = _tmpl$2$7(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
50538
50807
  _el$2.$$click = openDialog;
50539
50808
  insert(_el$4, () => t("metric.lineSpacingOptions"));
50540
50809
  return _el$2;
@@ -50563,7 +50832,7 @@ function LineSpacingButton(props) {
50563
50832
  })];
50564
50833
  }
50565
50834
  delegateEvents(["click"]);
50566
- var _tmpl$$8 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-panel-grid>`);
50835
+ var _tmpl$$9 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`), _tmpl$2$6 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-panel-grid>`);
50567
50836
  const numValue = (api, command) => {
50568
50837
  const value = api.commands.state(command).value;
50569
50838
  return value == null ? "" : String(value);
@@ -50582,7 +50851,7 @@ function MetricGroup(props) {
50582
50851
  keepMounted: true,
50583
50852
  get children() {
50584
50853
  return [(() => {
50585
- var _el$ = _tmpl$$8();
50854
+ var _el$ = _tmpl$$9();
50586
50855
  insert(_el$, createComponent(Button$1, {
50587
50856
  icon: "file-up",
50588
50857
  get active() {
@@ -50607,7 +50876,7 @@ function MetricGroup(props) {
50607
50876
  }), null);
50608
50877
  return _el$;
50609
50878
  })(), (() => {
50610
- var _el$2 = _tmpl$2$5();
50879
+ var _el$2 = _tmpl$2$6();
50611
50880
  insert(_el$2, createComponent(NumberField, {
50612
50881
  "class": "oasis-editor-tool-metric",
50613
50882
  labelClass: "oasis-editor-tool-metric-label",
@@ -50709,7 +50978,7 @@ function MetricGroup(props) {
50709
50978
  }
50710
50979
  });
50711
50980
  }
50712
- var _tmpl$$7 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-toolbar-panel-actions">`);
50981
+ var _tmpl$$8 = /* @__PURE__ */ template(`<div class="oasis-editor-toolbar-panel-section oasis-editor-section-panel-section">`);
50713
50982
  function SectionGroup(props) {
50714
50983
  const t = useI18n();
50715
50984
  const api = props.api;
@@ -50722,13 +50991,17 @@ function SectionGroup(props) {
50722
50991
  get tooltip() {
50723
50992
  return t("section.pageSetup");
50724
50993
  },
50725
- panelClass: "oasis-editor-toolbar-panel",
50994
+ panelClass: "oasis-editor-toolbar-panel oasis-editor-section-panel",
50726
50995
  keepMounted: true,
50727
50996
  get children() {
50728
50997
  return [(() => {
50729
- var _el$ = _tmpl$$7();
50998
+ var _el$ = _tmpl$$8();
50730
50999
  insert(_el$, createComponent(Button$1, {
50731
51000
  icon: "rectangle-vertical",
51001
+ get label() {
51002
+ return t("section.portrait");
51003
+ },
51004
+ "class": "oasis-editor-section-option",
50732
51005
  get active() {
50733
51006
  return !api.commands.state("toggleOrientation").isActive;
50734
51007
  },
@@ -50743,6 +51016,10 @@ function SectionGroup(props) {
50743
51016
  }), null);
50744
51017
  insert(_el$, createComponent(Button$1, {
50745
51018
  icon: "rectangle-horizontal",
51019
+ get label() {
51020
+ return t("section.landscape");
51021
+ },
51022
+ "class": "oasis-editor-section-option",
50746
51023
  get active() {
50747
51024
  return api.commands.state("toggleOrientation").isActive;
50748
51025
  },
@@ -50757,9 +51034,13 @@ function SectionGroup(props) {
50757
51034
  }), null);
50758
51035
  return _el$;
50759
51036
  })(), (() => {
50760
- var _el$2 = _tmpl$$7();
51037
+ var _el$2 = _tmpl$$8();
50761
51038
  insert(_el$2, createComponent(Button$1, {
50762
51039
  icon: "scissors",
51040
+ get label() {
51041
+ return t("section.secNext");
51042
+ },
51043
+ "class": "oasis-editor-section-option",
50763
51044
  "data-testid": "editor-toolbar-section-break-next",
50764
51045
  onClick: () => api.commands.execute("sectionBreakNextPage"),
50765
51046
  get tooltip() {
@@ -50767,7 +51048,11 @@ function SectionGroup(props) {
50767
51048
  }
50768
51049
  }), null);
50769
51050
  insert(_el$2, createComponent(Button$1, {
50770
- icon: "scissors",
51051
+ icon: "scissors-line-dashed",
51052
+ get label() {
51053
+ return t("section.secCont");
51054
+ },
51055
+ "class": "oasis-editor-section-option",
50771
51056
  "data-testid": "editor-toolbar-section-break-continuous",
50772
51057
  onClick: () => api.commands.execute("sectionBreakContinuous"),
50773
51058
  get tooltip() {
@@ -50839,7 +51124,7 @@ function marginsMatchPreset(margins, preset) {
50839
51124
  const target = presetMarginsPx(preset);
50840
51125
  return Math.abs(margins.top - target.top) <= 1 && Math.abs(margins.bottom - target.bottom) <= 1 && Math.abs(margins.left - target.left) <= 1 && Math.abs(margins.right - target.right) <= 1;
50841
51126
  }
50842
- var _tmpl$$6 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-list>`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-form>`), _tmpl$3$3 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><button type=button class=oasis-editor-margins-custom-toggle data-testid=editor-toolbar-margins-custom><i data-lucide=sliders-horizontal></i><span>`), _tmpl$4$2 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-actions><button type=button class=oasis-editor-margins-custom-apply data-testid=editor-toolbar-margins-custom-apply>`), _tmpl$5$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-margins-item><span class=oasis-editor-margins-item-name></span><span class=oasis-editor-margins-item-values><br>`), _tmpl$6$1 = /* @__PURE__ */ template(`<label class=oasis-editor-margins-custom-field><span></span><input type=number min=0 step=0.1>`);
51127
+ var _tmpl$$7 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-list>`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-form>`), _tmpl$3$4 = /* @__PURE__ */ template(`<div class=oasis-editor-toolbar-list-options><button type=button class=oasis-editor-margins-custom-toggle data-testid=editor-toolbar-margins-custom><i data-lucide=sliders-horizontal></i><span>`), _tmpl$4$2 = /* @__PURE__ */ template(`<div class=oasis-editor-margins-custom-actions><button type=button class=oasis-editor-margins-custom-apply data-testid=editor-toolbar-margins-custom-apply>`), _tmpl$5$1 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-margins-item><span class=oasis-editor-margins-item-name></span><span class=oasis-editor-margins-item-values><br>`), _tmpl$6$1 = /* @__PURE__ */ template(`<label class=oasis-editor-margins-custom-field><span></span><input type=number min=0 step=0.1>`);
50843
51128
  const FIELDS = [{
50844
51129
  key: "top",
50845
51130
  labelKey: "section.marginField.top"
@@ -50909,7 +51194,7 @@ function MarginsGroup(props) {
50909
51194
  keepMounted: true,
50910
51195
  get children() {
50911
51196
  return [(() => {
50912
- var _el$ = _tmpl$$6();
51197
+ var _el$ = _tmpl$$7();
50913
51198
  insert(_el$, createComponent(For, {
50914
51199
  each: MARGIN_PRESETS,
50915
51200
  children: (preset) => (() => {
@@ -50919,20 +51204,22 @@ function MarginsGroup(props) {
50919
51204
  insert(_el$1, () => `${t("section.marginField.top")} ${formatCm(preset.top)} ${t("section.marginField.bottom")} ${formatCm(preset.bottom)}`, _el$10);
50920
51205
  insert(_el$1, () => `${t("section.marginField.left")} ${formatCm(preset.left)} ${t("section.marginField.right")} ${formatCm(preset.right)}`, null);
50921
51206
  createRenderEffect((_p$) => {
50922
- var _v$ = !!(activePresetId() === preset.id), _v$2 = `editor-toolbar-margins-${preset.id}`;
51207
+ var _v$ = !!(activePresetId() === preset.id), _v$2 = preset.id, _v$3 = `editor-toolbar-margins-${preset.id}`;
50923
51208
  _v$ !== _p$.e && _el$9.classList.toggle("oasis-editor-margins-item-active", _p$.e = _v$);
50924
- _v$2 !== _p$.t && setAttribute(_el$9, "data-testid", _p$.t = _v$2);
51209
+ _v$2 !== _p$.t && setAttribute(_el$9, "data-margin-preset", _p$.t = _v$2);
51210
+ _v$3 !== _p$.a && setAttribute(_el$9, "data-testid", _p$.a = _v$3);
50925
51211
  return _p$;
50926
51212
  }, {
50927
51213
  e: void 0,
50928
- t: void 0
51214
+ t: void 0,
51215
+ a: void 0
50929
51216
  });
50930
51217
  return _el$9;
50931
51218
  })()
50932
51219
  }));
50933
51220
  return _el$;
50934
51221
  })(), (() => {
50935
- var _el$2 = _tmpl$3$3(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
51222
+ var _el$2 = _tmpl$3$4(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
50936
51223
  _el$3.$$click = openCustom;
50937
51224
  insert(_el$5, () => t("section.marginPreset.custom"));
50938
51225
  insert(_el$2, createComponent(Show, {
@@ -50940,7 +51227,7 @@ function MarginsGroup(props) {
50940
51227
  return showCustom();
50941
51228
  },
50942
51229
  get children() {
50943
- var _el$6 = _tmpl$2$4();
51230
+ var _el$6 = _tmpl$2$5();
50944
51231
  insert(_el$6, createComponent(For, {
50945
51232
  each: FIELDS,
50946
51233
  children: (field) => (() => {
@@ -51469,7 +51756,7 @@ function shapeLabel(preset, locale) {
51469
51756
  var _a2;
51470
51757
  return ((_a2 = SHAPE_LABELS[preset]) == null ? void 0 : _a2[locale]) ?? preset;
51471
51758
  }
51472
- var _tmpl$$5 = /* @__PURE__ */ template(`<svg class=oasis-editor-shape-thumb viewBox="0 0 22 22"width=22 height=22 aria-hidden=true><path stroke=currentColor stroke-width=1 stroke-linejoin=round stroke-linecap=round vector-effect=non-scaling-stroke>`);
51759
+ var _tmpl$$6 = /* @__PURE__ */ template(`<svg class=oasis-editor-shape-thumb viewBox="0 0 22 22"width=22 height=22 aria-hidden=true><path stroke=currentColor stroke-width=1 stroke-linejoin=round stroke-linecap=round vector-effect=non-scaling-stroke>`);
51473
51760
  const PREVIEW_W = 22;
51474
51761
  const PREVIEW_H = 22;
51475
51762
  const PREVIEW_PAD = 2;
@@ -51500,7 +51787,7 @@ function ShapeThumbnail(props) {
51500
51787
  const d = () => presetToSvgPath(props.preset, PREVIEW_PAD, PREVIEW_PAD, PREVIEW_W - PREVIEW_PAD * 2, PREVIEW_H - PREVIEW_PAD * 2);
51501
51788
  const strokeOnly = () => STROKE_ONLY_PRESETS.has(props.preset);
51502
51789
  return (() => {
51503
- var _el$ = _tmpl$$5(), _el$2 = _el$.firstChild;
51790
+ var _el$ = _tmpl$$6(), _el$2 = _el$.firstChild;
51504
51791
  createRenderEffect((_p$) => {
51505
51792
  var _v$ = d(), _v$2 = strokeOnly() ? "none" : "currentColor", _v$3 = strokeOnly() ? void 0 : "0.18";
51506
51793
  _v$ !== _p$.e && setAttribute(_el$2, "d", _p$.e = _v$);
@@ -51541,7 +51828,7 @@ function pushRecentShape(preset) {
51541
51828
  }
51542
51829
  return next;
51543
51830
  }
51544
- var _tmpl$$4 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-shape-gallery-tile>`), _tmpl$2$3 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery-section-header>`), _tmpl$3$2 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery-grid>`), _tmpl$4$1 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery>`);
51831
+ var _tmpl$$5 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-shape-gallery-tile>`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery-section-header>`), _tmpl$3$3 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery-grid>`), _tmpl$4$1 = /* @__PURE__ */ template(`<div class=oasis-editor-shape-gallery>`);
51545
51832
  function ShapeGallery(props) {
51546
51833
  const t = useI18n();
51547
51834
  const locale = () => t("locale.id") === "en" ? "en" : "pt-BR";
@@ -51552,7 +51839,7 @@ function ShapeGallery(props) {
51552
51839
  props.api.focusEditor();
51553
51840
  };
51554
51841
  const Tile = (tileProps) => (() => {
51555
- var _el$ = _tmpl$$4();
51842
+ var _el$ = _tmpl$$5();
51556
51843
  _el$.$$click = () => insert$1(tileProps.preset);
51557
51844
  insert(_el$, createComponent(ShapeThumbnail, {
51558
51845
  get preset() {
@@ -51580,11 +51867,11 @@ function ShapeGallery(props) {
51580
51867
  },
51581
51868
  get children() {
51582
51869
  return [(() => {
51583
- var _el$3 = _tmpl$2$3();
51870
+ var _el$3 = _tmpl$2$4();
51584
51871
  insert(_el$3, () => t("toolbar.shapes.recentlyUsed"));
51585
51872
  return _el$3;
51586
51873
  })(), (() => {
51587
- var _el$4 = _tmpl$3$2();
51874
+ var _el$4 = _tmpl$3$3();
51588
51875
  insert(_el$4, createComponent(For, {
51589
51876
  get each() {
51590
51877
  return recent();
@@ -51600,11 +51887,11 @@ function ShapeGallery(props) {
51600
51887
  insert(_el$2, createComponent(For, {
51601
51888
  each: SHAPE_CATEGORIES,
51602
51889
  children: (category) => [(() => {
51603
- var _el$5 = _tmpl$2$3();
51890
+ var _el$5 = _tmpl$2$4();
51604
51891
  insert(_el$5, () => t(category.headerKey));
51605
51892
  return _el$5;
51606
51893
  })(), (() => {
51607
- var _el$6 = _tmpl$3$2();
51894
+ var _el$6 = _tmpl$3$3();
51608
51895
  insert(_el$6, createComponent(For, {
51609
51896
  get each() {
51610
51897
  return category.presets;
@@ -51620,6 +51907,228 @@ function ShapeGallery(props) {
51620
51907
  })();
51621
51908
  }
51622
51909
  delegateEvents(["click"]);
51910
+ const entries = (characters) => Array.from(characters).map(
51911
+ (character) => ({
51912
+ character,
51913
+ codePoint: `U+${character.codePointAt(0).toString(16).toUpperCase().padStart(4, "0")}`
51914
+ })
51915
+ );
51916
+ const SYMBOL_CATEGORIES = [
51917
+ {
51918
+ id: "common",
51919
+ labelKey: "symbols.category.common",
51920
+ entries: entries("©®™§¶†‡•…—–°µ¿¡")
51921
+ },
51922
+ {
51923
+ id: "math",
51924
+ labelKey: "symbols.category.math",
51925
+ entries: entries("±×÷≠≤≥≈∞√∑∏∂∆∫πΩ")
51926
+ },
51927
+ {
51928
+ id: "arrows",
51929
+ labelKey: "symbols.category.arrows",
51930
+ entries: entries("←→↑↓↔↕⇒⇐⇔↗↘↙↖")
51931
+ },
51932
+ {
51933
+ id: "currency",
51934
+ labelKey: "symbols.category.currency",
51935
+ entries: entries("¢€£¥₽₹₿")
51936
+ },
51937
+ {
51938
+ id: "greek",
51939
+ labelKey: "symbols.category.greek",
51940
+ entries: entries("αβγδεθλμσφωΑΒΓΔΘΛΜΣΦΩ")
51941
+ },
51942
+ {
51943
+ id: "numbers",
51944
+ labelKey: "symbols.category.numbers",
51945
+ entries: entries("①②③④⑤⑥⑦⑧⑨⑩½⅓¼¾²³ⁿ№")
51946
+ }
51947
+ ];
51948
+ const COMMON_SYMBOLS = SYMBOL_CATEGORIES.slice(0, 3).flatMap(
51949
+ (category) => category.entries
51950
+ );
51951
+ const NUMBER_SYMBOLS = SYMBOL_CATEGORIES.find(
51952
+ (category) => category.id === "numbers"
51953
+ ).entries;
51954
+ const EQUATION_TEMPLATES = [
51955
+ { character: "a² + b² = c²", codePoint: "Pythagorean theorem" },
51956
+ { character: "E = mc²", codePoint: "Mass–energy equivalence" },
51957
+ { character: "A = πr²", codePoint: "Circle area" },
51958
+ {
51959
+ character: "x = (−b ± √(b² − 4ac)) / 2a",
51960
+ codePoint: "Quadratic formula"
51961
+ }
51962
+ ];
51963
+ const MAX_RECENT_SYMBOLS = 12;
51964
+ let recentSymbols = [];
51965
+ function getRecentSymbols() {
51966
+ return recentSymbols;
51967
+ }
51968
+ function rememberSymbol(character) {
51969
+ const existing = SYMBOL_CATEGORIES.flatMap(
51970
+ (category) => category.entries
51971
+ ).find((entry2) => entry2.character === character);
51972
+ const entry = existing ?? {
51973
+ character,
51974
+ codePoint: `U+${character.codePointAt(0).toString(16).toUpperCase().padStart(4, "0")}`
51975
+ };
51976
+ recentSymbols = [
51977
+ entry,
51978
+ ...recentSymbols.filter(
51979
+ (recent) => recent.character !== character
51980
+ )
51981
+ ].slice(0, MAX_RECENT_SYMBOLS);
51982
+ }
51983
+ var _tmpl$$4 = /* @__PURE__ */ template(`<div class=oasis-editor-symbol-menu-actions><button type=button class=oasis-editor-symbol-menu-action data-testid=editor-toolbar-equation><span></span></button><button type=button class=oasis-editor-symbol-menu-action data-testid=editor-toolbar-symbol><span></span></button><button type=button class=oasis-editor-symbol-menu-action data-testid=editor-toolbar-number><span>`), _tmpl$2$3 = /* @__PURE__ */ template(`<div class=oasis-editor-symbol-picker><div class=oasis-editor-symbol-picker-header><button type=button class=oasis-editor-symbol-back></button><span></span></div><div class=oasis-editor-symbol-grid></div><button type=button class=oasis-editor-symbol-more data-testid=editor-toolbar-more-symbols><span>`), _tmpl$3$2 = /* @__PURE__ */ template(`<button type=button class=oasis-editor-symbol-tile>`);
51984
+ function SymbolMenu(props) {
51985
+ const t = useI18n();
51986
+ const [view, setView] = createSignal("root");
51987
+ const insert$1 = (entry) => {
51988
+ if (!props.api.commands.canExecute("insertText", entry.character)) return;
51989
+ rememberSymbol(entry.character);
51990
+ props.api.commands.execute("insertText", entry.character);
51991
+ props.api.focusEditor();
51992
+ };
51993
+ const viewTitle = () => {
51994
+ switch (view()) {
51995
+ case "symbols":
51996
+ return t("symbols.menu.symbol");
51997
+ case "numbers":
51998
+ return t("symbols.menu.number");
51999
+ case "equations":
52000
+ return t("symbols.menu.equation");
52001
+ default:
52002
+ return t("toolbar.symbols");
52003
+ }
52004
+ };
52005
+ const entriesForView = () => {
52006
+ switch (view()) {
52007
+ case "symbols":
52008
+ return COMMON_SYMBOLS;
52009
+ case "numbers":
52010
+ return NUMBER_SYMBOLS;
52011
+ case "equations":
52012
+ return EQUATION_TEMPLATES;
52013
+ default:
52014
+ return [];
52015
+ }
52016
+ };
52017
+ return createComponent(Menu, {
52018
+ icon: "omega",
52019
+ get label() {
52020
+ return t("toolbar.symbols");
52021
+ },
52022
+ testId: "editor-toolbar-symbols",
52023
+ get tooltip() {
52024
+ return t("toolbar.symbols");
52025
+ },
52026
+ ribbonSize: "large",
52027
+ panelClass: "oasis-editor-symbol-menu-panel",
52028
+ onOpenChange: (open) => {
52029
+ if (open) setView("root");
52030
+ },
52031
+ get children() {
52032
+ return createComponent(Show, {
52033
+ get when() {
52034
+ return view() === "root";
52035
+ },
52036
+ get fallback() {
52037
+ return (() => {
52038
+ var _el$8 = _tmpl$2$3(), _el$9 = _el$8.firstChild, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$9.nextSibling, _el$11 = _el$10.nextSibling, _el$12 = _el$11.firstChild;
52039
+ _el$0.$$click = (event) => {
52040
+ event.stopPropagation();
52041
+ setView("root");
52042
+ };
52043
+ insert(_el$0, createComponent(ToolIcon, {
52044
+ name: "arrow-left"
52045
+ }));
52046
+ insert(_el$1, viewTitle);
52047
+ insert(_el$10, createComponent(For, {
52048
+ get each() {
52049
+ return entriesForView();
52050
+ },
52051
+ children: (entry) => (() => {
52052
+ var _el$13 = _tmpl$3$2();
52053
+ _el$13.$$click = () => insert$1(entry);
52054
+ insert(_el$13, () => entry.character);
52055
+ createRenderEffect((_p$) => {
52056
+ var _v$3 = `${entry.character} (${entry.codePoint})`, _v$4 = `${entry.character} (${entry.codePoint})`, _v$5 = `editor-symbol-${entry.codePoint.replace(/[^A-Z0-9]/g, "-")}`;
52057
+ _v$3 !== _p$.e && setAttribute(_el$13, "title", _p$.e = _v$3);
52058
+ _v$4 !== _p$.t && setAttribute(_el$13, "aria-label", _p$.t = _v$4);
52059
+ _v$5 !== _p$.a && setAttribute(_el$13, "data-testid", _p$.a = _v$5);
52060
+ return _p$;
52061
+ }, {
52062
+ e: void 0,
52063
+ t: void 0,
52064
+ a: void 0
52065
+ });
52066
+ return _el$13;
52067
+ })()
52068
+ }));
52069
+ _el$11.$$click = () => {
52070
+ if (props.api.commands.canExecute("openSymbolDialog")) {
52071
+ props.api.commands.execute("openSymbolDialog");
52072
+ }
52073
+ };
52074
+ insert(_el$11, createComponent(ToolIcon, {
52075
+ name: "omega"
52076
+ }), _el$12);
52077
+ insert(_el$12, () => t("symbols.more"));
52078
+ createRenderEffect((_p$) => {
52079
+ var _v$ = t("generic.back"), _v$2 = !!(view() === "equations");
52080
+ _v$ !== _p$.e && setAttribute(_el$0, "aria-label", _p$.e = _v$);
52081
+ _v$2 !== _p$.t && _el$10.classList.toggle("oasis-editor-symbol-equation-grid", _p$.t = _v$2);
52082
+ return _p$;
52083
+ }, {
52084
+ e: void 0,
52085
+ t: void 0
52086
+ });
52087
+ return _el$8;
52088
+ })();
52089
+ },
52090
+ get children() {
52091
+ var _el$ = _tmpl$$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling, _el$7 = _el$6.firstChild;
52092
+ _el$2.$$click = (event) => {
52093
+ event.stopPropagation();
52094
+ setView("equations");
52095
+ };
52096
+ insert(_el$2, createComponent(ToolIcon, {
52097
+ name: "square-function"
52098
+ }), _el$3);
52099
+ insert(_el$3, () => t("symbols.menu.equation"));
52100
+ insert(_el$2, createComponent(ToolIcon, {
52101
+ name: "chevron-down"
52102
+ }), null);
52103
+ _el$4.$$click = (event) => {
52104
+ event.stopPropagation();
52105
+ setView("symbols");
52106
+ };
52107
+ insert(_el$4, createComponent(ToolIcon, {
52108
+ name: "omega"
52109
+ }), _el$5);
52110
+ insert(_el$5, () => t("symbols.menu.symbol"));
52111
+ insert(_el$4, createComponent(ToolIcon, {
52112
+ name: "chevron-down"
52113
+ }), null);
52114
+ _el$6.$$click = (event) => {
52115
+ event.stopPropagation();
52116
+ setView("numbers");
52117
+ };
52118
+ insert(_el$6, createComponent(ToolIcon, {
52119
+ name: "hash"
52120
+ }), _el$7);
52121
+ insert(_el$7, () => t("symbols.menu.number"));
52122
+ insert(_el$6, createComponent(ToolIcon, {
52123
+ name: "chevron-down"
52124
+ }), null);
52125
+ return _el$;
52126
+ }
52127
+ });
52128
+ }
52129
+ });
52130
+ }
52131
+ delegateEvents(["click"]);
51623
52132
  var _tmpl$$3 = /* @__PURE__ */ template(`<i>`), _tmpl$2$2 = /* @__PURE__ */ template(`<div class=oasis-editor-table-style-grid>`), _tmpl$3$1 = /* @__PURE__ */ template(`<div class=oasis-editor-table-style-gallery><div class=oasis-editor-table-style-strip role=listbox>`);
51624
52133
  const tableStyles = (styles) => styles.filter((style2) => style2.type === "table").map((style2, index) => ({
51625
52134
  style: style2,
@@ -52109,6 +52618,7 @@ function ImageCropMenu(props) {
52109
52618
  })();
52110
52619
  }
52111
52620
  const RIBBON_PLACEMENTS = {
52621
+ "editor-toolbar-new-document": { tab: "file", group: "document", row: 1 },
52112
52622
  "editor-toolbar-export-docx": { tab: "file", group: "document", row: 1 },
52113
52623
  "editor-toolbar-export-pdf": { tab: "file", group: "document", row: 1 },
52114
52624
  "editor-toolbar-import-document": { tab: "file", group: "document", row: 1 },
@@ -52143,6 +52653,7 @@ const RIBBON_PLACEMENTS = {
52143
52653
  group: "illustrations",
52144
52654
  row: 2
52145
52655
  },
52656
+ "editor-toolbar-symbols": { tab: "insert", group: "symbols", row: 1 },
52146
52657
  "editor-toolbar-insert-table": { tab: "insert", group: "tables", row: 1 },
52147
52658
  "editor-toolbar-link": { tab: "insert", group: "links", row: 1 },
52148
52659
  "editor-toolbar-unlink": { tab: "insert", group: "links", row: 2 },
@@ -52555,6 +53066,26 @@ const fontSizeOptions = (api) => {
52555
53066
  };
52556
53067
  function createDefaultToolbarPreset(t) {
52557
53068
  const items = [];
53069
+ items.push({
53070
+ type: "button",
53071
+ id: "editor-toolbar-new-document",
53072
+ testId: "editor-toolbar-new-document",
53073
+ iconName: "file-plus",
53074
+ labelKey: "toolbar.newDocument",
53075
+ tooltipKey: "toolbar.newDocument",
53076
+ command: "newDocument",
53077
+ ribbonSize: "large"
53078
+ });
53079
+ items.push({
53080
+ type: "button",
53081
+ id: "editor-toolbar-import-document",
53082
+ testId: "editor-toolbar-import-document",
53083
+ iconName: "upload",
53084
+ labelKey: "toolbar.importDocx",
53085
+ tooltipKey: "toolbar.importDocx",
53086
+ command: "importDocument",
53087
+ ribbonSize: "large"
53088
+ });
52558
53089
  items.push({
52559
53090
  type: "button",
52560
53091
  id: "editor-toolbar-export-docx",
@@ -52575,16 +53106,6 @@ function createDefaultToolbarPreset(t) {
52575
53106
  command: "exportPdf",
52576
53107
  ribbonSize: "large"
52577
53108
  });
52578
- items.push({
52579
- type: "button",
52580
- id: "editor-toolbar-import-document",
52581
- testId: "editor-toolbar-import-document",
52582
- iconName: "upload",
52583
- labelKey: "toolbar.import",
52584
- tooltipKey: "toolbar.import",
52585
- command: "importDocument",
52586
- ribbonSize: "large"
52587
- });
52588
53109
  items.push({
52589
53110
  type: "button",
52590
53111
  id: "editor-toolbar-undo",
@@ -52813,6 +53334,13 @@ function createDefaultToolbarPreset(t) {
52813
53334
  render: (api) => ShapeGallery({ api })
52814
53335
  }
52815
53336
  });
53337
+ items.push({
53338
+ type: "custom",
53339
+ id: "editor-toolbar-symbols",
53340
+ testId: "editor-toolbar-symbols",
53341
+ ribbonSize: "large",
53342
+ render: (api) => SymbolMenu({ api })
53343
+ });
52816
53344
  items.push({
52817
53345
  type: "gridPicker",
52818
53346
  id: "editor-toolbar-insert-table",
@@ -53115,9 +53643,10 @@ function createDefaultToolbarPreset(t) {
53115
53643
  return withDefaultRibbonPlacement(items);
53116
53644
  }
53117
53645
  const OASIS_TOOLBAR_ITEMS = {
53646
+ newDocument: "editor-toolbar-new-document",
53647
+ importDocument: "editor-toolbar-import-document",
53118
53648
  exportDocx: "editor-toolbar-export-docx",
53119
53649
  exportPdf: "editor-toolbar-export-pdf",
53120
- importDocument: "editor-toolbar-import-document",
53121
53650
  undo: "editor-toolbar-undo",
53122
53651
  redo: "editor-toolbar-redo",
53123
53652
  style: "editor-toolbar-style",
@@ -53134,6 +53663,7 @@ const OASIS_TOOLBAR_ITEMS = {
53134
53663
  subscript: "editor-toolbar-subscript",
53135
53664
  insertImage: "editor-toolbar-insert-image",
53136
53665
  insertTable: "editor-toolbar-insert-table",
53666
+ symbols: "editor-toolbar-symbols",
53137
53667
  link: "editor-toolbar-link",
53138
53668
  unlink: "editor-toolbar-unlink",
53139
53669
  footnote: "editor-toolbar-footnote",
@@ -53220,7 +53750,7 @@ export {
53220
53750
  resolveDefaultParagraphStyleId as Z,
53221
53751
  findParagraphTablePathLocation as _,
53222
53752
  getPageBodyBottom as a,
53223
- use as a$,
53753
+ SurfaceButton as a$,
53224
53754
  resolveTablePath as a0,
53225
53755
  buildTableCellLayout as a1,
53226
53756
  PT_PER_PX as a2,
@@ -53252,12 +53782,12 @@ export {
53252
53782
  RadioGroup as aS,
53253
53783
  Radio as aT,
53254
53784
  TextAreaField as aU,
53255
- Text$1 as aV,
53256
- SurfaceButton as aW,
53257
- delegateEvents as aX,
53258
- onMount as aY,
53259
- onCleanup as aZ,
53260
- CheckIcon as a_,
53785
+ COMMON_SYMBOLS as aV,
53786
+ getRecentSymbols as aW,
53787
+ SYMBOL_CATEGORIES as aX,
53788
+ rememberSymbol as aY,
53789
+ delegateEvents as aZ,
53790
+ Text$1 as a_,
53261
53791
  listKindForTag as aa,
53262
53792
  isParagraphTag as ab,
53263
53793
  collectInlineRuns as ac,
@@ -53285,215 +53815,219 @@ export {
53285
53815
  TextField as ay,
53286
53816
  Dialog as az,
53287
53817
  getPageBodyTop as b,
53288
- buildSegmentTable as b$,
53289
- PluginUiHost as b0,
53290
- OasisEditorEditor as b1,
53291
- OasisBrandMark as b2,
53292
- setPreciseFontPreference as b3,
53293
- setWelcomeSeen as b4,
53294
- enablePreciseFontMode as b5,
53295
- WORD_NS$1 as b6,
53296
- XMLSerializer as b7,
53297
- DOMParser$1 as b8,
53298
- WORD14_NS as b9,
53299
- DEFAULT_FONT_SIZE_PX as bA,
53300
- resolveGradientAxis as bB,
53301
- isDoubleUnderlineStyle as bC,
53302
- isWavyUnderlineStyle as bD,
53303
- underlineStyleLineWidthPx as bE,
53304
- WAVY_UNDERLINE_WAVELENGTH_PX as bF,
53305
- WAVY_UNDERLINE_AMPLITUDE_PX as bG,
53306
- DOUBLE_UNDERLINE_OFFSET_PX as bH,
53307
- underlineStyleDashArray as bI,
53308
- resolveEffectiveParagraphStyle as bJ,
53309
- EMPHASIS_GLYPH as bK,
53310
- parseHexColorToRgb255 as bL,
53311
- rgb255ToHex as bM,
53312
- getImageFloatingGeometry as bN,
53313
- resolveEffectiveTextStyleForParagraph as bO,
53314
- textStyleToFontSizePt as bP,
53315
- resolveTextAlignmentBaselineOffset as bQ,
53316
- TEXT_BASELINE_RATIO as bR,
53317
- resolveRenderedTextChar as bS,
53318
- resolveOpenTypeFeatureTags as bT,
53319
- isLowercaseSmallCapsChar as bU,
53320
- resolveDecorationLineY as bV,
53321
- DOUBLE_STRIKE_OFFSET_PX as bW,
53322
- resolveListLabel as bX,
53323
- getListLabelInset as bY,
53324
- getAlignedListLabelInset as bZ,
53325
- getParagraphBorderInsets as b_,
53326
- mergeNestedExtensionMarkup as ba,
53327
- resolveOpcRelationships as bb,
53328
- parseOpcRelationships as bc,
53329
- JSZip as bd,
53330
- normalizeOpcPartPath as be,
53331
- OPC_CONTENT_TYPES_PATH as bf,
53332
- getOpcRelationshipOwnerPath as bg,
53333
- serializeOpcRelationships as bh,
53334
- OPC_ROOT_RELATIONSHIPS_PATH as bi,
53335
- hashDocxPartBytes as bj,
53336
- parseOpcContentTypes as bk,
53337
- serializeOpcContentTypes as bl,
53338
- mergeParagraphPropertiesXmlSource as bm,
53339
- setEditorRunOoxmlSource as bn,
53340
- mergeRunOoxmlSourceIntoGeneratedXml as bo,
53341
- mergeTableCellPropertiesXmlSource as bp,
53342
- mergeTableRowPropertiesXmlSource as bq,
53343
- mergeTablePropertiesXmlSource as br,
53344
- exportEditorDocumentToDocxBlob as bs,
53345
- exportEditorDocumentToDocx as bt,
53346
- pxToPt as bu,
53347
- resolveFloatingObjectRect as bv,
53348
- getTextBoxFloatingGeometry as bw,
53349
- getPresetPathSegments as bx,
53350
- buildListLabels as by,
53351
- lineDashPatternPt as bz,
53818
+ resolveListLabel as b$,
53819
+ onMount as b0,
53820
+ onCleanup as b1,
53821
+ CheckIcon as b2,
53822
+ use as b3,
53823
+ PluginUiHost as b4,
53824
+ OasisEditorEditor as b5,
53825
+ OasisBrandMark as b6,
53826
+ setPreciseFontPreference as b7,
53827
+ setWelcomeSeen as b8,
53828
+ enablePreciseFontMode as b9,
53829
+ getTextBoxFloatingGeometry as bA,
53830
+ getPresetPathSegments as bB,
53831
+ buildListLabels as bC,
53832
+ lineDashPatternPt as bD,
53833
+ DEFAULT_FONT_SIZE_PX as bE,
53834
+ resolveGradientAxis as bF,
53835
+ isDoubleUnderlineStyle as bG,
53836
+ isWavyUnderlineStyle as bH,
53837
+ underlineStyleLineWidthPx as bI,
53838
+ WAVY_UNDERLINE_WAVELENGTH_PX as bJ,
53839
+ WAVY_UNDERLINE_AMPLITUDE_PX as bK,
53840
+ DOUBLE_UNDERLINE_OFFSET_PX as bL,
53841
+ underlineStyleDashArray as bM,
53842
+ resolveEffectiveParagraphStyle as bN,
53843
+ EMPHASIS_GLYPH as bO,
53844
+ parseHexColorToRgb255 as bP,
53845
+ rgb255ToHex as bQ,
53846
+ getImageFloatingGeometry as bR,
53847
+ resolveEffectiveTextStyleForParagraph as bS,
53848
+ textStyleToFontSizePt as bT,
53849
+ resolveTextAlignmentBaselineOffset as bU,
53850
+ TEXT_BASELINE_RATIO as bV,
53851
+ resolveRenderedTextChar as bW,
53852
+ resolveOpenTypeFeatureTags as bX,
53853
+ isLowercaseSmallCapsChar as bY,
53854
+ resolveDecorationLineY as bZ,
53855
+ DOUBLE_STRIKE_OFFSET_PX as b_,
53856
+ WORD_NS$1 as ba,
53857
+ XMLSerializer as bb,
53858
+ DOMParser$1 as bc,
53859
+ WORD14_NS as bd,
53860
+ mergeNestedExtensionMarkup as be,
53861
+ resolveOpcRelationships as bf,
53862
+ parseOpcRelationships as bg,
53863
+ JSZip as bh,
53864
+ normalizeOpcPartPath as bi,
53865
+ OPC_CONTENT_TYPES_PATH as bj,
53866
+ getOpcRelationshipOwnerPath as bk,
53867
+ serializeOpcRelationships as bl,
53868
+ OPC_ROOT_RELATIONSHIPS_PATH as bm,
53869
+ hashDocxPartBytes as bn,
53870
+ parseOpcContentTypes as bo,
53871
+ serializeOpcContentTypes as bp,
53872
+ mergeParagraphPropertiesXmlSource as bq,
53873
+ setEditorRunOoxmlSource as br,
53874
+ mergeRunOoxmlSourceIntoGeneratedXml as bs,
53875
+ mergeTableCellPropertiesXmlSource as bt,
53876
+ mergeTableRowPropertiesXmlSource as bu,
53877
+ mergeTablePropertiesXmlSource as bv,
53878
+ exportEditorDocumentToDocxBlob as bw,
53879
+ exportEditorDocumentToDocx as bx,
53880
+ pxToPt as by,
53881
+ resolveFloatingObjectRect as bz,
53352
53882
  getPageContentWidth as c,
53353
- renumberFootnotes as c$,
53354
- buildCanvasTableLayout as c0,
53355
- resolveCanvasTableWidth as c1,
53356
- resolveFloatingTableRect as c2,
53357
- paragraphBetweenBorderMatches as c3,
53358
- normalizeFamily as c4,
53359
- ROBOTO_FONT_FILES as c5,
53360
- loadFontAsset as c6,
53361
- getRemotePdfFontFaces as c7,
53362
- OFFICE_COMPAT_FONT_FAMILIES as c8,
53363
- BinaryReader as c9,
53364
- createCanvasLayoutSnapshotProvider as cA,
53365
- on as cB,
53366
- debounce as cC,
53367
- unwrap as cD,
53368
- perfTimer as cE,
53369
- prepareDocumentFonts as cF,
53370
- getRunTextBox as cG,
53371
- EMU_PER_PX as cH,
53372
- createEditorDocument as cI,
53373
- resolveResizedDimensions as cJ,
53374
- axisSignForDirection as cK,
53375
- clamp as cL,
53376
- MIN_RESIZE_SIZE_PX as cM,
53377
- resolveTextBoxRenderHeight as cN,
53378
- getToolbarStyleState as cO,
53379
- VERTICAL_HIT_WEIGHT as cP,
53380
- getCachedCanvasImage as cQ,
53381
- measureParagraphMinContentWidthPx as cR,
53382
- createSectionBoundaryParagraph as cS,
53383
- normalizePageSettings as cT,
53384
- DEFAULT_EDITOR_PAGE_SETTINGS as cU,
53385
- markStart as cV,
53386
- markEnd as cW,
53387
- getParagraphEntries as cX,
53388
- getParagraphById as cY,
53389
- createEditorFootnote as cZ,
53390
- createFootnoteReferenceRun as c_,
53391
- buildSfnt as ca,
53392
- defaultFontDecoderRegistry as cb,
53393
- SfntFontProgram as cc,
53394
- zlibSync as cd,
53395
- renumberImageCaptionsInDocument as ce,
53396
- collectPdfFontFamilies as cf,
53397
- outlineFrom as cg,
53398
- getPageHeaderZoneTop as ch,
53399
- getPageColumnRects as ci,
53400
- findFootnoteReference as cj,
53401
- resolveImporterForFile as ck,
53402
- roundTo as cl,
53403
- getDocumentSectionsCanonical as cm,
53404
- getDocumentParagraphsCanonical as cn,
53405
- getDocumentParagraphs as co,
53406
- getImageCaptionText as cp,
53407
- isImageCaptionParagraph as cq,
53408
- updateImageCaptionParagraph as cr,
53409
- createImageCaptionParagraph as cs,
53410
- renumberImageCaptionParagraphs as ct,
53411
- getCaptionSelectionOffset as cu,
53412
- PX_PER_CM as cv,
53413
- getDocumentPageSettings as cw,
53414
- getTableCellContentWidthForParagraph as cx,
53415
- layoutMetricsEpoch as cy,
53416
- bumpLayoutMetricsEpoch as cz,
53883
+ getParagraphEntries as c$,
53884
+ getListLabelInset as c0,
53885
+ getAlignedListLabelInset as c1,
53886
+ getParagraphBorderInsets as c2,
53887
+ buildSegmentTable as c3,
53888
+ buildCanvasTableLayout as c4,
53889
+ resolveCanvasTableWidth as c5,
53890
+ resolveFloatingTableRect as c6,
53891
+ paragraphBetweenBorderMatches as c7,
53892
+ normalizeFamily as c8,
53893
+ ROBOTO_FONT_FILES as c9,
53894
+ getDocumentPageSettings as cA,
53895
+ getTableCellContentWidthForParagraph as cB,
53896
+ layoutMetricsEpoch as cC,
53897
+ bumpLayoutMetricsEpoch as cD,
53898
+ createCanvasLayoutSnapshotProvider as cE,
53899
+ on as cF,
53900
+ debounce as cG,
53901
+ unwrap as cH,
53902
+ perfTimer as cI,
53903
+ prepareDocumentFonts as cJ,
53904
+ getRunTextBox as cK,
53905
+ EMU_PER_PX as cL,
53906
+ createEditorDocument as cM,
53907
+ resolveResizedDimensions as cN,
53908
+ axisSignForDirection as cO,
53909
+ clamp as cP,
53910
+ MIN_RESIZE_SIZE_PX as cQ,
53911
+ resolveTextBoxRenderHeight as cR,
53912
+ getToolbarStyleState as cS,
53913
+ VERTICAL_HIT_WEIGHT as cT,
53914
+ getCachedCanvasImage as cU,
53915
+ measureParagraphMinContentWidthPx as cV,
53916
+ createSectionBoundaryParagraph as cW,
53917
+ normalizePageSettings as cX,
53918
+ DEFAULT_EDITOR_PAGE_SETTINGS as cY,
53919
+ markStart as cZ,
53920
+ markEnd as c_,
53921
+ loadFontAsset as ca,
53922
+ getRemotePdfFontFaces as cb,
53923
+ OFFICE_COMPAT_FONT_FAMILIES as cc,
53924
+ BinaryReader as cd,
53925
+ buildSfnt as ce,
53926
+ defaultFontDecoderRegistry as cf,
53927
+ SfntFontProgram as cg,
53928
+ zlibSync as ch,
53929
+ renumberImageCaptionsInDocument as ci,
53930
+ collectPdfFontFamilies as cj,
53931
+ outlineFrom as ck,
53932
+ getPageHeaderZoneTop as cl,
53933
+ getPageColumnRects as cm,
53934
+ findFootnoteReference as cn,
53935
+ resolveImporterForFile as co,
53936
+ roundTo as cp,
53937
+ getDocumentSectionsCanonical as cq,
53938
+ getDocumentParagraphsCanonical as cr,
53939
+ getDocumentParagraphs as cs,
53940
+ getImageCaptionText as ct,
53941
+ isImageCaptionParagraph as cu,
53942
+ updateImageCaptionParagraph as cv,
53943
+ createImageCaptionParagraph as cw,
53944
+ renumberImageCaptionParagraphs as cx,
53945
+ getCaptionSelectionOffset as cy,
53946
+ PX_PER_CM as cz,
53417
53947
  domTextMeasurer as d,
53418
- SplitButton as d$,
53419
- iterateFootnoteReferenceRuns as d0,
53420
- preciseFontModeVersion as d1,
53421
- isPreciseFontModeEnabled as d2,
53422
- getRunFieldChar as d3,
53423
- getRunFieldInstruction as d4,
53424
- getHeadingLevel as d5,
53425
- createEditorRun as d6,
53426
- TWIPS_PER_INCH as d7,
53427
- PX_PER_INCH as d8,
53428
- togglePreciseFontMode as d9,
53429
- createEditorLogger as dA,
53430
- ActionRow as dB,
53431
- ColorPicker as dC,
53432
- CommandRegistry as dD,
53433
- DEFAULT_PALETTE as dE,
53434
- DialogFooter as dF,
53435
- EDITOR_SCHEMA_VERSION as dG,
53436
- FieldRow as dH,
53437
- FloatingActionButton as dI,
53438
- GridPicker as dJ,
53439
- Heading as dK,
53440
- IconButton as dL,
53441
- Menu as dM,
53442
- OASIS_BUILTIN_COMMANDS as dN,
53443
- OASIS_MENU_ITEMS as dO,
53444
- OASIS_TOOLBAR_ITEMS as dP,
53445
- OasisEditorAppLazy as dQ,
53446
- OasisEditorContainer as dR,
53447
- PluginCollection as dS,
53448
- Popover as dT,
53449
- RIBBON_TABS as dU,
53450
- Select as dV,
53451
- Separator as dW,
53452
- SidePanel as dX,
53453
- SidePanelBody as dY,
53454
- SidePanelFooter as dZ,
53455
- SidePanelHeader as d_,
53456
- nextFontSizePt as da,
53457
- previousFontSizePt as db,
53458
- fontSizePtToPx as dc,
53459
- resolveNamedTextStyle as dd,
53460
- resolveNamedTableStyle as de,
53461
- resolveEffectiveTableStyle as df,
53462
- createDefaultToolbarPreset as dg,
53463
- MenuRegistry as dh,
53464
- createToolbarRegistry as di,
53465
- Editor as dj,
53466
- resolveCommandRef as dk,
53467
- commandRefName as dl,
53468
- createOasisEditorClient as dm,
53469
- createEditorZoom as dn,
53470
- startLongTaskObserver as dp,
53471
- installGlobalReport as dq,
53472
- applyStoredPreciseFontPreference as dr,
53473
- getWelcomeSeen as ds,
53474
- isLocalFontAccessSupported as dt,
53475
- EDITOR_SCROLL_PADDING_PX as du,
53476
- Toolbar as dv,
53477
- OasisEditorLoading as dw,
53478
- I18nProvider as dx,
53479
- createTranslator as dy,
53480
- registerDomStatsSurface as dz,
53948
+ SidePanel as d$,
53949
+ getParagraphById as d0,
53950
+ createEditorFootnote as d1,
53951
+ createFootnoteReferenceRun as d2,
53952
+ renumberFootnotes as d3,
53953
+ iterateFootnoteReferenceRuns as d4,
53954
+ preciseFontModeVersion as d5,
53955
+ isPreciseFontModeEnabled as d6,
53956
+ getRunFieldChar as d7,
53957
+ getRunFieldInstruction as d8,
53958
+ getHeadingLevel as d9,
53959
+ OasisEditorLoading as dA,
53960
+ I18nProvider as dB,
53961
+ createTranslator as dC,
53962
+ registerDomStatsSurface as dD,
53963
+ createEditorLogger as dE,
53964
+ ActionRow as dF,
53965
+ ColorPicker as dG,
53966
+ CommandRegistry as dH,
53967
+ DEFAULT_PALETTE as dI,
53968
+ DialogFooter as dJ,
53969
+ EDITOR_SCHEMA_VERSION as dK,
53970
+ FieldRow as dL,
53971
+ FloatingActionButton as dM,
53972
+ GridPicker as dN,
53973
+ Heading as dO,
53974
+ IconButton as dP,
53975
+ Menu as dQ,
53976
+ OASIS_BUILTIN_COMMANDS as dR,
53977
+ OASIS_MENU_ITEMS as dS,
53978
+ OASIS_TOOLBAR_ITEMS as dT,
53979
+ OasisEditorAppLazy as dU,
53980
+ OasisEditorContainer as dV,
53981
+ PluginCollection as dW,
53982
+ Popover as dX,
53983
+ RIBBON_TABS as dY,
53984
+ Select as dZ,
53985
+ Separator as d_,
53986
+ createEditorRun as da,
53987
+ TWIPS_PER_INCH as db,
53988
+ PX_PER_INCH as dc,
53989
+ togglePreciseFontMode as dd,
53990
+ nextFontSizePt as de,
53991
+ previousFontSizePt as df,
53992
+ fontSizePtToPx as dg,
53993
+ resolveNamedTextStyle as dh,
53994
+ resolveNamedTableStyle as di,
53995
+ resolveEffectiveTableStyle as dj,
53996
+ createDefaultToolbarPreset as dk,
53997
+ MenuRegistry as dl,
53998
+ createToolbarRegistry as dm,
53999
+ Editor as dn,
54000
+ resolveCommandRef as dp,
54001
+ commandRefName as dq,
54002
+ createOasisEditorClient as dr,
54003
+ createEditorZoom as ds,
54004
+ startLongTaskObserver as dt,
54005
+ installGlobalReport as du,
54006
+ applyStoredPreciseFontPreference as dv,
54007
+ getWelcomeSeen as dw,
54008
+ isLocalFontAccessSupported as dx,
54009
+ EDITOR_SCROLL_PADDING_PX as dy,
54010
+ Toolbar as dz,
53481
54011
  estimateTableBlockHeight as e,
53482
- StyleGallery as e0,
53483
- Button$1 as e1,
53484
- buildRibbonTabDefinitions as e2,
53485
- cloneDocument as e3,
53486
- createDocument as e4,
53487
- createEditorCommandBus as e5,
53488
- createHeading as e6,
53489
- createOasisEditor as e7,
53490
- createOasisEditorContainer as e8,
53491
- createParagraph as e9,
53492
- createTable as ea,
53493
- mount as eb,
53494
- normalizeDocument as ec,
53495
- registerToolbarRenderer as ed,
53496
- validateDocument as ee,
54012
+ SidePanelBody as e0,
54013
+ SidePanelFooter as e1,
54014
+ SidePanelHeader as e2,
54015
+ SplitButton as e3,
54016
+ StyleGallery as e4,
54017
+ Button$1 as e5,
54018
+ buildRibbonTabDefinitions as e6,
54019
+ cloneDocument as e7,
54020
+ createDocument as e8,
54021
+ createEditorCommandBus as e9,
54022
+ createHeading as ea,
54023
+ createOasisEditor as eb,
54024
+ createOasisEditorContainer as ec,
54025
+ createParagraph as ed,
54026
+ createTable as ee,
54027
+ mount as ef,
54028
+ normalizeDocument as eg,
54029
+ registerToolbarRenderer as eh,
54030
+ validateDocument as ei,
53497
54031
  getParagraphText as f,
53498
54032
  getProjectedParagraphBlockHeight as g,
53499
54033
  getBlockParagraphs as h,