@teambit/react.ui.component-highlighter 0.0.513 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/children-highlighter/children-highlighter.composition.tsx +13 -11
- package/children-highlighter/children-highlighter.spec.tsx +1 -1
- package/children-highlighter/use-children-highlighter.tsx +6 -3
- package/dist/children-highlighter/children-highlighter.composition.js +17 -8
- package/dist/children-highlighter/children-highlighter.composition.js.map +1 -1
- package/dist/children-highlighter/children-highlighter.spec.js +1 -1
- package/dist/children-highlighter/children-highlighter.spec.js.map +1 -1
- package/dist/children-highlighter/use-children-highlighter.js +3 -1
- package/dist/children-highlighter/use-children-highlighter.js.map +1 -1
- package/dist/element-highlighter/element-highlighter.compositions.d.ts +2 -1
- package/dist/element-highlighter/element-highlighter.compositions.js +36 -6
- package/dist/element-highlighter/element-highlighter.compositions.js.map +1 -1
- package/dist/element-highlighter/element-highlighter.js +1 -1
- package/dist/element-highlighter/element-highlighter.js.map +1 -1
- package/dist/frame/frame.js +49 -25
- package/dist/frame/frame.js.map +1 -1
- package/dist/hover-highlighter/hover-highlighter.compositions.d.ts +2 -0
- package/dist/hover-highlighter/hover-highlighter.compositions.js +32 -3
- package/dist/hover-highlighter/hover-highlighter.compositions.js.map +1 -1
- package/dist/hover-highlighter/use-hover-highlighter.js +7 -2
- package/dist/hover-highlighter/use-hover-highlighter.js.map +1 -1
- package/dist/ignore-highlighter.d.ts +12 -3
- package/dist/ignore-highlighter.js +11 -4
- package/dist/ignore-highlighter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/label/component-strip.compositions.d.ts +2 -0
- package/dist/label/component-strip.compositions.js +17 -0
- package/dist/label/component-strip.compositions.js.map +1 -0
- package/dist/label/component-strip.js +7 -5
- package/dist/label/component-strip.js.map +1 -1
- package/dist/label/component-strip.module.scss +19 -0
- package/dist/label/label-container.js +11 -5
- package/dist/label/label-container.js.map +1 -1
- package/dist/label/label.module.scss +2 -0
- package/dist/mock-component.d.ts +4 -2
- package/dist/mock-component.js +18 -4
- package/dist/mock-component.js.map +1 -1
- package/dist/tsconfig.json +32 -0
- package/element-highlighter/element-highlighter.compositions.tsx +52 -4
- package/element-highlighter/element-highlighter.tsx +2 -2
- package/frame/frame.tsx +52 -24
- package/hover-highlighter/hover-highlighter.compositions.tsx +45 -3
- package/hover-highlighter/use-hover-highlighter.tsx +9 -3
- package/ignore-highlighter.tsx +11 -3
- package/index.ts +2 -1
- package/label/component-strip.compositions.tsx +13 -0
- package/label/component-strip.module.scss +19 -0
- package/label/component-strip.tsx +7 -5
- package/label/label-container.tsx +11 -5
- package/label/label.module.scss +2 -0
- package/mock-component.tsx +19 -5
- package/package-tar/teambit-react.ui.component-highlighter-0.2.0.tgz +0 -0
- package/package.json +18 -55
- package/preview-1657547073447.js +8 -0
- package/tsconfig.json +8 -2
- package/package-tar/teambit-react.ui.component-highlighter-0.0.513.tgz +0 -0
- package/preview-1649042627943.js +0 -2
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
// import { EnterpriseOffering } from '@teambit/evangelist.pages.enterprise-offering';
|
|
3
3
|
import { MockedComponentWithMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';
|
|
4
|
-
import { IconButton } from '@teambit/design.ui.icon-button';
|
|
5
4
|
import { ExcludeHighlighter } from '../ignore-highlighter';
|
|
6
5
|
import { ChildrenHighlighter } from './children-highlighter';
|
|
6
|
+
import { MockTarget } from '../mock-component';
|
|
7
7
|
|
|
8
8
|
export const ChildrenHighlighterPreview = () => {
|
|
9
9
|
return (
|
|
10
10
|
// highlighter runs in compositions, therefor should not have our font
|
|
11
11
|
<ChildrenHighlighter style={{ padding: 40, minWidth: 200, fontFamily: 'sans-serif' }}>
|
|
12
|
-
<MockedComponentWithMeta>
|
|
12
|
+
<MockedComponentWithMeta>target #1</MockedComponentWithMeta>
|
|
13
|
+
<br />
|
|
13
14
|
<br />
|
|
14
15
|
<br />
|
|
15
16
|
<br />
|
|
16
|
-
<
|
|
17
|
+
<MockedComponentWithMeta>target #2</MockedComponentWithMeta>
|
|
17
18
|
</ChildrenHighlighter>
|
|
18
19
|
);
|
|
19
20
|
};
|
|
@@ -56,10 +57,12 @@ export const ChildrenHighlighterInsideIgnore = () => {
|
|
|
56
57
|
};
|
|
57
58
|
|
|
58
59
|
export const ChildrenHighlighterWithRule = () => {
|
|
60
|
+
const rule = '#someSubTree *';
|
|
61
|
+
|
|
59
62
|
return (
|
|
60
|
-
<ChildrenHighlighter rule=
|
|
63
|
+
<ChildrenHighlighter rule={rule} style={{ minWidth: 300, fontFamily: 'sans-serif' }}>
|
|
61
64
|
<div>
|
|
62
|
-
element filter: <code>"
|
|
65
|
+
element filter: <code>"{rule}"</code>
|
|
63
66
|
</div>
|
|
64
67
|
<br />
|
|
65
68
|
<MockedComponentWithMeta>no highlighter</MockedComponentWithMeta>
|
|
@@ -74,20 +77,19 @@ export const ChildrenHighlighterWithRule = () => {
|
|
|
74
77
|
};
|
|
75
78
|
|
|
76
79
|
export const ChildrenHighlighterWithComponentRule = () => {
|
|
80
|
+
const filterTarget = 'teambit.design/ui/mock-target';
|
|
81
|
+
|
|
77
82
|
return (
|
|
78
|
-
<ChildrenHighlighter
|
|
79
|
-
componentRule="teambit.design/ui/icon-button"
|
|
80
|
-
style={{ minWidth: 300, fontFamily: 'sans-serif' }}
|
|
81
|
-
>
|
|
83
|
+
<ChildrenHighlighter componentRule={filterTarget} style={{ minWidth: 300, fontFamily: 'sans-serif' }}>
|
|
82
84
|
<div>
|
|
83
|
-
component filter: <code>"
|
|
85
|
+
component filter: <code>"{filterTarget}"</code>
|
|
84
86
|
</div>
|
|
85
87
|
<br />
|
|
86
88
|
<MockedComponentWithMeta>no highlighter</MockedComponentWithMeta>
|
|
87
89
|
<br />
|
|
88
90
|
<br />
|
|
89
91
|
<br />
|
|
90
|
-
<
|
|
92
|
+
<MockTarget style={{ display: 'inline-block', margin: '0 8px' }}>this will be highlighted</MockTarget>
|
|
91
93
|
</ChildrenHighlighter>
|
|
92
94
|
);
|
|
93
95
|
};
|
|
@@ -5,7 +5,7 @@ import { ChildrenHighlighterPreview } from './children-highlighter.composition';
|
|
|
5
5
|
it('should not throw when rendering the children-highlighter', () => {
|
|
6
6
|
const { getByText } = render(<ChildrenHighlighterPreview />);
|
|
7
7
|
|
|
8
|
-
const rendered = getByText('
|
|
8
|
+
const rendered = getByText('target #1');
|
|
9
9
|
|
|
10
10
|
expect(rendered).toBeInstanceOf(HTMLElement);
|
|
11
11
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect, RefObject } from 'react';
|
|
1
|
+
import { useEffect, RefObject, HtmlHTMLAttributes } from 'react';
|
|
2
2
|
import getXPath from 'get-xpath';
|
|
3
3
|
import { domToReacts, toRootElement } from '@teambit/react.modules.dom-to-react';
|
|
4
4
|
import {
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
hasComponentMeta,
|
|
8
8
|
ReactComponentMetaHolder,
|
|
9
9
|
} from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';
|
|
10
|
-
import { excludeHighlighterSelector } from '../ignore-highlighter';
|
|
10
|
+
import { excludeHighlighterSelector, skipHighlighterSelector } from '../ignore-highlighter';
|
|
11
11
|
import { ruleMatcher, MatchRule, ComponentMatchRule, componentRuleMatcher } from '../rule-matcher';
|
|
12
12
|
|
|
13
13
|
type HighlighterTarget = Record<string, { element: HTMLElement; components: ComponentMetaHolder[] }>;
|
|
@@ -72,5 +72,8 @@ function targetsSelector(
|
|
|
72
72
|
*/
|
|
73
73
|
scopeSelector = ':scope'
|
|
74
74
|
) {
|
|
75
|
-
|
|
75
|
+
const excludedSelector = `${scopeSelector} ${excludeHighlighterSelector}, ${scopeSelector} ${excludeHighlighterSelector} *`;
|
|
76
|
+
const skippedSelector = `${scopeSelector} ${skipHighlighterSelector}, ${scopeSelector} ${skipHighlighterSelector} *`;
|
|
77
|
+
|
|
78
|
+
return `:not(${excludedSelector}, ${skippedSelector})`;
|
|
76
79
|
}
|
|
@@ -7,18 +7,19 @@ exports.ChildrenHighlighterWithComponentRule = exports.ChildrenHighlighterWithRu
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
// import { EnterpriseOffering } from '@teambit/evangelist.pages.enterprise-offering';
|
|
9
9
|
const react_ui_highlighter_component_metadata_bit_component_meta_1 = require("@teambit/react.ui.highlighter.component-metadata.bit-component-meta");
|
|
10
|
-
const design_ui_icon_button_1 = require("@teambit/design.ui.icon-button");
|
|
11
10
|
const ignore_highlighter_1 = require("../ignore-highlighter");
|
|
12
11
|
const children_highlighter_1 = require("./children-highlighter");
|
|
12
|
+
const mock_component_1 = require("../mock-component");
|
|
13
13
|
const ChildrenHighlighterPreview = () => {
|
|
14
14
|
return (
|
|
15
15
|
// highlighter runs in compositions, therefor should not have our font
|
|
16
16
|
react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { style: { padding: 40, minWidth: 200, fontFamily: 'sans-serif' } },
|
|
17
|
-
react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "
|
|
17
|
+
react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "target #1"),
|
|
18
|
+
react_1.default.createElement("br", null),
|
|
18
19
|
react_1.default.createElement("br", null),
|
|
19
20
|
react_1.default.createElement("br", null),
|
|
20
21
|
react_1.default.createElement("br", null),
|
|
21
|
-
react_1.default.createElement(
|
|
22
|
+
react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "target #2")));
|
|
22
23
|
};
|
|
23
24
|
exports.ChildrenHighlighterPreview = ChildrenHighlighterPreview;
|
|
24
25
|
const ChildrenHighlighterWithCustomColors = () => {
|
|
@@ -48,10 +49,14 @@ const ChildrenHighlighterInsideIgnore = () => {
|
|
|
48
49
|
};
|
|
49
50
|
exports.ChildrenHighlighterInsideIgnore = ChildrenHighlighterInsideIgnore;
|
|
50
51
|
const ChildrenHighlighterWithRule = () => {
|
|
51
|
-
|
|
52
|
+
const rule = '#someSubTree *';
|
|
53
|
+
return (react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { rule: rule, style: { minWidth: 300, fontFamily: 'sans-serif' } },
|
|
52
54
|
react_1.default.createElement("div", null,
|
|
53
55
|
"element filter: ",
|
|
54
|
-
react_1.default.createElement("code", null,
|
|
56
|
+
react_1.default.createElement("code", null,
|
|
57
|
+
"\"",
|
|
58
|
+
rule,
|
|
59
|
+
"\"")),
|
|
55
60
|
react_1.default.createElement("br", null),
|
|
56
61
|
react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "no highlighter"),
|
|
57
62
|
react_1.default.createElement("br", null),
|
|
@@ -62,16 +67,20 @@ const ChildrenHighlighterWithRule = () => {
|
|
|
62
67
|
};
|
|
63
68
|
exports.ChildrenHighlighterWithRule = ChildrenHighlighterWithRule;
|
|
64
69
|
const ChildrenHighlighterWithComponentRule = () => {
|
|
65
|
-
|
|
70
|
+
const filterTarget = 'teambit.design/ui/mock-target';
|
|
71
|
+
return (react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { componentRule: filterTarget, style: { minWidth: 300, fontFamily: 'sans-serif' } },
|
|
66
72
|
react_1.default.createElement("div", null,
|
|
67
73
|
"component filter: ",
|
|
68
|
-
react_1.default.createElement("code", null,
|
|
74
|
+
react_1.default.createElement("code", null,
|
|
75
|
+
"\"",
|
|
76
|
+
filterTarget,
|
|
77
|
+
"\"")),
|
|
69
78
|
react_1.default.createElement("br", null),
|
|
70
79
|
react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "no highlighter"),
|
|
71
80
|
react_1.default.createElement("br", null),
|
|
72
81
|
react_1.default.createElement("br", null),
|
|
73
82
|
react_1.default.createElement("br", null),
|
|
74
|
-
react_1.default.createElement(
|
|
83
|
+
react_1.default.createElement(mock_component_1.MockTarget, { style: { display: 'inline-block', margin: '0 8px' } }, "this will be highlighted")));
|
|
75
84
|
};
|
|
76
85
|
exports.ChildrenHighlighterWithComponentRule = ChildrenHighlighterWithComponentRule;
|
|
77
86
|
// export const HighlightingAllElementsInTheEnterprisePage = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"children-highlighter.composition.js","sourceRoot":"","sources":["../../children-highlighter/children-highlighter.composition.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,sFAAsF;AACtF,oJAA8G;AAC9G,
|
|
1
|
+
{"version":3,"file":"children-highlighter.composition.js","sourceRoot":"","sources":["../../children-highlighter/children-highlighter.composition.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,sFAAsF;AACtF,oJAA8G;AAC9G,8DAA2D;AAC3D,iEAA6D;AAC7D,sDAA+C;AAExC,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,OAAO;IACL,sEAAsE;IACtE,8BAAC,0CAAmB,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QAClF,8BAAC,oFAAuB,oBAAoC;QAC5D,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,8BAAC,oFAAuB,oBAAoC,CACxC,CACvB,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC;AAEK,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,OAAO,CACL,8BAAC,0CAAmB,IAClB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,EAChF,OAAO,EAAC,gBAAgB,EACxB,YAAY,EAAC,MAAM,EACnB,aAAa,EAAC,eAAe;QAE7B,8BAAC,oFAAuB,qBAAqC;QAC7D,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,8BAAC,oFAAuB,oBAAoC,CACxC,CACvB,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,mCAAmC,uCAe9C;AAEK,MAAM,+BAA+B,GAAG,GAAG,EAAE;IAClD,OAAO,CACL,8BAAC,uCAAkB;QACjB,8BAAC,0CAAmB,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;;YACN,4CAAO,sBAAsB,CAAQ;YACrF,yCAAM;;YAEN,yCAAM;YACN,yCAAM;YACN,yCAAM;YACN,8BAAC,oFAAuB,qBAAqC;YAC7D,yCAAM;YACN,yCAAM;YACN,yCAAM;YACN,8BAAC,oFAAuB,oBAAoC,CACxC,CACH,CACtB,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,+BAA+B,mCAkB1C;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,MAAM,IAAI,GAAG,gBAAgB,CAAC;IAE9B,OAAO,CACL,8BAAC,0CAAmB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QACjF;;YACkB;;gBAAQ,IAAI;qBAAS,CACjC;QACN,yCAAM;QACN,8BAAC,oFAAuB,yBAAyC;QACjE,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,uCAAK,EAAE,EAAC,aAAa;YACnB,8BAAC,oFAAuB,mCAAmD,CACvE,CACc,CACvB,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,2BAA2B,+BAkBtC;AAEK,MAAM,oCAAoC,GAAG,GAAG,EAAE;IACvD,MAAM,YAAY,GAAG,+BAA+B,CAAC;IAErD,OAAO,CACL,8BAAC,0CAAmB,IAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QAClG;;YACoB;;gBAAQ,YAAY;qBAAS,CAC3C;QACN,yCAAM;QACN,8BAAC,oFAAuB,yBAAyC;QACjE,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,8BAAC,2BAAU,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,+BAAuC,CAClF,CACvB,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,oCAAoC,wCAgB/C;AAEF,oEAAoE;AACpE,aAAa;AACb,4BAA4B;AAC5B,uDAAuD;AACvD,6BAA6B;AAC7B,OAAO;AACP,KAAK"}
|
|
@@ -8,7 +8,7 @@ const react_2 = require("@testing-library/react");
|
|
|
8
8
|
const children_highlighter_composition_1 = require("./children-highlighter.composition");
|
|
9
9
|
it('should not throw when rendering the children-highlighter', () => {
|
|
10
10
|
const { getByText } = (0, react_2.render)(react_1.default.createElement(children_highlighter_composition_1.ChildrenHighlighterPreview, null));
|
|
11
|
-
const rendered = getByText('
|
|
11
|
+
const rendered = getByText('target #1');
|
|
12
12
|
expect(rendered).toBeInstanceOf(HTMLElement);
|
|
13
13
|
});
|
|
14
14
|
// .querySelectorAll() is not working as expected during the test, ignoring for now :(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"children-highlighter.spec.js","sourceRoot":"","sources":["../../children-highlighter/children-highlighter.spec.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,kDAAgD;AAChD,yFAAgF;AAEhF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,6DAA0B,OAAG,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"children-highlighter.spec.js","sourceRoot":"","sources":["../../children-highlighter/children-highlighter.spec.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,kDAAgD;AAChD,yFAAgF;AAEhF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,6DAA0B,OAAG,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,sFAAsF;AACtF,4EAA4E;AAC5E,oDAAoD;AAEpD,8BAA8B;AAC9B,sDAAsD;AAEtD,qDAAqD;AACrD,sCAAsC;AACtC,MAAM"}
|
|
@@ -45,6 +45,8 @@ function targetsSelector(
|
|
|
45
45
|
* The `:scope` modifier is appropriate, but is not supported in older browsers.
|
|
46
46
|
*/
|
|
47
47
|
scopeSelector = ':scope') {
|
|
48
|
-
|
|
48
|
+
const excludedSelector = `${scopeSelector} ${ignore_highlighter_1.excludeHighlighterSelector}, ${scopeSelector} ${ignore_highlighter_1.excludeHighlighterSelector} *`;
|
|
49
|
+
const skippedSelector = `${scopeSelector} ${ignore_highlighter_1.skipHighlighterSelector}, ${scopeSelector} ${ignore_highlighter_1.skipHighlighterSelector} *`;
|
|
50
|
+
return `:not(${excludedSelector}, ${skippedSelector})`;
|
|
49
51
|
}
|
|
50
52
|
//# sourceMappingURL=use-children-highlighter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-children-highlighter.js","sourceRoot":"","sources":["../../children-highlighter/use-children-highlighter.tsx"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"use-children-highlighter.js","sourceRoot":"","sources":["../../children-highlighter/use-children-highlighter.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAiE;AACjE,0DAAiC;AACjC,oFAAiF;AACjF,oJAK6E;AAC7E,8DAA4F;AAC5F,kDAAmG;AAiBnG,SAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EAAE,aAAa,GAAG,EAAE,EAC9B,IAAI,EACJ,aAAa,GACc;IAC3B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,YAAY,IAAI,QAAQ;YAAE,OAAO;QAEtC,wCAAwC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAc,eAAe,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/G,uBAAuB;QACvB,IAAI,IAAI;YAAE,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,yBAAyB;QACzB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,0CAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,cAAc;QACd,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAE1C,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,KAAK,GAAG,IAAA,wCAAW,EAAC,OAAO,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6EAAgB,EAAC,CAAC,CAAC,IAAI,IAAA,mCAAoB,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,+EAAkB,CAAC,EAAE,EAAE,aAAa,CAAC,CACrE,CAAC;YAEhC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAE1C,MAAM,GAAG,GAAG,IAAA,mBAAQ,EAAC,OAAO,CAAC,CAAC;YAE9B,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAChC,CAAC;AAtCD,wDAsCC;AAED,SAAS,eAAe;AACtB;;;GAGG;AACH,aAAa,GAAG,QAAQ;IAExB,MAAM,gBAAgB,GAAG,GAAG,aAAa,IAAI,+CAA0B,KAAK,aAAa,IAAI,+CAA0B,IAAI,CAAC;IAC5H,MAAM,eAAe,GAAG,GAAG,aAAa,IAAI,4CAAuB,KAAK,aAAa,IAAI,4CAAuB,IAAI,CAAC;IAErH,OAAO,QAAQ,gBAAgB,KAAK,eAAe,GAAG,CAAC;AACzD,CAAC"}
|
|
@@ -9,5 +9,6 @@ export declare const HighlightedElement: ({ style, targetStyle, watchMotion, cla
|
|
|
9
9
|
export declare const Customized: () => JSX.Element;
|
|
10
10
|
export declare const Sizes: () => JSX.Element;
|
|
11
11
|
export declare const MovingElement: () => JSX.Element;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const FullscreenElement: () => JSX.Element;
|
|
13
|
+
export declare function OffscreenElements(): JSX.Element;
|
|
13
14
|
export {};
|
|
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.
|
|
22
|
+
exports.OffscreenElements = exports.FullscreenElement = exports.MovingElement = exports.Sizes = exports.Customized = exports.HighlightedElement = void 0;
|
|
23
23
|
const react_1 = __importStar(require("react"));
|
|
24
24
|
const element_highlighter_1 = require("./element-highlighter");
|
|
25
25
|
const mock_component_1 = require("../mock-component");
|
|
@@ -56,14 +56,44 @@ const MovingElement = () => {
|
|
|
56
56
|
return react_1.default.createElement(exports.HighlightedElement, { targetStyle: { marginLeft: margin }, watchMotion: true });
|
|
57
57
|
};
|
|
58
58
|
exports.MovingElement = MovingElement;
|
|
59
|
-
const
|
|
59
|
+
const FullscreenElement = () => {
|
|
60
60
|
const targetRef = (0, react_1.createRef)();
|
|
61
61
|
return (react_1.default.createElement("div", { style: { fontFamily: 'sans-serif' } },
|
|
62
|
-
react_1.default.createElement("div", { ref: targetRef, style: {
|
|
63
|
-
|
|
62
|
+
react_1.default.createElement("div", { ref: targetRef, style: {
|
|
63
|
+
height: '100vh',
|
|
64
|
+
width: '100%',
|
|
65
|
+
background: '#bceed4',
|
|
66
|
+
} },
|
|
67
|
+
"This element will cover the entire document,",
|
|
64
68
|
react_1.default.createElement("br", null),
|
|
65
|
-
"
|
|
69
|
+
"pushing the highlighter to the edge of the window.",
|
|
70
|
+
react_1.default.createElement("br", null),
|
|
71
|
+
"The highlighter should remain inside and expand no further than the document."),
|
|
66
72
|
react_1.default.createElement(element_highlighter_1.ElementHighlighter, { targetRef: targetRef, components: [mock_component_1.MockTarget], watchMotion: true })));
|
|
67
73
|
};
|
|
68
|
-
exports.
|
|
74
|
+
exports.FullscreenElement = FullscreenElement;
|
|
75
|
+
const edgeStyles = { position: 'absolute', background: 'cyan', padding: 30 };
|
|
76
|
+
const centerStyles = {
|
|
77
|
+
top: { top: -30, left: '50%', transform: 'translate(-50%,0)' },
|
|
78
|
+
right: { right: -30, top: '50%', transform: 'translate(0, -50%)' },
|
|
79
|
+
bottom: { bottom: -30, left: '50%', transform: 'translate(-50%,0)' },
|
|
80
|
+
left: { left: -30, top: '50%', transform: 'translate(0, -50%)' },
|
|
81
|
+
};
|
|
82
|
+
function OffscreenElements() {
|
|
83
|
+
const target01 = (0, react_1.createRef)();
|
|
84
|
+
const target02 = (0, react_1.createRef)();
|
|
85
|
+
const target03 = (0, react_1.createRef)();
|
|
86
|
+
const target04 = (0, react_1.createRef)();
|
|
87
|
+
return (react_1.default.createElement("div", { style: { fontFamily: 'sans-serif', height: '100%' } },
|
|
88
|
+
react_1.default.createElement("div", { style: { position: 'relative', width: '100%', height: '100%', overflow: 'hidden' } },
|
|
89
|
+
react_1.default.createElement("div", { ref: target01, style: Object.assign(Object.assign({}, edgeStyles), centerStyles.top) }, "top"),
|
|
90
|
+
react_1.default.createElement("div", { ref: target02, style: Object.assign(Object.assign({}, edgeStyles), centerStyles.right) }, "right"),
|
|
91
|
+
react_1.default.createElement("div", { ref: target03, style: Object.assign(Object.assign({}, edgeStyles), centerStyles.bottom) }, "bottom"),
|
|
92
|
+
react_1.default.createElement("div", { ref: target04, style: Object.assign(Object.assign({}, edgeStyles), centerStyles.left) }, "left"),
|
|
93
|
+
react_1.default.createElement(element_highlighter_1.ElementHighlighter, { targetRef: target01, components: [mock_component_1.MockTarget], watchMotion: true }),
|
|
94
|
+
react_1.default.createElement(element_highlighter_1.ElementHighlighter, { targetRef: target02, components: [mock_component_1.MockTarget], watchMotion: true }),
|
|
95
|
+
react_1.default.createElement(element_highlighter_1.ElementHighlighter, { targetRef: target03, components: [mock_component_1.MockTarget], watchMotion: true }),
|
|
96
|
+
react_1.default.createElement(element_highlighter_1.ElementHighlighter, { targetRef: target04, components: [mock_component_1.MockTarget], watchMotion: true }))));
|
|
97
|
+
}
|
|
98
|
+
exports.OffscreenElements = OffscreenElements;
|
|
69
99
|
//# sourceMappingURL=element-highlighter.compositions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-highlighter.compositions.js","sourceRoot":"","sources":["../../element-highlighter/element-highlighter.compositions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA6E;AAC7E,+DAA2D;AAC3D,sDAA+C;AASxC,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAA2B,EAAE,EAAE;IAC5G,MAAM,SAAS,GAAG,IAAA,iBAAS,GAAkB,CAAC;IAE9C,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QACxG,uCAAK,GAAG,EAAE,SAAS,EAAE,KAAK,kBAAI,KAAK,EAAE,GAAG,IAAK,WAAW,wBAElD;QAEN,8BAAC,wCAAkB,IACjB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,CAAC,2BAAU,CAAC,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,QAAQ,GAClB,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B;AAEK,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,CACL,8BAAC,0BAAkB,IACjB,KAAK,EACH;YACE,yBAAyB,EAAE,SAAS;YACpC,+BAA+B,EAAE,SAAS;YAC1C,gCAAgC,EAAE,SAAS;SAC3B,GAEpB,CACH,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB;AAEK,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,OAAO,CACL;QACE,8BAAC,0BAAkB,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI;QAC/C,8BAAC,0BAAkB,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI;QAC/C,8BAAC,0BAAkB,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,CAC3C,CACP,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,KAAK,SAQhB;AAEF,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,MAAM,aAAa,GAAG,IAAI,GAAG,GAAG,CAAC;AAE1B,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAExC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QACrF,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,8BAAC,0BAAkB,IAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,SAAG,CAAC;AACjF,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEK,MAAM,
|
|
1
|
+
{"version":3,"file":"element-highlighter.compositions.js","sourceRoot":"","sources":["../../element-highlighter/element-highlighter.compositions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ const ignore_highlighter_1 = require("../ignore-highlighter");
|
|
|
23
23
|
const element_highlighter_module_scss_1 = __importDefault(require("./element-highlighter.module.scss"));
|
|
24
24
|
function ElementHighlighter(_a) {
|
|
25
25
|
var { targetRef, components, placement = 'top', watchMotion, className, classes } = _a, props = __rest(_a, ["targetRef", "components", "placement", "watchMotion", "className", "classes"]);
|
|
26
|
-
return (react_1.default.createElement("div", Object.assign({}, props, ignore_highlighter_1.
|
|
26
|
+
return (react_1.default.createElement("div", Object.assign({}, props, ignore_highlighter_1.skipHighlighterAttr, { className: (0, classnames_1.default)(classes === null || classes === void 0 ? void 0 : classes.container, element_highlighter_module_scss_1.default.container, className) }),
|
|
27
27
|
react_1.default.createElement(frame_1.Frame, { targetRef: targetRef, className: (0, classnames_1.default)(element_highlighter_module_scss_1.default.frame, classes === null || classes === void 0 ? void 0 : classes.frame), watchMotion: watchMotion }),
|
|
28
28
|
components && (react_1.default.createElement(label_1.LabelContainer, { targetRef: targetRef, className: element_highlighter_module_scss_1.default.label, placement: placement, watchMotion: watchMotion },
|
|
29
29
|
react_1.default.createElement(label_1.Label, { components: components, className: classes === null || classes === void 0 ? void 0 : classes.label })))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-highlighter.js","sourceRoot":"","sources":["../../element-highlighter/element-highlighter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAyC;AACzC,4DAAoC;AAEpC,oCAAiC;AACjC,oCAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"element-highlighter.js","sourceRoot":"","sources":["../../element-highlighter/element-highlighter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAyC;AACzC,4DAAoC;AAEpC,oCAAiC;AACjC,oCAA4D;AAC5D,8DAA4D;AAC5D,wGAAuD;AAwBvD,SAAgB,kBAAkB,CAAC,EAQT;QARS,EACjC,SAAS,EACT,UAAU,EACV,SAAS,GAAG,KAAK,EACjB,WAAW,EACX,SAAS,EACT,OAAO,OAEiB,EADrB,KAAK,cAPyB,+EAQlC,CADS;IAER,OAAO,CACL,uDAAS,KAAK,EAAM,wCAAmB,IAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,yCAAM,CAAC,SAAS,EAAE,SAAS,CAAC;QAC7G,8BAAC,aAAK,IAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,yCAAM,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI;QAE7G,UAAU,IAAI,CACb,8BAAC,sBAAc,IAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,yCAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW;YAC3G,8BAAC,aAAK,IAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,GAAI,CAC7C,CAClB,CACG,CACP,CAAC;AACJ,CAAC;AApBD,gDAoBC"}
|
package/dist/frame/frame.js
CHANGED
|
@@ -18,6 +18,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
21
30
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
31
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
32
|
};
|
|
@@ -31,13 +40,13 @@ const frame_module_scss_1 = __importDefault(require("./frame.module.scss"));
|
|
|
31
40
|
const MARGIN_FROM_TARGET = +frame_module_scss_1.default.offset || 6; // setting fallback 6, for tests
|
|
32
41
|
/** min. distance from the edge of the screen. */
|
|
33
42
|
const MARGIN_FROM_DOC_EDGE = 0;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
const overflowParameters = { rootBoundary: 'document', padding: MARGIN_FROM_DOC_EDGE };
|
|
44
|
+
const SHIFT_POSITIVE = 'shiftPositive';
|
|
45
|
+
const HAS_RESIZE_OBSERVER = typeof window !== 'undefined' && !!window.ResizeObserver;
|
|
37
46
|
function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_scss_1.default.overlayBorder, style }) {
|
|
47
|
+
var _a;
|
|
38
48
|
const dimensionRef = (0, react_1.useRef)({ width: 0, height: 0 });
|
|
39
|
-
const
|
|
40
|
-
const { x, y, strategy, reference, floating, update, refs } = (0, react_dom_1.useFloating)({
|
|
49
|
+
const { x, y, strategy, reference, floating, update, refs, middlewareData } = (0, react_dom_1.useFloating)({
|
|
41
50
|
placement: 'bottom-start',
|
|
42
51
|
middleware: [
|
|
43
52
|
// replace dimensions from previous iterations with the target's size
|
|
@@ -50,35 +59,47 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
|
|
|
50
59
|
},
|
|
51
60
|
},
|
|
52
61
|
// reposition x,y, to the top of the reference
|
|
53
|
-
(0, react_dom_1.offset)((
|
|
62
|
+
(0, react_dom_1.offset)(({ rects }) => -rects.reference.height),
|
|
54
63
|
// offset the frame by its extra padding
|
|
55
64
|
(0, react_dom_1.offset)(() => ({ mainAxis: -MARGIN_FROM_TARGET, crossAxis: -MARGIN_FROM_TARGET })),
|
|
56
|
-
//
|
|
57
|
-
(0, react_dom_1.shift)({ rootBoundary: 'document', padding: MARGIN_FROM_DOC_EDGE, mainAxis: true, crossAxis: true }),
|
|
58
|
-
// read "shift" for the size-apply() method (because it doesn't forward middlewareData)
|
|
65
|
+
// pushes the frame into the document. Similar to shift(), but only pushes when coods are negative
|
|
59
66
|
{
|
|
60
|
-
name: '
|
|
61
|
-
fn(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
name: 'shiftPositive',
|
|
68
|
+
fn: (args) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const overflow = yield (0, react_dom_1.detectOverflow)(args, overflowParameters);
|
|
70
|
+
const nextCoords = {
|
|
71
|
+
x: overflow.left > 0 ? args.x + overflow.left : args.x,
|
|
72
|
+
y: overflow.top > 0 ? args.y + overflow.top : args.y,
|
|
73
|
+
};
|
|
74
|
+
const shiftAmount = {
|
|
75
|
+
x: nextCoords.x - args.x,
|
|
76
|
+
y: nextCoords.y - args.y,
|
|
77
|
+
};
|
|
78
|
+
return Object.assign(Object.assign({}, nextCoords), { data: shiftAmount });
|
|
79
|
+
}),
|
|
65
80
|
},
|
|
66
81
|
// size also applies overflow detection via width and height
|
|
67
82
|
(0, react_dom_1.size)({
|
|
68
83
|
// apply overflow detection in reference to the document
|
|
69
84
|
rootBoundary: 'document',
|
|
70
85
|
padding: MARGIN_FROM_DOC_EDGE,
|
|
71
|
-
apply({
|
|
72
|
-
|
|
73
|
-
const paddingX = 2 * MARGIN_FROM_TARGET -
|
|
74
|
-
const paddingY = 2 * MARGIN_FROM_TARGET -
|
|
75
|
-
|
|
76
|
-
width:
|
|
77
|
-
height:
|
|
86
|
+
apply({ elements, rects, availableHeight, availableWidth, middlewareData }) {
|
|
87
|
+
const shift = middlewareData[SHIFT_POSITIVE] || { x: 0, y: 0 };
|
|
88
|
+
const paddingX = 2 * MARGIN_FROM_TARGET - shift.x;
|
|
89
|
+
const paddingY = 2 * MARGIN_FROM_TARGET - shift.y;
|
|
90
|
+
const dimensions = {
|
|
91
|
+
width: rects.reference.width + paddingX,
|
|
92
|
+
height: rects.reference.height + paddingY,
|
|
93
|
+
maxWidth: availableWidth,
|
|
94
|
+
maxHeight: availableHeight,
|
|
78
95
|
};
|
|
79
|
-
|
|
96
|
+
// per floating-ui docs, apply styles directly during apply()
|
|
97
|
+
Object.assign(elements.floating.style, dimensions);
|
|
98
|
+
// also store in reference, so react renders will have the same value
|
|
99
|
+
dimensionRef.current = dimensions;
|
|
80
100
|
},
|
|
81
101
|
}),
|
|
102
|
+
(0, react_dom_1.hide)({ strategy: 'referenceHidden' }),
|
|
82
103
|
],
|
|
83
104
|
});
|
|
84
105
|
// set target as floating reference
|
|
@@ -88,12 +109,15 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
|
|
|
88
109
|
// automatically update on scroll, resize, etc.
|
|
89
110
|
// `watchMotion` will trigger continuous updates using animation frame
|
|
90
111
|
(0, react_1.useEffect)(() => {
|
|
91
|
-
if (!refs.reference.current || !refs.floating.current)
|
|
112
|
+
if (!refs.reference.current || !refs.floating.current || !HAS_RESIZE_OBSERVER)
|
|
92
113
|
return () => { };
|
|
93
114
|
return (0, react_dom_1.autoUpdate)(refs.reference.current, refs.floating.current, update, { animationFrame: watchMotion });
|
|
94
115
|
}, [refs.reference.current, refs.floating.current, update, watchMotion]);
|
|
95
|
-
|
|
96
|
-
|
|
116
|
+
// could check if x !== null
|
|
117
|
+
const isReady = !((_a = middlewareData.hide) === null || _a === void 0 ? void 0 : _a.referenceHidden);
|
|
118
|
+
return (react_1.default.createElement("div", { ref: floating, className: (0, classnames_1.default)(className, stylesClass, !isReady && frame_module_scss_1.default.hidden), style: Object.assign(Object.assign(Object.assign({}, style), dimensionRef.current), { position: strategy,
|
|
119
|
+
// starting at pos [0,0] will ensure the label doesn't increase the document size.
|
|
120
|
+
top: y !== null && y !== void 0 ? y : 0, left: x !== null && x !== void 0 ? x : 0 }) }));
|
|
97
121
|
}
|
|
98
122
|
exports.Frame = Frame;
|
|
99
123
|
//# sourceMappingURL=frame.js.map
|
package/dist/frame/frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../frame/frame.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../frame/frame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.ShowWhenHovering = void 0;
|
|
22
|
+
exports.HoverExclusionZones = exports.UnmountingElement = exports.ShowWhenHovering = void 0;
|
|
23
23
|
const react_1 = __importStar(require("react"));
|
|
24
|
-
const design_ui_icon_button_1 = require("@teambit/design.ui.icon-button");
|
|
25
24
|
const hover_highlighter_1 = require("./hover-highlighter");
|
|
25
|
+
const mock_component_1 = require("../mock-component");
|
|
26
|
+
const ignore_highlighter_1 = require("../ignore-highlighter");
|
|
26
27
|
const ShowWhenHovering = () => {
|
|
27
28
|
const [disabled, setDisabled] = (0, react_1.useState)(false);
|
|
28
29
|
return (react_1.default.createElement("div", { style: { padding: '16px 50px 32px 16px', minWidth: 300, fontFamily: 'sans-serif' } },
|
|
@@ -30,11 +31,39 @@ const ShowWhenHovering = () => {
|
|
|
30
31
|
react_1.default.createElement("div", null,
|
|
31
32
|
react_1.default.createElement("br", null),
|
|
32
33
|
react_1.default.createElement("div", null,
|
|
33
|
-
react_1.default.createElement(
|
|
34
|
+
react_1.default.createElement(mock_component_1.MockButton, { onClick: () => setDisabled((x) => !x) }, "Hover here")),
|
|
34
35
|
react_1.default.createElement("div", null,
|
|
35
36
|
disabled ? 'X' : '✓',
|
|
36
37
|
" highlighter is ",
|
|
37
38
|
disabled ? 'disabled' : 'enabled')))));
|
|
38
39
|
};
|
|
39
40
|
exports.ShowWhenHovering = ShowWhenHovering;
|
|
41
|
+
const UnmountingElement = () => {
|
|
42
|
+
const [shown, setShown] = (0, react_1.useState)(true);
|
|
43
|
+
(0, react_1.useEffect)(() => {
|
|
44
|
+
const tid = setInterval(() => setShown((x) => !x), 1500);
|
|
45
|
+
return () => clearInterval(tid);
|
|
46
|
+
}, []);
|
|
47
|
+
return (react_1.default.createElement("div", { style: { padding: '16px 50px 32px 16px', minWidth: 300, fontFamily: 'sans-serif' } },
|
|
48
|
+
react_1.default.createElement(hover_highlighter_1.HoverHighlighter, null,
|
|
49
|
+
react_1.default.createElement("div", null, !shown && '(hidden)'),
|
|
50
|
+
react_1.default.createElement("div", null, shown && react_1.default.createElement(mock_component_1.MockButton, null, "Hover here")),
|
|
51
|
+
react_1.default.createElement("br", null),
|
|
52
|
+
react_1.default.createElement(mock_component_1.MockTarget, null,
|
|
53
|
+
react_1.default.createElement("div", null, shown && react_1.default.createElement(mock_component_1.MockButton, null, "Hover here")),
|
|
54
|
+
react_1.default.createElement("div", null, "same with a container")))));
|
|
55
|
+
};
|
|
56
|
+
exports.UnmountingElement = UnmountingElement;
|
|
57
|
+
const HoverExclusionZones = () => {
|
|
58
|
+
return (react_1.default.createElement("div", { style: { padding: '16px 50px 32px 16px', minWidth: 300, fontFamily: 'sans-serif' } },
|
|
59
|
+
react_1.default.createElement(hover_highlighter_1.HoverHighlighter, null,
|
|
60
|
+
react_1.default.createElement(mock_component_1.MockTarget, null,
|
|
61
|
+
"container (target-able)",
|
|
62
|
+
react_1.default.createElement("div", null, react_1.default.createElement(mock_component_1.MockButton, null, "will be highlighted"))),
|
|
63
|
+
react_1.default.createElement("br", null),
|
|
64
|
+
react_1.default.createElement(mock_component_1.MockTarget, null,
|
|
65
|
+
"container (target-able)",
|
|
66
|
+
react_1.default.createElement("div", Object.assign({}, ignore_highlighter_1.excludeHighlighterAtt), react_1.default.createElement(mock_component_1.MockButton, null, "will be ignored"))))));
|
|
67
|
+
};
|
|
68
|
+
exports.HoverExclusionZones = HoverExclusionZones;
|
|
40
69
|
//# sourceMappingURL=hover-highlighter.compositions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-highlighter.compositions.js","sourceRoot":"","sources":["../../hover-highlighter/hover-highlighter.compositions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"hover-highlighter.compositions.js","sourceRoot":"","sources":["../../hover-highlighter/hover-highlighter.compositions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmD;AACnD,2DAAuD;AACvD,sDAA2D;AAC3D,8DAA8D;AAEvD,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEzD,OAAO,CACL,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QACrF,8BAAC,oCAAgB,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ;YAC1D;gBACE,yCAAM;gBACN;oBACE,8BAAC,2BAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAyB,CACtE;gBACN;oBACG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;oBAAkB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACpE,CACF,CACW,CACf,CACP,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AAEK,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IACzC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QACrF,8BAAC,oCAAgB;YACf,2CAAM,CAAC,KAAK,IAAI,UAAU,CAAO;YAEjC,2CAAM,KAAK,IAAI,8BAAC,2BAAU,qBAAwB,CAAO;YACzD,yCAAM;YACN,8BAAC,2BAAU;gBACT,2CAAM,KAAK,IAAI,8BAAC,2BAAU,qBAAwB,CAAO;gBACzD,mEAAgC,CACrB,CACI,CACf,CACP,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO,CACL,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QACrF,8BAAC,oCAAgB;YACf,8BAAC,2BAAU;;gBAET,2CAAM,8BAAC,2BAAU,8BAAiC,CAAO,CAC9C;YACb,yCAAM;YACN,8BAAC,2BAAU;;gBAET,uDAAS,0CAAqB,GAAG,8BAAC,2BAAU,0BAA6B,CAAO,CACrE,CACI,CACf,CACP,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B"}
|
|
@@ -21,8 +21,13 @@ function useHoverHandler({ onChange, scopeClass = '', debounceDuration, disabled
|
|
|
21
21
|
onChange(undefined);
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
//
|
|
25
|
-
if (element.closest(`.${scopeClass} ${ignore_highlighter_1.excludeHighlighterSelector}`))
|
|
24
|
+
// clear when ancestor has 'data-ignore-component-highlight'
|
|
25
|
+
if (element.closest(`.${scopeClass} ${ignore_highlighter_1.excludeHighlighterSelector}`)) {
|
|
26
|
+
onChange(undefined);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// skip DOM trees having 'data-skip-component-highlight'
|
|
30
|
+
if (element.closest(`.${scopeClass} ${ignore_highlighter_1.skipHighlighterSelector}`))
|
|
26
31
|
return;
|
|
27
32
|
const result = (0, bubble_to_component_1.bubbleToComponent)(element, { elementRule: rule, componentRule });
|
|
28
33
|
if (!result)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-hover-highlighter.js","sourceRoot":"","sources":["../../hover-highlighter/use-hover-highlighter.tsx"],"names":[],"mappings":";;;AAAA,iCAAyC;AACzC,+CAAoD;AACpD,8EAAqE;AAGrE,
|
|
1
|
+
{"version":3,"file":"use-hover-highlighter.js","sourceRoot":"","sources":["../../hover-highlighter/use-hover-highlighter.tsx"],"names":[],"mappings":";;;AAAA,iCAAyC;AACzC,+CAAoD;AACpD,8EAAqE;AAGrE,8DAA4F;AAE5F,+DAA0D;AAa1D,oDAAoD;AACpD,SAAgB,mBAAmB,CACjC,QAA4C,EAC5C,QAAiC,EAAE,EACnC,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAA8B;IAE3F,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAErH,MAAM,QAAQ,GAAG,IAAA,2CAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEhF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAVD,kDAUC;AAWD,SAAS,eAAe,CAAC,EACvB,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,aAAa,GACY;IACzB,yDAAyD;IACzD,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAE,EAAE;QACrD,kCAAkC;QAClC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,kCAAkC,CAAC,EAAE;YACxE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;SACR;QAED,4DAA4D;QAC5D,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,IAAI,+CAA0B,EAAE,CAAC,EAAE;YACnE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;SACR;QAED,wDAAwD;QACxD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,IAAI,4CAAuB,EAAE,CAAC;YAAE,OAAO;QAEzE,MAAM,MAAM,GAAG,IAAA,uCAAiB,EAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,QAAQ,CAAC;YACP,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mCAAoB,EAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAE7E,uBAAuB;IACvB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,QAAQ;YAAE,aAAa,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
/** name of ignore attribute */
|
|
2
3
|
export declare const excludeHighlighterAttrName = "data-ignore-component-highlight";
|
|
3
|
-
/**
|
|
4
|
+
/** selector for elements with the ignore attribute */
|
|
4
5
|
export declare const excludeHighlighterSelector: string;
|
|
5
|
-
/**
|
|
6
|
+
/** highlighter will exclude elements with this attribute */
|
|
6
7
|
export declare const excludeHighlighterAtt: {
|
|
7
8
|
"data-ignore-component-highlight": boolean;
|
|
8
9
|
};
|
|
9
|
-
/**
|
|
10
|
+
/** children of this element will be excluded by the automatic highlighter */
|
|
10
11
|
export declare function ExcludeHighlighter(props: React.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
12
|
+
/** name of skip attribute */
|
|
13
|
+
export declare const skipHighlighterAttrName = "data-skip-component-highlight";
|
|
14
|
+
/** highlighter will skip (ignore) elements with these attributes */
|
|
15
|
+
export declare const skipHighlighterAttr: {
|
|
16
|
+
"data-skip-component-highlight": boolean;
|
|
17
|
+
};
|
|
18
|
+
/** selector for elements with the skip attribute */
|
|
19
|
+
export declare const skipHighlighterSelector: string;
|