@modusoperandi/licit 0.14.3 → 0.14.10

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.
@@ -13,6 +13,7 @@ var _TableCellMenu = _interopRequireDefault(require("./ui/TableCellMenu"));
13
13
  var _bindScrollHandler = _interopRequireDefault(require("./ui/bindScrollHandler"));
14
14
  var _isElementFullyVisible = _interopRequireDefault(require("./ui/isElementFullyVisible"));
15
15
  require("@modusoperandi/licit-ui-commands/dist/ui/czi-pop-up.css");
16
+ var _prosemirrorTables = require("prosemirror-tables");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -71,9 +72,15 @@ class TableCellTooltipView {
71
72
  }
72
73
  let cellEl = domFound.node;
73
74
  const popUp = this._popUp;
75
+ let actionNode = null;
76
+ if (result && state.selection instanceof _prosemirrorTables.CellSelection) {
77
+ actionNode = state.selection.$anchorCell.node(-1);
78
+ }
74
79
  const viewPops = {
75
80
  editorState: state,
76
- editorView: view
81
+ editorView: view,
82
+ pluginView: this,
83
+ actionNode
77
84
  };
78
85
  if (cellEl && !(0, _isElementFullyVisible.default)(cellEl)) {
79
86
  cellEl = null;
@@ -13,6 +13,7 @@ import { createPopUp } from '@modusoperandi/licit-ui-commands';
13
13
  import isElementFullyVisible from './ui/isElementFullyVisible';
14
14
 
15
15
  import '@modusoperandi/licit-ui-commands/dist/ui/czi-pop-up.css';
16
+ import { CellSelection } from 'prosemirror-tables';
16
17
 
17
18
  class TableCellTooltipView {
18
19
  _cellElement: null;
@@ -41,9 +42,15 @@ class TableCellTooltipView {
41
42
 
42
43
  let cellEl = domFound.node;
43
44
  const popUp = this._popUp;
45
+ let actionNode = null;
46
+ if (result && state.selection instanceof CellSelection) {
47
+ actionNode = state.selection.$anchorCell.node(-1);
48
+ }
44
49
  const viewPops = {
45
50
  editorState: state,
46
51
  editorView: view,
52
+ pluginView: this,
53
+ actionNode,
47
54
  };
48
55
 
49
56
  if (cellEl && !isElementFullyVisible(cellEl)) {
@@ -482,7 +482,9 @@ class TableResizePlugin extends _prosemirrorState.Plugin {
482
482
  key: PLUGIN_KEY,
483
483
  state: {
484
484
  init(_, state) {
485
- this.spec.props.nodeViews[(0, _prosemirrorTables.tableNodeTypes)(state.schema).table.name] = createTableView;
485
+ if (!this.spec.props.nodeViews['table']) {
486
+ this.spec.props.nodeViews[(0, _prosemirrorTables.tableNodeTypes)(state.schema).table.name] = createTableView;
487
+ }
486
488
  return new ResizeState(-1, null);
487
489
  },
488
490
  apply(tr, prev) {
@@ -595,9 +595,10 @@ export default class TableResizePlugin extends Plugin {
595
595
  key: PLUGIN_KEY,
596
596
  state: {
597
597
  init(_: any, state: EditorState): ResizeState {
598
- this.spec.props.nodeViews[
599
- tableNodeTypes(state.schema).table.name
600
- ] = createTableView;
598
+ if (!this.spec.props.nodeViews['table']) {
599
+ this.spec.props.nodeViews[tableNodeTypes(state.schema).table.name] =
600
+ createTableView;
601
+ }
601
602
  return new ResizeState(-1, null);
602
603
  },
603
604
  apply(tr: Transform, prev: EditorState): EditorState {
package/dist/bom.xml CHANGED
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <bom xmlns="http://cyclonedx.org/schema/bom/1.3" serialNumber="urn:uuid:9d9f2f35-7211-4456-8611-c582a60a90c2" version="1">
2
+ <bom xmlns="http://cyclonedx.org/schema/bom/1.3" serialNumber="urn:uuid:ba32d02f-f3df-4b40-9934-7f3e5cfc692f" version="1">
3
3
  <metadata>
4
- <timestamp>2022-12-22T21:41:44.172Z</timestamp>
4
+ <timestamp>2023-02-08T15:30:10.622Z</timestamp>
5
5
  <tools>
6
6
  <tool>
7
7
  <vendor>CycloneDX</vendor>
@@ -9,14 +9,14 @@
9
9
  <version>3.10.6</version>
10
10
  </tool>
11
11
  </tools>
12
- <component type="library" bom-ref="pkg:npm/%40modusoperandi/licit@0.14.3">
12
+ <component type="library" bom-ref="pkg:npm/%40modusoperandi/licit@0.14.10">
13
13
  <group>@modusoperandi</group>
14
14
  <name>licit</name>
15
- <version>0.14.3</version>
15
+ <version>0.14.10</version>
16
16
  <description>
17
17
  <![CDATA[Rich text editor built with React and ProseMirror]]>
18
18
  </description>
19
- <purl>pkg:npm/%40modusoperandi/licit@0.14.3</purl>
19
+ <purl>pkg:npm/%40modusoperandi/licit@0.14.10</purl>
20
20
  <externalReferences>
21
21
  <reference type="website">
22
22
  <url>https://github.com/MO-Movia/licit#readme</url>
@@ -6052,22 +6052,22 @@
6052
6052
  </reference>
6053
6053
  </externalReferences>
6054
6054
  </component>
6055
- <component type="library" bom-ref="pkg:npm/http-cache-semantics@4.1.0">
6055
+ <component type="library" bom-ref="pkg:npm/http-cache-semantics@4.1.1">
6056
6056
  <author>Kornel Lesiński</author>
6057
6057
  <name>http-cache-semantics</name>
6058
- <version>4.1.0</version>
6058
+ <version>4.1.1</version>
6059
6059
  <description>
6060
6060
  <![CDATA[Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies]]>
6061
6061
  </description>
6062
6062
  <hashes>
6063
- <hash alg="SHA-512">71aacf92571487b44e5912bb0afdbb44fb5d858854b1e95afee7b9fe32b38de815bd70ea33620b13d4360469fd259261d60f3b729e7ab2efc58104b37164bc71</hash>
6063
+ <hash alg="SHA-512">7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d</hash>
6064
6064
  </hashes>
6065
6065
  <licenses>
6066
6066
  <license>
6067
6067
  <id>BSD-2-Clause</id>
6068
6068
  </license>
6069
6069
  </licenses>
6070
- <purl>pkg:npm/http-cache-semantics@4.1.0</purl>
6070
+ <purl>pkg:npm/http-cache-semantics@4.1.1</purl>
6071
6071
  <externalReferences>
6072
6072
  <reference type="website">
6073
6073
  <url>https://github.com/kornelski/http-cache-semantics#readme</url>
@@ -10259,6 +10259,35 @@
10259
10259
  </reference>
10260
10260
  </externalReferences>
10261
10261
  </component>
10262
+ <component type="library" bom-ref="pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1">
10263
+ <author>Sven Sauleau</author>
10264
+ <group>@webassemblyjs</group>
10265
+ <name>helper-wasm-bytecode</name>
10266
+ <version>1.11.1</version>
10267
+ <description>
10268
+ <![CDATA[WASM's Bytecode constants]]>
10269
+ </description>
10270
+ <hashes>
10271
+ <hash alg="SHA-512">3efa68386889c17793ad27ffa9fb9d261c25bc34311607a56ccaadab9d965a25c2e97820d484447678263cdddbb384683bcdcf9cbfe716bc6e7178f5f815fad9</hash>
10272
+ </hashes>
10273
+ <licenses>
10274
+ <license>
10275
+ <id>MIT</id>
10276
+ </license>
10277
+ </licenses>
10278
+ <purl>pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1</purl>
10279
+ <externalReferences>
10280
+ <reference type="website">
10281
+ <url>https://github.com/xtuc/webassemblyjs#readme</url>
10282
+ </reference>
10283
+ <reference type="issue-tracker">
10284
+ <url>https://github.com/xtuc/webassemblyjs/issues</url>
10285
+ </reference>
10286
+ <reference type="vcs">
10287
+ <url>git+https://github.com/xtuc/webassemblyjs.git</url>
10288
+ </reference>
10289
+ </externalReferences>
10290
+ </component>
10262
10291
  <component type="library" bom-ref="pkg:npm/%40webassemblyjs/helper-numbers@1.11.1">
10263
10292
  <author>Sven Sauleau</author>
10264
10293
  <group>@webassemblyjs</group>
@@ -10346,35 +10375,6 @@
10346
10375
  </reference>
10347
10376
  </externalReferences>
10348
10377
  </component>
10349
- <component type="library" bom-ref="pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1">
10350
- <author>Sven Sauleau</author>
10351
- <group>@webassemblyjs</group>
10352
- <name>helper-wasm-bytecode</name>
10353
- <version>1.11.1</version>
10354
- <description>
10355
- <![CDATA[WASM's Bytecode constants]]>
10356
- </description>
10357
- <hashes>
10358
- <hash alg="SHA-512">3efa68386889c17793ad27ffa9fb9d261c25bc34311607a56ccaadab9d965a25c2e97820d484447678263cdddbb384683bcdcf9cbfe716bc6e7178f5f815fad9</hash>
10359
- </hashes>
10360
- <licenses>
10361
- <license>
10362
- <id>MIT</id>
10363
- </license>
10364
- </licenses>
10365
- <purl>pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1</purl>
10366
- <externalReferences>
10367
- <reference type="website">
10368
- <url>https://github.com/xtuc/webassemblyjs#readme</url>
10369
- </reference>
10370
- <reference type="issue-tracker">
10371
- <url>https://github.com/xtuc/webassemblyjs/issues</url>
10372
- </reference>
10373
- <reference type="vcs">
10374
- <url>git+https://github.com/xtuc/webassemblyjs.git</url>
10375
- </reference>
10376
- </externalReferences>
10377
- </component>
10378
10378
  <component type="library" bom-ref="pkg:npm/%40webassemblyjs/helper-wasm-section@1.11.1">
10379
10379
  <author>Sven Sauleau</author>
10380
10380
  <group>@webassemblyjs</group>
@@ -11670,6 +11670,62 @@
11670
11670
  </reference>
11671
11671
  </externalReferences>
11672
11672
  </component>
11673
+ <component type="library" bom-ref="pkg:npm/enhanced-resolve@5.12.0">
11674
+ <author>Tobias Koppers @sokra</author>
11675
+ <name>enhanced-resolve</name>
11676
+ <version>5.12.0</version>
11677
+ <description>
11678
+ <![CDATA[Offers a async require.resolve function. It's highly configurable.]]>
11679
+ </description>
11680
+ <hashes>
11681
+ <hash alg="SHA-512">4074d723fb19426928d5c6c3a0d01ade6279aa159450d02adef474fd8883dfbf5f590adc7eea17d7e1d6d92d0c4eded79a83cb6a975a0ca52d7a55123e273b85</hash>
11682
+ </hashes>
11683
+ <licenses>
11684
+ <license>
11685
+ <id>MIT</id>
11686
+ </license>
11687
+ </licenses>
11688
+ <purl>pkg:npm/enhanced-resolve@5.12.0</purl>
11689
+ <externalReferences>
11690
+ <reference type="website">
11691
+ <url>http://github.com/webpack/enhanced-resolve</url>
11692
+ </reference>
11693
+ <reference type="issue-tracker">
11694
+ <url>https://github.com/webpack/enhanced-resolve/issues</url>
11695
+ </reference>
11696
+ <reference type="vcs">
11697
+ <url>git://github.com/webpack/enhanced-resolve.git</url>
11698
+ </reference>
11699
+ </externalReferences>
11700
+ </component>
11701
+ <component type="library" bom-ref="pkg:npm/tapable@2.2.1">
11702
+ <author>Tobias Koppers @sokra</author>
11703
+ <name>tapable</name>
11704
+ <version>2.2.1</version>
11705
+ <description>
11706
+ <![CDATA[Just a little module for plugins.]]>
11707
+ </description>
11708
+ <hashes>
11709
+ <hash alg="SHA-512">18dcd0bd04ce20fe91c937c4d90c5bf19565366c349fcf2fa75b33c1646298fd369a74ecc775ad9f9a9176a63dc365ddb8535482f3b084d9d0b23c02a7e92a69</hash>
11710
+ </hashes>
11711
+ <licenses>
11712
+ <license>
11713
+ <id>MIT</id>
11714
+ </license>
11715
+ </licenses>
11716
+ <purl>pkg:npm/tapable@2.2.1</purl>
11717
+ <externalReferences>
11718
+ <reference type="website">
11719
+ <url>https://github.com/webpack/tapable</url>
11720
+ </reference>
11721
+ <reference type="issue-tracker">
11722
+ <url>https://github.com/webpack/tapable/issues</url>
11723
+ </reference>
11724
+ <reference type="vcs">
11725
+ <url>git+ssh://git@github.com/webpack/tapable.git</url>
11726
+ </reference>
11727
+ </externalReferences>
11728
+ </component>
11673
11729
  <component type="library" bom-ref="pkg:npm/enzyme@3.11.0">
11674
11730
  <author>Leland Richardson</author>
11675
11731
  <name>enzyme</name>
@@ -12423,30 +12479,31 @@
12423
12479
  </reference>
12424
12480
  </externalReferences>
12425
12481
  </component>
12426
- <component type="library" bom-ref="pkg:npm/react@17.0.2">
12427
- <name>react</name>
12428
- <version>17.0.2</version>
12482
+ <component type="library" bom-ref="pkg:npm/picocolors@1.0.0">
12483
+ <author>Alexey Raspopov</author>
12484
+ <name>picocolors</name>
12485
+ <version>1.0.0</version>
12429
12486
  <description>
12430
- <![CDATA[React is a JavaScript library for building user interfaces.]]>
12487
+ <![CDATA[The tiniest and the fastest library for terminal output formatting with ANSI colors]]>
12431
12488
  </description>
12432
12489
  <hashes>
12433
- <hash alg="SHA-512">82784fb7be62fddabfcf7ffaabfd1ab0fefc0f4bb9f760f92f5a5deccf0ff9d724e85bbf8c978bea25552b6ddfa6d494663f158dffbeef05c0f1435c94641c6c</hash>
12490
+ <hash alg="SHA-512">d5fca0ae84cb947bbaeb38b6e95a130eff324609b415c71e72cb2da3e321b19d03fc3196dac9bc13c0235bb354e5555346de46c5b799e6a06e26bf87c8b6248d</hash>
12434
12491
  </hashes>
12435
12492
  <licenses>
12436
12493
  <license>
12437
- <id>MIT</id>
12494
+ <id>ISC</id>
12438
12495
  </license>
12439
12496
  </licenses>
12440
- <purl>pkg:npm/react@17.0.2</purl>
12497
+ <purl>pkg:npm/picocolors@1.0.0</purl>
12441
12498
  <externalReferences>
12442
12499
  <reference type="website">
12443
- <url>https://reactjs.org/</url>
12500
+ <url>https://github.com/alexeyraspopov/picocolors#readme</url>
12444
12501
  </reference>
12445
12502
  <reference type="issue-tracker">
12446
- <url>https://github.com/facebook/react/issues</url>
12503
+ <url>https://github.com/alexeyraspopov/picocolors/issues</url>
12447
12504
  </reference>
12448
12505
  <reference type="vcs">
12449
- <url>git+https://github.com/facebook/react.git</url>
12506
+ <url>git+https://github.com/alexeyraspopov/picocolors.git</url>
12450
12507
  </reference>
12451
12508
  </externalReferences>
12452
12509
  </component>
@@ -12477,6 +12534,33 @@
12477
12534
  </reference>
12478
12535
  </externalReferences>
12479
12536
  </component>
12537
+ <component type="library" bom-ref="pkg:npm/react@17.0.2">
12538
+ <name>react</name>
12539
+ <version>17.0.2</version>
12540
+ <description>
12541
+ <![CDATA[React is a JavaScript library for building user interfaces.]]>
12542
+ </description>
12543
+ <hashes>
12544
+ <hash alg="SHA-512">82784fb7be62fddabfcf7ffaabfd1ab0fefc0f4bb9f760f92f5a5deccf0ff9d724e85bbf8c978bea25552b6ddfa6d494663f158dffbeef05c0f1435c94641c6c</hash>
12545
+ </hashes>
12546
+ <licenses>
12547
+ <license>
12548
+ <id>MIT</id>
12549
+ </license>
12550
+ </licenses>
12551
+ <purl>pkg:npm/react@17.0.2</purl>
12552
+ <externalReferences>
12553
+ <reference type="website">
12554
+ <url>https://reactjs.org/</url>
12555
+ </reference>
12556
+ <reference type="issue-tracker">
12557
+ <url>https://github.com/facebook/react/issues</url>
12558
+ </reference>
12559
+ <reference type="vcs">
12560
+ <url>git+https://github.com/facebook/react.git</url>
12561
+ </reference>
12562
+ </externalReferences>
12563
+ </component>
12480
12564
  <component type="library" bom-ref="pkg:npm/react-dom@17.0.2">
12481
12565
  <name>react-dom</name>
12482
12566
  <version>17.0.2</version>
@@ -12671,34 +12755,6 @@
12671
12755
  </reference>
12672
12756
  </externalReferences>
12673
12757
  </component>
12674
- <component type="library" bom-ref="pkg:npm/picocolors@1.0.0">
12675
- <author>Alexey Raspopov</author>
12676
- <name>picocolors</name>
12677
- <version>1.0.0</version>
12678
- <description>
12679
- <![CDATA[The tiniest and the fastest library for terminal output formatting with ANSI colors]]>
12680
- </description>
12681
- <hashes>
12682
- <hash alg="SHA-512">70c943a9a2c4a9f49a5bc67b379270fa5c885bcebd1334fbdff179961b58f5c2c6a15c525f39df81f5cc3b46792b4a344364e44d7abed0a16c76749ede30d588</hash>
12683
- </hashes>
12684
- <licenses>
12685
- <license>
12686
- <id>ISC</id>
12687
- </license>
12688
- </licenses>
12689
- <purl>pkg:npm/picocolors@1.0.0</purl>
12690
- <externalReferences>
12691
- <reference type="website">
12692
- <url>https://github.com/alexeyraspopov/picocolors#readme</url>
12693
- </reference>
12694
- <reference type="issue-tracker">
12695
- <url>https://github.com/alexeyraspopov/picocolors/issues</url>
12696
- </reference>
12697
- <reference type="vcs">
12698
- <url>git+https://github.com/alexeyraspopov/picocolors.git</url>
12699
- </reference>
12700
- </externalReferences>
12701
- </component>
12702
12758
  <component type="library" bom-ref="pkg:npm/uuid@9.0.0">
12703
12759
  <name>uuid</name>
12704
12760
  <version>9.0.0</version>
@@ -12726,62 +12782,6 @@
12726
12782
  </reference>
12727
12783
  </externalReferences>
12728
12784
  </component>
12729
- <component type="library" bom-ref="pkg:npm/enhanced-resolve@5.12.0">
12730
- <author>Tobias Koppers @sokra</author>
12731
- <name>enhanced-resolve</name>
12732
- <version>5.12.0</version>
12733
- <description>
12734
- <![CDATA[Offers a async require.resolve function. It's highly configurable.]]>
12735
- </description>
12736
- <hashes>
12737
- <hash alg="SHA-512">4074d723fb19426928d5c6c3a0d01ade6279aa159450d02adef474fd8883dfbf5f590adc7eea17d7e1d6d92d0c4eded79a83cb6a975a0ca52d7a55123e273b85</hash>
12738
- </hashes>
12739
- <licenses>
12740
- <license>
12741
- <id>MIT</id>
12742
- </license>
12743
- </licenses>
12744
- <purl>pkg:npm/enhanced-resolve@5.12.0</purl>
12745
- <externalReferences>
12746
- <reference type="website">
12747
- <url>http://github.com/webpack/enhanced-resolve</url>
12748
- </reference>
12749
- <reference type="issue-tracker">
12750
- <url>https://github.com/webpack/enhanced-resolve/issues</url>
12751
- </reference>
12752
- <reference type="vcs">
12753
- <url>git://github.com/webpack/enhanced-resolve.git</url>
12754
- </reference>
12755
- </externalReferences>
12756
- </component>
12757
- <component type="library" bom-ref="pkg:npm/tapable@2.2.1">
12758
- <author>Tobias Koppers @sokra</author>
12759
- <name>tapable</name>
12760
- <version>2.2.1</version>
12761
- <description>
12762
- <![CDATA[Just a little module for plugins.]]>
12763
- </description>
12764
- <hashes>
12765
- <hash alg="SHA-512">e162bf6d86668fcc4bafe1d408e0c7185d59173b187df6ac2d480488c058e1f82d96d74ee81e1626d9526cf6834cba584dc195c0cdaa2e715320211c371b3790</hash>
12766
- </hashes>
12767
- <licenses>
12768
- <license>
12769
- <id>MIT</id>
12770
- </license>
12771
- </licenses>
12772
- <purl>pkg:npm/tapable@2.2.1</purl>
12773
- <externalReferences>
12774
- <reference type="website">
12775
- <url>https://github.com/webpack/tapable</url>
12776
- </reference>
12777
- <reference type="issue-tracker">
12778
- <url>https://github.com/webpack/tapable/issues</url>
12779
- </reference>
12780
- <reference type="vcs">
12781
- <url>git+ssh://git@github.com/webpack/tapable.git</url>
12782
- </reference>
12783
- </externalReferences>
12784
- </component>
12785
12785
  <component type="library" bom-ref="pkg:npm/eslint-scope@5.1.1">
12786
12786
  <name>eslint-scope</name>
12787
12787
  <version>5.1.1</version>
@@ -13636,7 +13636,7 @@
13636
13636
  <dependency ref="pkg:npm/get-stream@5.2.0">
13637
13637
  <dependency ref="pkg:npm/pump@3.0.0"/>
13638
13638
  </dependency>
13639
- <dependency ref="pkg:npm/http-cache-semantics@4.1.0"/>
13639
+ <dependency ref="pkg:npm/http-cache-semantics@4.1.1"/>
13640
13640
  <dependency ref="pkg:npm/json-buffer@3.0.1"/>
13641
13641
  <dependency ref="pkg:npm/keyv@4.5.2">
13642
13642
  <dependency ref="pkg:npm/json-buffer@3.0.1"/>
@@ -13647,7 +13647,7 @@
13647
13647
  <dependency ref="pkg:npm/cacheable-request@7.0.2">
13648
13648
  <dependency ref="pkg:npm/clone-response@1.0.3"/>
13649
13649
  <dependency ref="pkg:npm/get-stream@5.2.0"/>
13650
- <dependency ref="pkg:npm/http-cache-semantics@4.1.0"/>
13650
+ <dependency ref="pkg:npm/http-cache-semantics@4.1.1"/>
13651
13651
  <dependency ref="pkg:npm/keyv@4.5.2"/>
13652
13652
  <dependency ref="pkg:npm/lowercase-keys@2.0.0"/>
13653
13653
  <dependency ref="pkg:npm/normalize-url@6.1.0"/>
@@ -14003,13 +14003,13 @@
14003
14003
  </dependency>
14004
14004
  <dependency ref="pkg:npm/%40webassemblyjs/helper-buffer@1.11.1"/>
14005
14005
  <dependency ref="pkg:npm/%40webassemblyjs/helper-api-error@1.11.1"/>
14006
+ <dependency ref="pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1"/>
14006
14007
  <dependency ref="pkg:npm/%40webassemblyjs/floating-point-hex-parser@1.11.1"/>
14007
14008
  <dependency ref="pkg:npm/%40xtuc/long@4.2.2"/>
14008
14009
  <dependency ref="pkg:npm/%40webassemblyjs/helper-numbers@1.11.1">
14009
14010
  <dependency ref="pkg:npm/%40webassemblyjs/floating-point-hex-parser@1.11.1"/>
14010
14011
  <dependency ref="pkg:npm/%40xtuc/long@4.2.2"/>
14011
14012
  </dependency>
14012
- <dependency ref="pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1"/>
14013
14013
  <dependency ref="pkg:npm/%40webassemblyjs/ast@1.11.1"/>
14014
14014
  <dependency ref="pkg:npm/%40xtuc/ieee754@1.2.0"/>
14015
14015
  <dependency ref="pkg:npm/%40webassemblyjs/ieee754@1.11.1">
@@ -14097,6 +14097,10 @@
14097
14097
  <dependency ref="pkg:npm/chrome-trace-event@1.0.3"/>
14098
14098
  <dependency ref="pkg:npm/discontinuous-range@1.0.0"/>
14099
14099
  <dependency ref="pkg:npm/electron-to-chromium@1.4.284"/>
14100
+ <dependency ref="pkg:npm/tapable@2.2.1"/>
14101
+ <dependency ref="pkg:npm/enhanced-resolve@5.12.0">
14102
+ <dependency ref="pkg:npm/tapable@2.2.1"/>
14103
+ </dependency>
14100
14104
  <dependency ref="pkg:npm/html-element-map@1.3.1"/>
14101
14105
  <dependency ref="pkg:npm/is-subset@0.1.1"/>
14102
14106
  <dependency ref="pkg:npm/lodash.escape@4.0.1"/>
@@ -14147,25 +14151,19 @@
14147
14151
  <dependency ref="pkg:npm/merge-stream@2.0.0"/>
14148
14152
  <dependency ref="pkg:npm/neo-async@2.6.2"/>
14149
14153
  <dependency ref="pkg:npm/node-releases@2.0.8"/>
14150
- <dependency ref="pkg:npm/react@17.0.2"/>
14154
+ <dependency ref="pkg:npm/picocolors@1.0.0"/>
14151
14155
  <dependency ref="pkg:npm/randombytes@2.1.0"/>
14156
+ <dependency ref="pkg:npm/react@17.0.2"/>
14152
14157
  <dependency ref="pkg:npm/react-dom@17.0.2"/>
14153
14158
  <dependency ref="pkg:npm/serialize-javascript@6.0.0"/>
14154
14159
  <dependency ref="pkg:npm/source-map@0.6.1"/>
14155
14160
  <dependency ref="pkg:npm/watchpack@2.4.0"/>
14156
14161
  <dependency ref="pkg:npm/acorn@8.8.1"/>
14157
- <dependency ref="pkg:npm/picocolors@1.0.0"/>
14158
- <dependency ref="pkg:npm/update-browserslist-db@1.0.10">
14159
- <dependency ref="pkg:npm/picocolors@1.0.0"/>
14160
- </dependency>
14162
+ <dependency ref="pkg:npm/update-browserslist-db@1.0.10"/>
14161
14163
  <dependency ref="pkg:npm/browserslist@4.21.4">
14162
14164
  <dependency ref="pkg:npm/update-browserslist-db@1.0.10"/>
14163
14165
  </dependency>
14164
14166
  <dependency ref="pkg:npm/uuid@9.0.0"/>
14165
- <dependency ref="pkg:npm/tapable@2.2.1"/>
14166
- <dependency ref="pkg:npm/enhanced-resolve@5.12.0">
14167
- <dependency ref="pkg:npm/tapable@2.2.1"/>
14168
- </dependency>
14169
14167
  <dependency ref="pkg:npm/estraverse@4.3.0"/>
14170
14168
  <dependency ref="pkg:npm/eslint-scope@5.1.1">
14171
14169
  <dependency ref="pkg:npm/estraverse@4.3.0"/>
@@ -14196,7 +14194,7 @@
14196
14194
  <dependency ref="pkg:npm/terser-webpack-plugin@5.3.6"/>
14197
14195
  <dependency ref="pkg:npm/webpack-sources@3.2.3"/>
14198
14196
  </dependency>
14199
- <dependency ref="pkg:npm/%40modusoperandi/licit@0.14.3">
14197
+ <dependency ref="pkg:npm/%40modusoperandi/licit@0.14.10">
14200
14198
  <dependency ref="pkg:npm/%40modusoperandi/licit-ui-commands@0.1.13"/>
14201
14199
  <dependency ref="pkg:npm/%40wojtekmaj/enzyme-adapter-react-17@0.6.7"/>
14202
14200
  <dependency ref="pkg:npm/body-parser@1.20.1"/>
@@ -14219,8 +14217,8 @@
14219
14217
  <dependency ref="pkg:npm/url@0.11.0"/>
14220
14218
  <dependency ref="pkg:npm/%40webassemblyjs/helper-buffer@1.11.1"/>
14221
14219
  <dependency ref="pkg:npm/%40webassemblyjs/helper-api-error@1.11.1"/>
14222
- <dependency ref="pkg:npm/%40webassemblyjs/helper-numbers@1.11.1"/>
14223
14220
  <dependency ref="pkg:npm/%40webassemblyjs/helper-wasm-bytecode@1.11.1"/>
14221
+ <dependency ref="pkg:npm/%40webassemblyjs/helper-numbers@1.11.1"/>
14224
14222
  <dependency ref="pkg:npm/%40webassemblyjs/helper-wasm-section@1.11.1"/>
14225
14223
  <dependency ref="pkg:npm/%40webassemblyjs/wasm-opt@1.11.1"/>
14226
14224
  <dependency ref="pkg:npm/%40jridgewell/resolve-uri@3.1.0"/>
@@ -14241,6 +14239,7 @@
14241
14239
  <dependency ref="pkg:npm/chrome-trace-event@1.0.3"/>
14242
14240
  <dependency ref="pkg:npm/discontinuous-range@1.0.0"/>
14243
14241
  <dependency ref="pkg:npm/electron-to-chromium@1.4.284"/>
14242
+ <dependency ref="pkg:npm/enhanced-resolve@5.12.0"/>
14244
14243
  <dependency ref="pkg:npm/enzyme@3.11.0"/>
14245
14244
  <dependency ref="pkg:npm/es-module-lexer@0.9.3"/>
14246
14245
  <dependency ref="pkg:npm/escalade@3.1.1"/>
@@ -14251,8 +14250,9 @@
14251
14250
  <dependency ref="pkg:npm/merge-stream@2.0.0"/>
14252
14251
  <dependency ref="pkg:npm/neo-async@2.6.2"/>
14253
14252
  <dependency ref="pkg:npm/node-releases@2.0.8"/>
14254
- <dependency ref="pkg:npm/react@17.0.2"/>
14253
+ <dependency ref="pkg:npm/picocolors@1.0.0"/>
14255
14254
  <dependency ref="pkg:npm/randombytes@2.1.0"/>
14255
+ <dependency ref="pkg:npm/react@17.0.2"/>
14256
14256
  <dependency ref="pkg:npm/react-dom@17.0.2"/>
14257
14257
  <dependency ref="pkg:npm/serialize-javascript@6.0.0"/>
14258
14258
  <dependency ref="pkg:npm/source-map@0.6.1"/>
@@ -14260,7 +14260,6 @@
14260
14260
  <dependency ref="pkg:npm/acorn@8.8.1"/>
14261
14261
  <dependency ref="pkg:npm/browserslist@4.21.4"/>
14262
14262
  <dependency ref="pkg:npm/uuid@9.0.0"/>
14263
- <dependency ref="pkg:npm/enhanced-resolve@5.12.0"/>
14264
14263
  <dependency ref="pkg:npm/eslint-scope@5.1.1"/>
14265
14264
  <dependency ref="pkg:npm/%40jridgewell/source-map@0.3.2"/>
14266
14265
  <dependency ref="pkg:npm/webpack@5.75.0"/>
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _prosemirrorState = require("prosemirror-state");
8
8
  var _prosemirrorView = require("prosemirror-view");
9
+ var _prosemirrorModel = require("prosemirror-model");
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _CommandMenuButton = _interopRequireDefault(require("./CommandMenuButton"));
11
12
  var _EditorToolbarConfig = require("./EditorToolbarConfig");
@@ -26,11 +27,20 @@ class TableCellMenu extends React.PureComponent {
26
27
  render() {
27
28
  const {
28
29
  editorState,
29
- editorView
30
+ editorView,
31
+ pluginView,
32
+ actionNode
30
33
  } = this.props;
34
+ let cmdGrps = null;
35
+ if (pluginView.getMenu) {
36
+ cmdGrps = pluginView.getMenu(editorState, actionNode, _EditorToolbarConfig.TABLE_COMMANDS_GROUP);
37
+ }
38
+ if (!cmdGrps) {
39
+ cmdGrps = _EditorToolbarConfig.TABLE_COMMANDS_GROUP;
40
+ }
31
41
  return /*#__PURE__*/React.createElement(_CommandMenuButton.default, {
32
42
  className: "czi-table-cell-menu",
33
- commandGroups: _EditorToolbarConfig.TABLE_COMMANDS_GROUP,
43
+ commandGroups: cmdGrps,
34
44
  dispatch: editorView.dispatch,
35
45
  editorState: editorState,
36
46
  editorView: editorView,
@@ -1,6 +1,7 @@
1
1
  // @flow
2
- import { EditorState } from 'prosemirror-state';
2
+ import { EditorState, PluginView } from 'prosemirror-state';
3
3
  import { EditorView } from 'prosemirror-view';
4
+ import { Node } from 'prosemirror-model';
4
5
  import * as React from 'react';
5
6
 
6
7
  import CommandMenuButton from './CommandMenuButton';
@@ -12,6 +13,8 @@ import './czi-table-cell-menu.css';
12
13
  type Props = {
13
14
  editorState: EditorState,
14
15
  editorView: EditorView,
16
+ pluginView: PluginView,
17
+ actionNode: Node,
15
18
  };
16
19
 
17
20
  class TableCellMenu extends React.PureComponent<any, any> {
@@ -20,11 +23,21 @@ class TableCellMenu extends React.PureComponent<any, any> {
20
23
  props: Props;
21
24
 
22
25
  render(): React.Element<any> {
23
- const { editorState, editorView } = this.props;
26
+ const { editorState, editorView, pluginView, actionNode } = this.props;
27
+ let cmdGrps = null;
28
+
29
+ if (pluginView.getMenu) {
30
+ cmdGrps = pluginView.getMenu(editorState, actionNode, TABLE_COMMANDS_GROUP);
31
+ }
32
+
33
+ if (!cmdGrps) {
34
+ cmdGrps = TABLE_COMMANDS_GROUP;
35
+ }
36
+
24
37
  return (
25
38
  <CommandMenuButton
26
39
  className="czi-table-cell-menu"
27
- commandGroups={TABLE_COMMANDS_GROUP}
40
+ commandGroups={cmdGrps}
28
41
  dispatch={editorView.dispatch}
29
42
  editorState={editorState}
30
43
  editorView={editorView}
@@ -12,8 +12,10 @@ function isElementFullyVisible(el) {
12
12
  w,
13
13
  h
14
14
  } = (0, _licitUiCommands.fromHTMlElement)(el);
15
+ // to handle the rounded border scenario.
16
+ const factor = '10px' === el.style.borderRadius ? 3 : 1;
15
17
  // Only checks the top-left point.
16
- const nwEl = w && h ? el.ownerDocument.elementFromPoint(x + 1, y + 1) : null;
18
+ const nwEl = w && h ? el.ownerDocument.elementFromPoint(x + factor, y + factor) : null;
17
19
  if (!nwEl) {
18
20
  return false;
19
21
  }
@@ -4,8 +4,11 @@ import { fromHTMlElement } from '@modusoperandi/licit-ui-commands';
4
4
 
5
5
  export default function isElementFullyVisible(el: HTMLElement): boolean {
6
6
  const { x, y, w, h } = fromHTMlElement(el);
7
+ // to handle the rounded border scenario.
8
+ const factor = '10px' === el.style.borderRadius ? 3 : 1;
7
9
  // Only checks the top-left point.
8
- const nwEl = w && h ? el.ownerDocument.elementFromPoint(x + 1, y + 1) : null;
10
+ const nwEl =
11
+ w && h ? el.ownerDocument.elementFromPoint(x + factor, y + factor) : null;
9
12
 
10
13
  if (!nwEl) {
11
14
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modusoperandi/licit",
3
- "version": "0.14.3",
3
+ "version": "0.14.10",
4
4
  "subversion": "1",
5
5
  "description": "Rich text editor built with React and ProseMirror",
6
6
  "main": "dist/index.js",
@@ -56,7 +56,7 @@
56
56
  "babel-plugin-transform-react-remove-prop-types": "0.4.24",
57
57
  "clean-webpack-plugin": "4.0.0",
58
58
  "copy-webpack-plugin": "^11.0.0",
59
- "css-loader": "3.6.0",
59
+ "css-loader": "6.7.3",
60
60
  "enzyme": "^3.11.0",
61
61
  "eslint": "^8.25.0",
62
62
  "eslint-config-prettier": "^8.5.0",
@@ -70,7 +70,7 @@
70
70
  "flow-webpack-plugin": "1.2.0",
71
71
  "html-loader": "1.1.0",
72
72
  "html-webpack-inline-source-plugin": "1.0.0-beta.2",
73
- "html-webpack-plugin": "^4.5.0",
73
+ "html-webpack-plugin": "^5.5.0",
74
74
  "husky": "^8.0.1",
75
75
  "identity-obj-proxy": "^3.0.0",
76
76
  "jest": "^29.2.0",
@@ -13,6 +13,7 @@ import { createPopUp } from '@modusoperandi/licit-ui-commands';
13
13
  import isElementFullyVisible from './ui/isElementFullyVisible';
14
14
 
15
15
  import '@modusoperandi/licit-ui-commands/dist/ui/czi-pop-up.css';
16
+ import { CellSelection } from 'prosemirror-tables';
16
17
 
17
18
  class TableCellTooltipView {
18
19
  _cellElement: null;
@@ -41,9 +42,15 @@ class TableCellTooltipView {
41
42
 
42
43
  let cellEl = domFound.node;
43
44
  const popUp = this._popUp;
45
+ let actionNode = null;
46
+ if (result && state.selection instanceof CellSelection) {
47
+ actionNode = state.selection.$anchorCell.node(-1);
48
+ }
44
49
  const viewPops = {
45
50
  editorState: state,
46
51
  editorView: view,
52
+ pluginView: this,
53
+ actionNode,
47
54
  };
48
55
 
49
56
  if (cellEl && !isElementFullyVisible(cellEl)) {
@@ -595,9 +595,10 @@ export default class TableResizePlugin extends Plugin {
595
595
  key: PLUGIN_KEY,
596
596
  state: {
597
597
  init(_: any, state: EditorState): ResizeState {
598
- this.spec.props.nodeViews[
599
- tableNodeTypes(state.schema).table.name
600
- ] = createTableView;
598
+ if (!this.spec.props.nodeViews['table']) {
599
+ this.spec.props.nodeViews[tableNodeTypes(state.schema).table.name] =
600
+ createTableView;
601
+ }
601
602
  return new ResizeState(-1, null);
602
603
  },
603
604
  apply(tr: Transform, prev: EditorState): EditorState {
@@ -1,6 +1,7 @@
1
1
  // @flow
2
- import { EditorState } from 'prosemirror-state';
2
+ import { EditorState, PluginView } from 'prosemirror-state';
3
3
  import { EditorView } from 'prosemirror-view';
4
+ import { Node } from 'prosemirror-model';
4
5
  import * as React from 'react';
5
6
 
6
7
  import CommandMenuButton from './CommandMenuButton';
@@ -12,6 +13,8 @@ import './czi-table-cell-menu.css';
12
13
  type Props = {
13
14
  editorState: EditorState,
14
15
  editorView: EditorView,
16
+ pluginView: PluginView,
17
+ actionNode: Node,
15
18
  };
16
19
 
17
20
  class TableCellMenu extends React.PureComponent<any, any> {
@@ -20,11 +23,21 @@ class TableCellMenu extends React.PureComponent<any, any> {
20
23
  props: Props;
21
24
 
22
25
  render(): React.Element<any> {
23
- const { editorState, editorView } = this.props;
26
+ const { editorState, editorView, pluginView, actionNode } = this.props;
27
+ let cmdGrps = null;
28
+
29
+ if (pluginView.getMenu) {
30
+ cmdGrps = pluginView.getMenu(editorState, actionNode, TABLE_COMMANDS_GROUP);
31
+ }
32
+
33
+ if (!cmdGrps) {
34
+ cmdGrps = TABLE_COMMANDS_GROUP;
35
+ }
36
+
24
37
  return (
25
38
  <CommandMenuButton
26
39
  className="czi-table-cell-menu"
27
- commandGroups={TABLE_COMMANDS_GROUP}
40
+ commandGroups={cmdGrps}
28
41
  dispatch={editorView.dispatch}
29
42
  editorState={editorState}
30
43
  editorView={editorView}
@@ -4,8 +4,11 @@ import { fromHTMlElement } from '@modusoperandi/licit-ui-commands';
4
4
 
5
5
  export default function isElementFullyVisible(el: HTMLElement): boolean {
6
6
  const { x, y, w, h } = fromHTMlElement(el);
7
+ // to handle the rounded border scenario.
8
+ const factor = '10px' === el.style.borderRadius ? 3 : 1;
7
9
  // Only checks the top-left point.
8
- const nwEl = w && h ? el.ownerDocument.elementFromPoint(x + 1, y + 1) : null;
10
+ const nwEl =
11
+ w && h ? el.ownerDocument.elementFromPoint(x + factor, y + factor) : null;
9
12
 
10
13
  if (!nwEl) {
11
14
  return false;