@umbraco-cms/backoffice 14.0.0-59f7ab3a → 14.0.0-5de3fef4

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.
Files changed (189) hide show
  1. package/dist-cms/external/backend-api/index.js +1 -1
  2. package/dist-cms/external/lit/index.js +27 -27
  3. package/dist-cms/external/monaco-editor/{abap-7ad4f8f0.js → abap-b029dff1.js} +1 -1
  4. package/dist-cms/external/monaco-editor/{apex-30597c49.js → apex-039bfc5f.js} +1 -1
  5. package/dist-cms/external/monaco-editor/assets/{bundle-a4f90d1d.css → bundle-b9e43664.css} +25 -13
  6. package/dist-cms/external/monaco-editor/{azcli-67c34a04.js → azcli-f1f7c576.js} +1 -1
  7. package/dist-cms/external/monaco-editor/{bat-b8f4738b.js → bat-86aea46a.js} +1 -1
  8. package/dist-cms/external/monaco-editor/{bicep-b104b38b.js → bicep-75c0c4d5.js} +1 -1
  9. package/dist-cms/external/monaco-editor/{cameligo-001d1ded.js → cameligo-8043f913.js} +1 -1
  10. package/dist-cms/external/monaco-editor/{clojure-fa9652a1.js → clojure-73642b02.js} +1 -1
  11. package/dist-cms/external/monaco-editor/{coffee-b69a8315.js → coffee-a18badcf.js} +1 -1
  12. package/dist-cms/external/monaco-editor/{cpp-8053752f.js → cpp-4034161e.js} +1 -1
  13. package/dist-cms/external/monaco-editor/{csharp-886041a3.js → csharp-49cbf0d2.js} +1 -1
  14. package/dist-cms/external/monaco-editor/{csp-e846bce6.js → csp-d207cac4.js} +1 -1
  15. package/dist-cms/external/monaco-editor/{css-50032e5e.js → css-74326df0.js} +1 -1
  16. package/dist-cms/external/monaco-editor/{cssMode-c0406684.js → cssMode-57ec49ea.js} +2 -2
  17. package/dist-cms/external/monaco-editor/{cypher-6f93a845.js → cypher-49f5f839.js} +1 -1
  18. package/dist-cms/external/monaco-editor/{dart-14284236.js → dart-84b7c6b4.js} +1 -1
  19. package/dist-cms/external/monaco-editor/{dockerfile-e9935eb4.js → dockerfile-bbf114b2.js} +1 -1
  20. package/dist-cms/external/monaco-editor/{ecl-9c89f204.js → ecl-15840f49.js} +1 -1
  21. package/dist-cms/external/monaco-editor/{elixir-ca8bf661.js → elixir-e479e18e.js} +2 -2
  22. package/dist-cms/external/monaco-editor/{flow9-ac147227.js → flow9-42a61225.js} +1 -1
  23. package/dist-cms/external/monaco-editor/{freemarker2-793b7402.js → freemarker2-a72b9c0e.js} +2 -2
  24. package/dist-cms/external/monaco-editor/{fsharp-8eaad024.js → fsharp-8abe6da0.js} +1 -1
  25. package/dist-cms/external/monaco-editor/{go-05529e2e.js → go-8759e9f7.js} +1 -1
  26. package/dist-cms/external/monaco-editor/{graphql-8f5b3fdd.js → graphql-387d549c.js} +1 -1
  27. package/dist-cms/external/monaco-editor/{handlebars-aaa2fd96.js → handlebars-8fc61d07.js} +2 -2
  28. package/dist-cms/external/monaco-editor/{hcl-9e201a51.js → hcl-a88f331a.js} +1 -1
  29. package/dist-cms/external/monaco-editor/{html-1194c0aa.js → html-4320ed19.js} +2 -2
  30. package/dist-cms/external/monaco-editor/{htmlMode-36df69c6.js → htmlMode-95c2e58e.js} +2 -2
  31. package/dist-cms/external/monaco-editor/{index-7368f3e3.js → index-e4ee5993.js} +359 -354
  32. package/dist-cms/external/monaco-editor/index.js +1 -1
  33. package/dist-cms/external/monaco-editor/{ini-31a5619d.js → ini-18bf1153.js} +1 -1
  34. package/dist-cms/external/monaco-editor/{java-8c6e1ae8.js → java-000a6283.js} +1 -1
  35. package/dist-cms/external/monaco-editor/{javascript-86205709.js → javascript-13505434.js} +2 -2
  36. package/dist-cms/external/monaco-editor/{jsonMode-f663e935.js → jsonMode-1d541b8e.js} +2 -2
  37. package/dist-cms/external/monaco-editor/{julia-fbb2af47.js → julia-9a5df632.js} +1 -1
  38. package/dist-cms/external/monaco-editor/{kotlin-bfa96180.js → kotlin-06ee8898.js} +1 -1
  39. package/dist-cms/external/monaco-editor/{less-0b6a8ff1.js → less-dd86a68c.js} +1 -1
  40. package/dist-cms/external/monaco-editor/{lexon-585e5248.js → lexon-8d4b0444.js} +1 -1
  41. package/dist-cms/external/monaco-editor/{liquid-37adc07a.js → liquid-7aa20dd8.js} +2 -2
  42. package/dist-cms/external/monaco-editor/{lua-f6c17885.js → lua-9adddcd9.js} +1 -1
  43. package/dist-cms/external/monaco-editor/{m3-1b6456c5.js → m3-aa2dcf72.js} +1 -1
  44. package/dist-cms/external/monaco-editor/{markdown-7bc251f9.js → markdown-0f073a3a.js} +1 -1
  45. package/dist-cms/external/monaco-editor/mdx-8a1e4ae9.js +6 -0
  46. package/dist-cms/external/monaco-editor/{mips-2df76781.js → mips-bdd96c5a.js} +1 -1
  47. package/dist-cms/external/monaco-editor/{msdax-8c38e8b4.js → msdax-1ac55115.js} +1 -1
  48. package/dist-cms/external/monaco-editor/{mysql-abbb9ca3.js → mysql-b530c105.js} +1 -1
  49. package/dist-cms/external/monaco-editor/{objective-c-efbfd08b.js → objective-c-951ded7b.js} +1 -1
  50. package/dist-cms/external/monaco-editor/{pascal-08abee72.js → pascal-7442fd46.js} +1 -1
  51. package/dist-cms/external/monaco-editor/{pascaligo-200db0cf.js → pascaligo-385edc0e.js} +1 -1
  52. package/dist-cms/external/monaco-editor/{perl-079789ee.js → perl-d5fb326c.js} +1 -1
  53. package/dist-cms/external/monaco-editor/{pgsql-efd093d4.js → pgsql-2d7db25a.js} +1 -1
  54. package/dist-cms/external/monaco-editor/{php-75c530f2.js → php-1daff147.js} +1 -1
  55. package/dist-cms/external/monaco-editor/{pla-a55a2765.js → pla-1b3e1614.js} +1 -1
  56. package/dist-cms/external/monaco-editor/{postiats-6098f37b.js → postiats-9db13649.js} +1 -1
  57. package/dist-cms/external/monaco-editor/{powerquery-949bb7fe.js → powerquery-4c428232.js} +1 -1
  58. package/dist-cms/external/monaco-editor/{powershell-7e550b21.js → powershell-d3380668.js} +1 -1
  59. package/dist-cms/external/monaco-editor/{protobuf-25a4d695.js → protobuf-941cf3e8.js} +1 -1
  60. package/dist-cms/external/monaco-editor/{pug-f8c9f493.js → pug-cfe384ef.js} +1 -1
  61. package/dist-cms/external/monaco-editor/{python-78a47148.js → python-b84d078b.js} +2 -2
  62. package/dist-cms/external/monaco-editor/{qsharp-c4b94317.js → qsharp-e125d03f.js} +1 -1
  63. package/dist-cms/external/monaco-editor/{r-614353db.js → r-e0a01d4f.js} +1 -1
  64. package/dist-cms/external/monaco-editor/{razor-5de9ce12.js → razor-96e08c0a.js} +2 -2
  65. package/dist-cms/external/monaco-editor/{redis-fb089f4d.js → redis-d0a12fea.js} +1 -1
  66. package/dist-cms/external/monaco-editor/{redshift-a620fcb0.js → redshift-a163b94a.js} +1 -1
  67. package/dist-cms/external/monaco-editor/{restructuredtext-7ab09fcf.js → restructuredtext-5a906e1a.js} +1 -1
  68. package/dist-cms/external/monaco-editor/{ruby-922be722.js → ruby-05b021bf.js} +1 -1
  69. package/dist-cms/external/monaco-editor/{rust-23e08578.js → rust-3d80982c.js} +1 -1
  70. package/dist-cms/external/monaco-editor/{sb-ccceec0f.js → sb-2020a5af.js} +1 -1
  71. package/dist-cms/external/monaco-editor/{scala-0535664d.js → scala-54469b4b.js} +1 -1
  72. package/dist-cms/external/monaco-editor/{scheme-dba621eb.js → scheme-ff6e5671.js} +1 -1
  73. package/dist-cms/external/monaco-editor/{scss-28539a11.js → scss-77902feb.js} +1 -1
  74. package/dist-cms/external/monaco-editor/{shell-5b92a834.js → shell-3c06def6.js} +1 -1
  75. package/dist-cms/external/monaco-editor/{solidity-f63d6049.js → solidity-3d59d6a7.js} +1 -1
  76. package/dist-cms/external/monaco-editor/{sophia-12e9ad90.js → sophia-12eb7ba8.js} +1 -1
  77. package/dist-cms/external/monaco-editor/{sparql-dedb74aa.js → sparql-e42fb28a.js} +1 -1
  78. package/dist-cms/external/monaco-editor/{sql-975a69d7.js → sql-d30fd9fd.js} +1 -1
  79. package/dist-cms/external/monaco-editor/{st-1904ae33.js → st-ba2e774a.js} +2 -2
  80. package/dist-cms/external/monaco-editor/{swift-e180a143.js → swift-f0a706dd.js} +1 -1
  81. package/dist-cms/external/monaco-editor/{systemverilog-c5592fac.js → systemverilog-0cfd4211.js} +1 -1
  82. package/dist-cms/external/monaco-editor/{tcl-996f4ac7.js → tcl-7df3c0c5.js} +1 -1
  83. package/dist-cms/external/monaco-editor/{tsMode-f4618e87.js → tsMode-4e2b13b8.js} +2 -2
  84. package/dist-cms/external/monaco-editor/twig-f894aab2.js +6 -0
  85. package/dist-cms/external/monaco-editor/{typescript-efea739f.js → typescript-6571f86d.js} +2 -2
  86. package/dist-cms/external/monaco-editor/{vb-ad68fa9a.js → vb-39a025f4.js} +1 -1
  87. package/dist-cms/external/monaco-editor/{wgsl-5ee7b1ca.js → wgsl-ea93d538.js} +1 -1
  88. package/dist-cms/external/monaco-editor/{xml-12b9ace3.js → xml-265c28d1.js} +2 -2
  89. package/dist-cms/external/monaco-editor/{yaml-65e08cff.js → yaml-cbd1aab5.js} +2 -2
  90. package/dist-cms/external/tinymce/index.js +20 -20
  91. package/dist-cms/external/uui/index.js +178 -178
  92. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.d.ts +2 -2
  93. package/dist-cms/packages/core/modal/token/folder-modal.token.d.ts +2 -2
  94. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.d.ts +1 -0
  95. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.js +3 -0
  96. package/dist-cms/packages/settings/data-types/repository/data-type.repository.d.ts +2 -2
  97. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.d.ts +3 -3
  98. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +2 -2
  99. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +2 -2
  100. package/dist-cms/shared/repository/data-source/folder-data-source.interface.d.ts +3 -3
  101. package/dist-cms/shared/repository/folder-repository.interface.d.ts +3 -3
  102. package/dist-cms/shared/resources/resource.controller.js +2 -2
  103. package/dist-cms/tinymce/CHANGELOG.md +23 -0
  104. package/dist-cms/tinymce/composer.json +1 -1
  105. package/dist-cms/tinymce/langs/hy.js +2 -2
  106. package/dist-cms/tinymce/langs/id.js +19 -19
  107. package/dist-cms/tinymce/langs/it.js +2 -2
  108. package/dist-cms/tinymce/langs/ka_GE.js +132 -132
  109. package/dist-cms/tinymce/langs/ru.js +4 -4
  110. package/dist-cms/tinymce/langs/sk.js +7 -7
  111. package/dist-cms/tinymce/models/dom/model.js +1 -1
  112. package/dist-cms/tinymce/models/dom/model.min.js +1 -1
  113. package/dist-cms/tinymce/package.json +1 -1
  114. package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
  115. package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
  116. package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
  117. package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
  118. package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
  119. package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
  120. package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
  121. package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
  122. package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
  123. package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
  124. package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
  125. package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
  126. package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
  127. package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
  128. package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
  129. package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
  130. package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
  131. package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
  132. package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
  133. package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
  134. package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
  135. package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
  136. package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
  137. package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  138. package/dist-cms/tinymce/plugins/help/plugin.js +1 -1
  139. package/dist-cms/tinymce/plugins/help/plugin.min.js +1 -1
  140. package/dist-cms/tinymce/plugins/image/plugin.js +2 -2
  141. package/dist-cms/tinymce/plugins/image/plugin.min.js +2 -2
  142. package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
  143. package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
  144. package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
  145. package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  146. package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
  147. package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
  148. package/dist-cms/tinymce/plugins/lists/plugin.js +2 -2
  149. package/dist-cms/tinymce/plugins/lists/plugin.min.js +2 -2
  150. package/dist-cms/tinymce/plugins/media/plugin.js +1 -1
  151. package/dist-cms/tinymce/plugins/media/plugin.min.js +1 -1
  152. package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
  153. package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  154. package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
  155. package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  156. package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
  157. package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
  158. package/dist-cms/tinymce/plugins/quickbars/plugin.js +1 -1
  159. package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +1 -1
  160. package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
  161. package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
  162. package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
  163. package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  164. package/dist-cms/tinymce/plugins/table/plugin.js +1 -1
  165. package/dist-cms/tinymce/plugins/table/plugin.min.js +1 -1
  166. package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
  167. package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
  168. package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
  169. package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  170. package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
  171. package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
  172. package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
  173. package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
  174. package/dist-cms/tinymce/skins/ui/oxide/skin.css +15 -2
  175. package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
  176. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +15 -2
  177. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  178. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +15 -2
  179. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  180. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +15 -2
  181. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  182. package/dist-cms/tinymce/themes/silver/theme.js +181 -108
  183. package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
  184. package/dist-cms/tinymce/tinymce.d.ts +3 -0
  185. package/dist-cms/tinymce/tinymce.js +23 -15
  186. package/dist-cms/tinymce/tinymce.min.js +2 -2
  187. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  188. package/package.json +7 -7
  189. package/dist-cms/external/monaco-editor/twig-4859b551.js +0 -6
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TinyMCE version 6.6.0 (2023-07-12)
2
+ * TinyMCE version 6.6.1 (2023-08-02)
3
3
  */
4
4
 
5
5
  (function () {
@@ -10432,12 +10432,12 @@
10432
10432
 
10433
10433
  const foregroundId = 'forecolor';
10434
10434
  const backgroundId = 'hilitecolor';
10435
- const defaultCols = 5;
10436
- const calcCols = colors => Math.max(defaultCols, Math.ceil(Math.sqrt(colors)));
10435
+ const DEFAULT_COLS = 5;
10436
+ const calcCols = colors => Math.max(DEFAULT_COLS, Math.ceil(Math.sqrt(colors)));
10437
10437
  const calcColsOption = (editor, numColors) => {
10438
10438
  const calculatedCols = calcCols(numColors);
10439
10439
  const fallbackCols = option$1('color_cols')(editor);
10440
- return defaultCols === calculatedCols ? fallbackCols : calculatedCols;
10440
+ return fallbackCols !== DEFAULT_COLS ? fallbackCols : calculatedCols;
10441
10441
  };
10442
10442
  const mapColors = colorMap => {
10443
10443
  const colors = [];
@@ -10554,8 +10554,8 @@
10554
10554
  }
10555
10555
  };
10556
10556
  const getColorCols$1 = (editor, id) => {
10557
- const colorCols = colorColsOption(editor, id);
10558
- return colorCols > 0 ? colorCols : defaultCols;
10557
+ const colorCols = Math.round(colorColsOption(editor, id));
10558
+ return colorCols > 0 ? colorCols : DEFAULT_COLS;
10559
10559
  };
10560
10560
  const hasCustomColors$1 = option$1('custom_colors');
10561
10561
  const getColors$2 = (editor, id) => {
@@ -14318,7 +14318,6 @@
14318
14318
  }
14319
14319
  });
14320
14320
  const withElement = (initialValue, getter, setter) => withComp(initialValue, c => getter(c.element), (c, v) => setter(c.element, v));
14321
- const domValue = optInitialValue => withElement(optInitialValue, get$6, set$5);
14322
14321
  const domHtml = optInitialValue => withElement(optInitialValue, get$9, set$6);
14323
14322
  const memory = initialValue => Representing.config({
14324
14323
  store: {
@@ -14326,14 +14325,6 @@
14326
14325
  initialValue
14327
14326
  }
14328
14327
  });
14329
- const RepresentingConfigs = {
14330
- memento,
14331
- withElement,
14332
- withComp,
14333
- domValue,
14334
- domHtml,
14335
- memory
14336
- };
14337
14328
 
14338
14329
  const english = {
14339
14330
  'colorcustom.rgb.red.label': 'R',
@@ -14379,7 +14370,7 @@
14379
14370
  dom: { tag: 'div' },
14380
14371
  components: [memPicker.asSpec()],
14381
14372
  behaviours: derive$1([
14382
- RepresentingConfigs.withComp(initialData, comp => {
14373
+ withComp(initialData, comp => {
14383
14374
  const picker = memPicker.get(comp);
14384
14375
  const optRgbForm = Composing.getCurrent(picker);
14385
14376
  const optHex = optRgbForm.bind(rgbForm => {
@@ -14430,7 +14421,7 @@
14430
14421
  });
14431
14422
  });
14432
14423
  })]),
14433
- RepresentingConfigs.withComp(Optional.none(), () => editorApi.get().fold(() => initialValue.get().getOr(''), ed => ed.getValue()), (component, value) => {
14424
+ withComp(Optional.none(), () => editorApi.get().fold(() => initialValue.get().getOr(''), ed => ed.getValue()), (component, value) => {
14434
14425
  editorApi.get().fold(() => initialValue.set(value), ed => ed.setValue(value));
14435
14426
  }),
14436
14427
  ComposingConfigs.self()
@@ -14493,7 +14484,7 @@
14493
14484
  classes: ['tox-dropzone-container']
14494
14485
  },
14495
14486
  behaviours: derive$1([
14496
- RepresentingConfigs.memory(initialData.getOr([])),
14487
+ memory(initialData.getOr([])),
14497
14488
  ComposingConfigs.self(),
14498
14489
  Disabling.config({}),
14499
14490
  Toggling.config({
@@ -14570,6 +14561,74 @@
14570
14561
  components: map$2(spec.items, backstage.interpreter)
14571
14562
  });
14572
14563
 
14564
+ const adaptable = (fn, rate) => {
14565
+ let timer = null;
14566
+ let args = null;
14567
+ const cancel = () => {
14568
+ if (!isNull(timer)) {
14569
+ clearTimeout(timer);
14570
+ timer = null;
14571
+ args = null;
14572
+ }
14573
+ };
14574
+ const throttle = (...newArgs) => {
14575
+ args = newArgs;
14576
+ if (isNull(timer)) {
14577
+ timer = setTimeout(() => {
14578
+ const tempArgs = args;
14579
+ timer = null;
14580
+ args = null;
14581
+ fn.apply(null, tempArgs);
14582
+ }, rate);
14583
+ }
14584
+ };
14585
+ return {
14586
+ cancel,
14587
+ throttle
14588
+ };
14589
+ };
14590
+ const first = (fn, rate) => {
14591
+ let timer = null;
14592
+ const cancel = () => {
14593
+ if (!isNull(timer)) {
14594
+ clearTimeout(timer);
14595
+ timer = null;
14596
+ }
14597
+ };
14598
+ const throttle = (...args) => {
14599
+ if (isNull(timer)) {
14600
+ timer = setTimeout(() => {
14601
+ timer = null;
14602
+ fn.apply(null, args);
14603
+ }, rate);
14604
+ }
14605
+ };
14606
+ return {
14607
+ cancel,
14608
+ throttle
14609
+ };
14610
+ };
14611
+ const last = (fn, rate) => {
14612
+ let timer = null;
14613
+ const cancel = () => {
14614
+ if (!isNull(timer)) {
14615
+ clearTimeout(timer);
14616
+ timer = null;
14617
+ }
14618
+ };
14619
+ const throttle = (...args) => {
14620
+ cancel();
14621
+ timer = setTimeout(() => {
14622
+ timer = null;
14623
+ fn.apply(null, args);
14624
+ }, rate);
14625
+ };
14626
+ return {
14627
+ cancel,
14628
+ throttle
14629
+ };
14630
+ };
14631
+
14573
14632
  const beforeObject = generate$6('alloy-fake-before-tabstop');
14574
14633
  const afterObject = generate$6('alloy-fake-after-tabstop');
14575
14634
  const craftWithClasses = classes => {
@@ -14590,11 +14649,14 @@
14590
14649
  ])
14591
14650
  };
14592
14651
  };
14593
- const craft = spec => {
14652
+ const craft = (containerClasses, spec) => {
14594
14653
  return {
14595
14654
  dom: {
14596
14655
  tag: 'div',
14597
- classes: ['tox-navobj']
14656
+ classes: [
14657
+ 'tox-navobj',
14658
+ ...containerClasses.getOr([])
14659
+ ]
14598
14660
  },
14599
14661
  components: [
14600
14662
  craftWithClasses([beforeObject]),
@@ -14627,6 +14689,55 @@
14627
14689
  ].join(','), never);
14628
14690
  };
14629
14691
 
14692
+ const dialogChannel = generate$6('update-dialog');
14693
+ const titleChannel = generate$6('update-title');
14694
+ const bodyChannel = generate$6('update-body');
14695
+ const footerChannel = generate$6('update-footer');
14696
+ const bodySendMessageChannel = generate$6('body-send-message');
14697
+ const dialogFocusShiftedChannel = generate$6('dialog-focus-shifted');
14698
+
14699
+ const browser = detect$2().browser;
14700
+ const isSafari = browser.isSafari();
14701
+ const isFirefox = browser.isFirefox();
14702
+ const isSafariOrFirefox = isSafari || isFirefox;
14703
+ const isChromium = browser.isChromium();
14704
+ const isElementScrollAtBottom = ({scrollTop, scrollHeight, clientHeight}) => Math.ceil(scrollTop) + clientHeight >= scrollHeight;
14705
+ const scrollToY = (win, y) => win.scrollTo(0, y === 'bottom' ? win.document.body.scrollHeight : y);
14706
+ const getScrollingElement = (doc, html) => {
14707
+ const body = doc.body;
14708
+ return Optional.from(!/^<!DOCTYPE (html|HTML)/.test(html) && (!isChromium && !isSafari || isNonNullable(body) && (body.scrollTop !== 0 || Math.abs(body.scrollHeight - body.clientHeight) > 1)) ? body : doc.documentElement);
14709
+ };
14710
+ const writeValue = (iframeElement, html, fallbackFn) => {
14711
+ const iframe = iframeElement.dom;
14712
+ Optional.from(iframe.contentDocument).fold(fallbackFn, doc => {
14713
+ let lastScrollTop = 0;
14714
+ const isScrollAtBottom = getScrollingElement(doc, html).map(el => {
14715
+ lastScrollTop = el.scrollTop;
14716
+ return el;
14717
+ }).forall(isElementScrollAtBottom);
14718
+ const scrollAfterWrite = () => {
14719
+ const win = iframe.contentWindow;
14720
+ if (isNonNullable(win)) {
14721
+ if (isScrollAtBottom) {
14722
+ scrollToY(win, 'bottom');
14723
+ } else if (!isScrollAtBottom && isSafariOrFirefox && lastScrollTop !== 0) {
14724
+ scrollToY(win, lastScrollTop);
14725
+ }
14726
+ }
14727
+ };
14728
+ if (isSafari) {
14729
+ iframe.addEventListener('load', scrollAfterWrite, { once: true });
14730
+ }
14731
+ doc.open();
14732
+ doc.write(html);
14733
+ doc.close();
14734
+ if (!isSafari) {
14735
+ scrollAfterWrite();
14736
+ }
14737
+ });
14738
+ };
14739
+ const throttleInterval = isSafariOrFirefox ? Optional.some(isSafari ? 500 : 200) : Optional.none();
14740
+ const writeValueThrottler = throttleInterval.map(interval => adaptable(writeValue, interval));
14630
14741
  const getDynamicSource = (initialData, stream) => {
14631
14742
  const cachedValue = Cell(initialData.getOr(''));
14632
14743
  return {
@@ -14636,19 +14747,7 @@
14636
14747
  const iframeElement = frameComponent.element;
14637
14748
  const setSrcdocValue = () => set$9(iframeElement, 'srcdoc', html);
14638
14749
  if (stream) {
14639
- const iframe = iframeElement.dom;
14640
- Optional.from(iframe.contentDocument).fold(setSrcdocValue, doc => {
14641
- const isElementScrollAtBottom = ({scrollTop, scrollHeight, clientHeight}) => Math.ceil(scrollTop) + clientHeight >= scrollHeight;
14642
- const isScrollAtBottom = Optional.from(doc.documentElement).forall(isElementScrollAtBottom);
14643
- doc.open();
14644
- doc.write(html);
14645
- doc.close();
14646
- const win = iframe.contentWindow;
14647
- const body = doc.body;
14648
- if (isScrollAtBottom && isNonNullable(win) && isNonNullable(body)) {
14649
- win.scrollTo(0, body.scrollHeight);
14650
- }
14651
- });
14750
+ writeValueThrottler.fold(constant$1(writeValue), throttler => throttler.throttle)(iframeElement, html, setSrcdocValue);
14652
14751
  } else {
14653
14752
  setSrcdocValue();
14654
14753
  }
@@ -14659,8 +14758,8 @@
14659
14758
  };
14660
14759
  const renderIFrame = (spec, providersBackstage, initialData) => {
14661
14760
  const baseClass = 'tox-dialog__iframe';
14662
- const borderedClass = spec.border ? [`${ baseClass }--bordered`] : [];
14663
14761
  const opaqueClass = spec.transparent ? [] : [`${ baseClass }--opaque`];
14762
+ const containerBorderedClass = spec.border ? [`tox-navobj-bordered`] : [];
14664
14763
  const attributes = {
14665
14764
  ...spec.label.map(title => ({ title })).getOr({}),
14666
14765
  ...initialData.map(html => ({ srcdoc: html })).getOr({}),
@@ -14668,21 +14767,34 @@
14668
14767
  };
14669
14768
  const sourcing = getDynamicSource(initialData, spec.streamContent);
14670
14769
  const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));
14671
- const factory = newSpec => craft({
14770
+ const factory = newSpec => craft(Optional.from(containerBorderedClass), {
14672
14771
  uid: newSpec.uid,
14673
14772
  dom: {
14674
14773
  tag: 'iframe',
14675
14774
  attributes,
14676
14775
  classes: [
14677
14776
  baseClass,
14678
- ...borderedClass,
14679
14777
  ...opaqueClass
14680
14778
  ]
14681
14779
  },
14682
14780
  behaviours: derive$1([
14683
14781
  Tabstopping.config({}),
14684
14782
  Focusing.config({}),
14685
- RepresentingConfigs.withComp(initialData, sourcing.getValue, sourcing.setValue)
14783
+ withComp(initialData, sourcing.getValue, sourcing.setValue),
14784
+ Receiving.config({
14785
+ channels: {
14786
+ [dialogFocusShiftedChannel]: {
14787
+ onReceive: (comp, message) => {
14788
+ message.newFocus.each(newFocus => {
14789
+ parentElement(comp.element).each(parent => {
14790
+ const f = eq(comp.element, newFocus) ? add$2 : remove$2;
14791
+ f(parent, 'tox-navobj-bordered-focus');
14792
+ });
14793
+ });
14794
+ }
14795
+ }
14796
+ }
14797
+ })
14686
14798
  ])
14687
14799
  });
14688
14800
  const pField = FormField.parts.field({ factory: { sketch: factory } });
@@ -14795,7 +14907,7 @@
14795
14907
  components: [memContainer.asSpec()],
14796
14908
  behaviours: derive$1([
14797
14909
  ComposingConfigs.self(),
14798
- RepresentingConfigs.withComp(fakeValidatedData, () => cachedData.get(), setValue)
14910
+ withComp(fakeValidatedData, () => cachedData.get(), setValue)
14799
14911
  ])
14800
14912
  };
14801
14913
  };
@@ -14828,7 +14940,7 @@
14828
14940
  behaviours: derive$1([
14829
14941
  ComposingConfigs.self(),
14830
14942
  Replacing.config({}),
14831
- RepresentingConfigs.domHtml(Optional.none()),
14943
+ domHtml(Optional.none()),
14832
14944
  Keying.config({ mode: 'acyclic' })
14833
14945
  ])
14834
14946
  };
@@ -15154,7 +15266,7 @@
15154
15266
  classes: [],
15155
15267
  dropdownBehaviours: [
15156
15268
  Tabstopping.config({}),
15157
- RepresentingConfigs.withComp(initialItem.map(item => item.value), comp => get$f(comp.element, dataAttribute), (comp, data) => {
15269
+ withComp(initialItem.map(item => item.value), comp => get$f(comp.element, dataAttribute), (comp, data) => {
15158
15270
  findItemByValue(spec.items, data).each(item => {
15159
15271
  set$9(comp.element, dataAttribute, item.value);
15160
15272
  emitWith(comp, updateMenuText, { text: item.text });
@@ -16449,48 +16561,6 @@
16449
16561
  events: events$5
16450
16562
  });
16451
16563
 
16452
- const first = (fn, rate) => {
16453
- let timer = null;
16454
- const cancel = () => {
16455
- if (!isNull(timer)) {
16456
- clearTimeout(timer);
16457
- timer = null;
16458
- }
16459
- };
16460
- const throttle = (...args) => {
16461
- if (isNull(timer)) {
16462
- timer = setTimeout(() => {
16463
- timer = null;
16464
- fn.apply(null, args);
16465
- }, rate);
16466
- }
16467
- };
16468
- return {
16469
- cancel,
16470
- throttle
16471
- };
16472
- };
16473
- const last = (fn, rate) => {
16474
- let timer = null;
16475
- const cancel = () => {
16476
- if (!isNull(timer)) {
16477
- clearTimeout(timer);
16478
- timer = null;
16479
- }
16480
- };
16481
- const throttle = (...args) => {
16482
- cancel();
16483
- timer = setTimeout(() => {
16484
- timer = null;
16485
- fn.apply(null, args);
16486
- }, rate);
16487
- };
16488
- return {
16489
- cancel,
16490
- throttle
16491
- };
16492
- };
16493
-
16494
16564
  const throttle = _config => {
16495
16565
  const state = Cell(null);
16496
16566
  const readState = () => ({ timer: state.get() !== null ? 'set' : 'unset' });
@@ -17127,7 +17197,7 @@
17127
17197
  return renderFormField(Optional.none(), FormField.parts.field({
17128
17198
  factory: Button,
17129
17199
  ...renderButtonSpec(spec, Optional.some(action), providersBackstage, [
17130
- RepresentingConfigs.memory(''),
17200
+ memory(''),
17131
17201
  ComposingConfigs.self()
17132
17202
  ])
17133
17203
  }));
@@ -17471,7 +17541,7 @@
17471
17541
  }),
17472
17542
  Tabstopping.config({}),
17473
17543
  Focusing.config({}),
17474
- RepresentingConfigs.withElement(initialData, get$1, set$1),
17544
+ withElement(initialData, get$1, set$1),
17475
17545
  Keying.config({
17476
17546
  mode: 'special',
17477
17547
  onEnter: toggleCheckboxHandler,
@@ -26974,12 +27044,15 @@
26974
27044
  useTabstopAt: not(isPseudoStop)
26975
27045
  }),
26976
27046
  ComposingConfigs.memento(memForm),
26977
- RepresentingConfigs.memento(memForm, {
27047
+ memento(memForm, {
26978
27048
  postprocess: formValue => toValidValues(formValue).fold(err => {
26979
27049
  console.error(err);
26980
27050
  return {};
26981
27051
  }, identity)
26982
- })
27052
+ }),
27053
+ config('dialog-body-panel', [run$1(focusin(), (comp, se) => {
27054
+ comp.getSystem().broadcastOn([dialogFocusShiftedChannel], { newFocus: Optional.some(se.event.target) });
27055
+ })])
26983
27056
  ])
26984
27057
  };
26985
27058
  };
@@ -27434,7 +27507,7 @@
27434
27507
  config('tabpanel', tabMode.extraEvents),
27435
27508
  Keying.config({ mode: 'acyclic' }),
27436
27509
  Composing.config({ find: comp => head(TabSection.getViewItems(comp)) }),
27437
- RepresentingConfigs.withComp(Optional.none(), tsection => {
27510
+ withComp(Optional.none(), tsection => {
27438
27511
  tsection.getSystem().broadcastOn([SendDataToSectionChannel], {});
27439
27512
  return storedValue.get();
27440
27513
  }, (tsection, value) => {
@@ -27445,12 +27518,6 @@
27445
27518
  });
27446
27519
  };
27447
27520
 
27448
- const dialogChannel = generate$6('update-dialog');
27449
- const titleChannel = generate$6('update-title');
27450
- const bodyChannel = generate$6('update-body');
27451
- const footerChannel = generate$6('update-footer');
27452
- const bodySendMessageChannel = generate$6('body-send-message');
27453
-
27454
27521
  const renderBody = (spec, dialogId, contentId, backstage, ariaAttrs) => {
27455
27522
  const renderComponents = incoming => {
27456
27523
  const body = incoming.body;
@@ -27502,7 +27569,7 @@
27502
27569
  tag: 'div',
27503
27570
  classes: ['tox-dialog__body-iframe']
27504
27571
  },
27505
- components: [craft({
27572
+ components: [craft(Optional.none(), {
27506
27573
  dom: {
27507
27574
  tag: 'iframe',
27508
27575
  attributes: { src: spec.url }
@@ -29201,9 +29268,14 @@
29201
29268
  dragBlockClass: blockerClass,
29202
29269
  modalBehaviours: derive$1([
29203
29270
  Focusing.config({}),
29204
- config('dialog-events', spec.dialogEvents.concat([runOnSource(focusin(), (comp, _se) => {
29271
+ config('dialog-events', spec.dialogEvents.concat([
29272
+ runOnSource(focusin(), (comp, _se) => {
29205
29273
  Blocking.isBlocked(comp) ? noop() : Keying.focusIn(comp);
29206
- })])),
29274
+ }),
29275
+ run$1(focusShifted(), (comp, se) => {
29276
+ comp.getSystem().broadcastOn([dialogFocusShiftedChannel], { newFocus: se.event.newFocus });
29277
+ })
29278
+ ])),
29207
29279
  config('scroll-lock', [
29208
29280
  runOnAttached(() => {
29209
29281
  add$2(body(), scrollLockClass);
@@ -29344,7 +29416,7 @@
29344
29416
  updateState,
29345
29417
  initialData
29346
29418
  }),
29347
- RepresentingConfigs.memory({}),
29419
+ memory({}),
29348
29420
  ...spec.extraBehaviours
29349
29421
  ],
29350
29422
  onEscape: comp => {
@@ -29452,7 +29524,7 @@
29452
29524
  spec.onChange(api, { name: event.name });
29453
29525
  }),
29454
29526
  fireApiEvent(formActionEvent, (api, spec, event, component) => {
29455
- const focusIn = () => Keying.focusIn(component);
29527
+ const focusIn = () => component.getSystem().isConnected() ? Keying.focusIn(component) : undefined;
29456
29528
  const isDisabled = focused => has$1(focused, 'disabled') || getOpt(focused, 'aria-disabled').exists(val => val === 'true');
29457
29529
  const rootNode = getRootNode(component.element);
29458
29530
  const current = active$1(rootNode);
@@ -29482,10 +29554,6 @@
29482
29554
  })
29483
29555
  ];
29484
29556
  };
29485
- const SilverDialogEvents = {
29486
- initUrlDialog,
29487
- initDialog
29488
- };
29489
29557
 
29490
29558
  const makeButton = (button, backstage) => renderFooterButton(button, button.type, backstage);
29491
29559
  const lookup = (compInSystem, footerButtons, buttonName) => find$5(footerButtons, button => button.name === buttonName).bind(memButton => memButton.memento.getOpt(compInSystem));
@@ -29670,7 +29738,7 @@
29670
29738
  const storedMenuButtons = mapMenuButtons(internalDialog.buttons);
29671
29739
  const objOfCells = extractCellsToObject(storedMenuButtons);
29672
29740
  const footer = someIf(storedMenuButtons.length !== 0, renderModalFooter({ buttons: storedMenuButtons }, dialogId, backstage));
29673
- const dialogEvents = SilverDialogEvents.initDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra), backstage.shared.getSink);
29741
+ const dialogEvents = initDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra), backstage.shared.getSink);
29674
29742
  const dialogSize = getDialogSizeClasses(internalDialog.size);
29675
29743
  const spec = {
29676
29744
  id: dialogId,
@@ -29740,7 +29808,7 @@
29740
29808
  const storagedMenuButtons = mapMenuButtons(internalDialog.buttons);
29741
29809
  const objOfCells = extractCellsToObject(storagedMenuButtons);
29742
29810
  const optMemFooter = someIf(storagedMenuButtons.length !== 0, record(renderInlineFooter({ buttons: storagedMenuButtons }, dialogId, backstage)));
29743
- const dialogEvents = SilverDialogEvents.initDialog(() => instanceApi, {
29811
+ const dialogEvents = initDialog(() => instanceApi, {
29744
29812
  onBlock: event => {
29745
29813
  Blocking.block(dialog, (_comp, bs) => {
29746
29814
  const headerHeight = memHeader.getOpt(dialog).map(dialog => get$d(dialog.element));
@@ -29793,12 +29861,17 @@
29793
29861
  initialData: dialogInit
29794
29862
  }),
29795
29863
  Focusing.config({}),
29796
- config('execute-on-form', dialogEvents.concat([runOnSource(focusin(), (comp, _se) => {
29864
+ config('execute-on-form', dialogEvents.concat([
29865
+ runOnSource(focusin(), (comp, _se) => {
29797
29866
  Keying.focusIn(comp);
29798
- })])),
29867
+ }),
29868
+ run$1(focusShifted(), (comp, se) => {
29869
+ comp.getSystem().broadcastOn([dialogFocusShiftedChannel], { newFocus: se.event.newFocus });
29870
+ })
29871
+ ])),
29799
29872
  Blocking.config({ getRoot: () => Optional.some(dialog) }),
29800
29873
  Replacing.config({}),
29801
- RepresentingConfigs.memory({})
29874
+ memory({})
29802
29875
  ]),
29803
29876
  components: [
29804
29877
  memHeader.asSpec(),
@@ -29917,7 +29990,7 @@
29917
29990
  return Optional.some(renderModalFooter({ buttons }, dialogId, backstage));
29918
29991
  }
29919
29992
  });
29920
- const dialogEvents = SilverDialogEvents.initUrlDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra));
29993
+ const dialogEvents = initUrlDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra));
29921
29994
  const styles = {
29922
29995
  ...internalDialog.height.fold(() => ({}), height => ({
29923
29996
  'height': height + 'px',