@teambit/react.ui.component-highlighter 0.1.0 → 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.
@@ -57,10 +57,12 @@ export const ChildrenHighlighterInsideIgnore = () => {
57
57
  };
58
58
 
59
59
  export const ChildrenHighlighterWithRule = () => {
60
+ const rule = '#someSubTree *';
61
+
60
62
  return (
61
- <ChildrenHighlighter rule="#someSubTree *" style={{ minWidth: 300, fontFamily: 'sans-serif' }}>
63
+ <ChildrenHighlighter rule={rule} style={{ minWidth: 300, fontFamily: 'sans-serif' }}>
62
64
  <div>
63
- element filter: <code>"#someSubTree *"</code>
65
+ element filter: <code>"{rule}"</code>
64
66
  </div>
65
67
  <br />
66
68
  <MockedComponentWithMeta>no highlighter</MockedComponentWithMeta>
@@ -75,20 +77,19 @@ export const ChildrenHighlighterWithRule = () => {
75
77
  };
76
78
 
77
79
  export const ChildrenHighlighterWithComponentRule = () => {
80
+ const filterTarget = 'teambit.design/ui/mock-target';
81
+
78
82
  return (
79
- <ChildrenHighlighter
80
- componentRule="teambit.design/ui/icon-button"
81
- style={{ minWidth: 300, fontFamily: 'sans-serif' }}
82
- >
83
+ <ChildrenHighlighter componentRule={filterTarget} style={{ minWidth: 300, fontFamily: 'sans-serif' }}>
83
84
  <div>
84
- component filter: <code>"teambit.design/ui/icon-button"</code>
85
+ component filter: <code>"{filterTarget}"</code>
85
86
  </div>
86
87
  <br />
87
88
  <MockedComponentWithMeta>no highlighter</MockedComponentWithMeta>
88
89
  <br />
89
90
  <br />
90
91
  <br />
91
- <MockTarget>this will be highlighted</MockTarget>
92
+ <MockTarget style={{ display: 'inline-block', margin: '0 8px' }}>this will be highlighted</MockTarget>
92
93
  </ChildrenHighlighter>
93
94
  );
94
95
  };
@@ -49,10 +49,14 @@ const ChildrenHighlighterInsideIgnore = () => {
49
49
  };
50
50
  exports.ChildrenHighlighterInsideIgnore = ChildrenHighlighterInsideIgnore;
51
51
  const ChildrenHighlighterWithRule = () => {
52
- return (react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { rule: "#someSubTree *", style: { minWidth: 300, fontFamily: 'sans-serif' } },
52
+ const rule = '#someSubTree *';
53
+ return (react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { rule: rule, style: { minWidth: 300, fontFamily: 'sans-serif' } },
53
54
  react_1.default.createElement("div", null,
54
55
  "element filter: ",
55
- react_1.default.createElement("code", null, "\"#someSubTree *\"")),
56
+ react_1.default.createElement("code", null,
57
+ "\"",
58
+ rule,
59
+ "\"")),
56
60
  react_1.default.createElement("br", null),
57
61
  react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "no highlighter"),
58
62
  react_1.default.createElement("br", null),
@@ -63,16 +67,20 @@ const ChildrenHighlighterWithRule = () => {
63
67
  };
64
68
  exports.ChildrenHighlighterWithRule = ChildrenHighlighterWithRule;
65
69
  const ChildrenHighlighterWithComponentRule = () => {
66
- return (react_1.default.createElement(children_highlighter_1.ChildrenHighlighter, { componentRule: "teambit.design/ui/icon-button", style: { minWidth: 300, fontFamily: 'sans-serif' } },
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' } },
67
72
  react_1.default.createElement("div", null,
68
73
  "component filter: ",
69
- react_1.default.createElement("code", null, "\"teambit.design/ui/icon-button\"")),
74
+ react_1.default.createElement("code", null,
75
+ "\"",
76
+ filterTarget,
77
+ "\"")),
70
78
  react_1.default.createElement("br", null),
71
79
  react_1.default.createElement(react_ui_highlighter_component_metadata_bit_component_meta_1.MockedComponentWithMeta, null, "no highlighter"),
72
80
  react_1.default.createElement("br", null),
73
81
  react_1.default.createElement("br", null),
74
82
  react_1.default.createElement("br", null),
75
- react_1.default.createElement(mock_component_1.MockTarget, null, "this will be highlighted")));
83
+ react_1.default.createElement(mock_component_1.MockTarget, { style: { display: 'inline-block', margin: '0 8px' } }, "this will be highlighted")));
76
84
  };
77
85
  exports.ChildrenHighlighterWithComponentRule = ChildrenHighlighterWithComponentRule;
78
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,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,OAAO,CACL,8BAAC,0CAAmB,IAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QAC3F;;YACkB,iEAA6B,CACzC;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;AAhBW,QAAA,2BAA2B,+BAgBtC;AAEK,MAAM,oCAAoC,GAAG,GAAG,EAAE;IACvD,OAAO,CACL,8BAAC,0CAAmB,IAClB,aAAa,EAAC,+BAA+B,EAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE;QAElD;;YACoB,gFAA4C,CAC1D;QACN,yCAAM;QACN,8BAAC,oFAAuB,yBAAyC;QACjE,yCAAM;QACN,yCAAM;QACN,yCAAM;QACN,8BAAC,2BAAU,mCAAsC,CAC7B,CACvB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,oCAAoC,wCAiB/C;AAEF,oEAAoE;AACpE,aAAa;AACb,4BAA4B;AAC5B,uDAAuD;AACvD,6BAA6B;AAC7B,OAAO;AACP,KAAK"}
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"}
@@ -41,13 +41,11 @@ const MARGIN_FROM_TARGET = +frame_module_scss_1.default.offset || 6; // setting
41
41
  /** min. distance from the edge of the screen. */
42
42
  const MARGIN_FROM_DOC_EDGE = 0;
43
43
  const overflowParameters = { rootBoundary: 'document', padding: MARGIN_FROM_DOC_EDGE };
44
- // position - bottom start (bottom left corner)
45
- // x - width - horizontal (cross axis)
46
- // y - height - vertical (main axis)
44
+ const SHIFT_POSITIVE = 'shiftPositive';
45
+ const HAS_RESIZE_OBSERVER = typeof window !== 'undefined' && !!window.ResizeObserver;
47
46
  function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_scss_1.default.overlayBorder, style }) {
48
47
  var _a;
49
48
  const dimensionRef = (0, react_1.useRef)({ width: 0, height: 0 });
50
- const shiftRef = (0, react_1.useRef)();
51
49
  const { x, y, strategy, reference, floating, update, refs, middlewareData } = (0, react_dom_1.useFloating)({
52
50
  placement: 'bottom-start',
53
51
  middleware: [
@@ -61,7 +59,7 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
61
59
  },
62
60
  },
63
61
  // reposition x,y, to the top of the reference
64
- (0, react_dom_1.offset)((options) => -options.reference.height),
62
+ (0, react_dom_1.offset)(({ rects }) => -rects.reference.height),
65
63
  // offset the frame by its extra padding
66
64
  (0, react_dom_1.offset)(() => ({ mainAxis: -MARGIN_FROM_TARGET, crossAxis: -MARGIN_FROM_TARGET })),
67
65
  // pushes the frame into the document. Similar to shift(), but only pushes when coods are negative
@@ -77,7 +75,6 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
77
75
  x: nextCoords.x - args.x,
78
76
  y: nextCoords.y - args.y,
79
77
  };
80
- shiftRef.current = shiftAmount;
81
78
  return Object.assign(Object.assign({}, nextCoords), { data: shiftAmount });
82
79
  }),
83
80
  },
@@ -86,15 +83,20 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
86
83
  // apply overflow detection in reference to the document
87
84
  rootBoundary: 'document',
88
85
  padding: MARGIN_FROM_DOC_EDGE,
89
- apply({ reference: referenceRect, height, width }) {
90
- var _a, _b, _c;
91
- const paddingX = 2 * MARGIN_FROM_TARGET - (((_a = shiftRef.current) === null || _a === void 0 ? void 0 : _a.x) || 0);
92
- const paddingY = 2 * MARGIN_FROM_TARGET - (((_b = shiftRef.current) === null || _b === void 0 ? void 0 : _b.y) || 0);
93
- dimensionRef.current = {
94
- width: Math.min(referenceRect.width + paddingX, width),
95
- height: Math.min(referenceRect.height + paddingY, 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,
96
95
  };
97
- Object.assign((_c = refs.floating.current) === null || _c === void 0 ? void 0 : _c.style, dimensionRef.current);
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;
98
100
  },
99
101
  }),
100
102
  (0, react_dom_1.hide)({ strategy: 'referenceHidden' }),
@@ -107,7 +109,7 @@ function Frame({ targetRef, watchMotion, className, stylesClass = frame_module_s
107
109
  // automatically update on scroll, resize, etc.
108
110
  // `watchMotion` will trigger continuous updates using animation frame
109
111
  (0, react_1.useEffect)(() => {
110
- if (!refs.reference.current || !refs.floating.current)
112
+ if (!refs.reference.current || !refs.floating.current || !HAS_RESIZE_OBSERVER)
111
113
  return () => { };
112
114
  return (0, react_dom_1.autoUpdate)(refs.reference.current, refs.floating.current, update, { animationFrame: watchMotion });
113
115
  }, [refs.reference.current, refs.floating.current, update, watchMotion]);
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../frame/frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../frame/frame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ComponentStripPreview: () => JSX.Element;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ComponentStripPreview = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const component_strip_1 = require("./component-strip");
9
+ const mock_component_1 = require("../mock-component");
10
+ const ComponentStripPreview = () => {
11
+ return (react_1.default.createElement("div", { style: { fontFamily: 'sans-serif', padding: 8 } },
12
+ react_1.default.createElement(component_strip_1.ComponentStrip, { component: mock_component_1.MockSnap }),
13
+ react_1.default.createElement("br", null),
14
+ react_1.default.createElement(component_strip_1.ComponentStrip, { component: mock_component_1.MockButton })));
15
+ };
16
+ exports.ComponentStripPreview = ComponentStripPreview;
17
+ //# sourceMappingURL=component-strip.compositions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-strip.compositions.js","sourceRoot":"","sources":["../../label/component-strip.compositions.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAmD;AACnD,sDAAyD;AAElD,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CACL,uCAAK,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,8BAAC,gCAAc,IAAC,SAAS,EAAE,yBAAQ,GAAI;QACvC,yCAAM;QACN,8BAAC,gCAAc,IAAC,SAAS,EAAE,2BAAU,GAAI,CACrC,CACP,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC"}
@@ -37,14 +37,16 @@ exports.ComponentStrip = (0, react_1.forwardRef)(function ComponentStrip({ compo
37
37
  return (react_1.default.createElement("div", { className: component_strip_module_scss_1.default.componentStrip, ref: ref },
38
38
  !parsedId && react_1.default.createElement(LabelBlock, { link: homepage }, id),
39
39
  parsedId && react_1.default.createElement(LabelBlock, { link: component_modules_component_url_1.ScopeUrl.toUrl(parsedId.scope) }, parsedId.scope),
40
- parsedId && (react_1.default.createElement(LabelBlock, { link: componentLink },
41
- parsedId.fullName,
42
- parsedId.version && parsedId.version !== 'latest' && `@${parsedId.version}`)),
40
+ parsedId && (react_1.default.createElement(LabelBlock, { link: componentLink, className: component_strip_module_scss_1.default.nameBlock },
41
+ react_1.default.createElement("span", null, parsedId.fullName),
42
+ parsedId.version && parsedId.version !== 'latest' && (react_1.default.createElement("span", { className: component_strip_module_scss_1.default.version },
43
+ "@",
44
+ parsedId.version)))),
43
45
  children));
44
46
  });
45
- function LabelBlock({ link, children }) {
47
+ function LabelBlock({ link, children, className }) {
46
48
  const Comp = link ? base_ui_routing_native_link_1.NativeLink : 'span';
47
- return (react_1.default.createElement(Comp, { href: link, external: !!link }, children));
49
+ return (react_1.default.createElement(Comp, { href: link, external: !!link, className: className }, children));
48
50
  }
49
51
  function extractMetadata(metadata) {
50
52
  if (typeof metadata === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"component-strip.js","sourceRoot":"","sources":["../../label/component-strip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4E;AAC5E,sFAAkE;AAClE,wDAAoD;AACpD,8FAAoE;AACpE,oJAI6E;AAC7E,gGAAmD;AACnD,mCAA4C;AAK/B,QAAA,cAAc,GAAG,IAAA,kBAAU,EAAC,SAAS,cAAc,CAC9D,EAAE,SAAS,EAAE,QAAQ,EAAuB,EAC5C,GAAiC;IAEjC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,QAAQ,IAAI,IAAA,yBAAiB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,CACL,uCAAK,SAAS,EAAE,qCAAM,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG;QAC5C,CAAC,QAAQ,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,QAAQ,IAAG,EAAE,CAAc;QAC1D,QAAQ,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,0CAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAG,QAAQ,CAAC,KAAK,CAAc;QAC3F,QAAQ,IAAI,CACX,8BAAC,UAAU,IAAC,IAAI,EAAE,aAAa;YAC5B,QAAQ,CAAC,QAAQ;YACjB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CACjE,CACd;QACA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA0C;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,wCAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,CACL,8BAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,IAC/B,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAsC;IAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACzC;IAED,OAAO,QAAQ,CAAC,+EAAkB,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"component-strip.js","sourceRoot":"","sources":["../../label/component-strip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4E;AAC5E,sFAAkE;AAClE,wDAAoD;AACpD,8FAAoE;AACpE,oJAI6E;AAC7E,gGAAmD;AACnD,mCAA4C;AAK/B,QAAA,cAAc,GAAG,IAAA,kBAAU,EAAC,SAAS,cAAc,CAC9D,EAAE,SAAS,EAAE,QAAQ,EAAuB,EAC5C,GAAiC;IAEjC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,QAAQ,IAAI,IAAA,yBAAiB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,CACL,uCAAK,SAAS,EAAE,qCAAM,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG;QAC5C,CAAC,QAAQ,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,QAAQ,IAAG,EAAE,CAAc;QAC1D,QAAQ,IAAI,8BAAC,UAAU,IAAC,IAAI,EAAE,0CAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAG,QAAQ,CAAC,KAAK,CAAc;QAC3F,QAAQ,IAAI,CACX,8BAAC,UAAU,IAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,qCAAM,CAAC,SAAS;YAC1D,4CAAO,QAAQ,CAAC,QAAQ,CAAQ;YAC/B,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,CACpD,wCAAM,SAAS,EAAE,qCAAM,CAAC,OAAO;;gBAAI,QAAQ,CAAC,OAAO,CAAQ,CAC5D,CACU,CACd;QACA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAA8D;IAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,wCAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,CACL,8BAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,IACrD,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAsC;IAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACzC;IAED,OAAO,QAAQ,CAAC,+EAAkB,CAAC,CAAC;AACtC,CAAC"}
@@ -7,6 +7,7 @@ $gap: 0.125em;
7
7
 
8
8
  border-radius: $borderRadius;
9
9
  box-shadow: var(--bit-highlighter-shadow);
10
+ white-space: nowrap;
10
11
 
11
12
  > * {
12
13
  padding: 0 0.5em;
@@ -47,3 +48,21 @@ $gap: 0.125em;
47
48
  }
48
49
  }
49
50
  }
51
+
52
+ .nameBlock {
53
+ display: flex;
54
+
55
+ .version {
56
+ // leave room for 9 digits + 3 "."
57
+ max-width: 13ch;
58
+ overflow: hidden;
59
+ text-overflow: ellipsis;
60
+ white-space: nowrap;
61
+
62
+ transition: max-width 480ms;
63
+
64
+ &:hover {
65
+ max-width: 61ch;
66
+ }
67
+ }
68
+ }
@@ -39,6 +39,7 @@ const classnames_1 = __importDefault(require("classnames"));
39
39
  const lodash_compact_1 = __importDefault(require("lodash.compact"));
40
40
  const react_dom_1 = require("@floating-ui/react-dom");
41
41
  const label_module_scss_1 = __importDefault(require("./label.module.scss"));
42
+ const HAS_RESIZE_OBSERVER = typeof window !== 'undefined' && !!window.ResizeObserver;
42
43
  function LabelContainer(_a) {
43
44
  var _b;
44
45
  var { targetRef, offset, placement, flip = true, watchMotion, className, style } = _a, rest = __rest(_a, ["targetRef", "offset", "placement", "flip", "watchMotion", "className", "style"]);
@@ -58,7 +59,7 @@ function LabelContainer(_a) {
58
59
  // automatically update on scroll, resize, etc.
59
60
  // `watchMotion` will trigger continuous updates using animation frame
60
61
  (0, react_1.useEffect)(() => {
61
- if (!refs.reference.current || !refs.floating.current)
62
+ if (!refs.reference.current || !refs.floating.current || !HAS_RESIZE_OBSERVER)
62
63
  return () => { };
63
64
  return (0, react_dom_1.autoUpdate)(refs.reference.current, refs.floating.current, update, { animationFrame: !!watchMotion });
64
65
  }, [refs.reference.current, refs.floating.current, update, watchMotion]);
@@ -1 +1 @@
1
- {"version":3,"file":"label-container.js","sourceRoot":"","sources":["../../label/label-container.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqE;AACrE,4DAAoC;AACpC,oEAAqC;AACrC,sDAOgC;AAEhC,4EAAyC;AAazC,SAAgB,cAAc,CAAC,EAST;;QATS,EAC7B,SAAS,EACT,MAAM,EACN,SAAS,EACT,IAAI,GAAG,IAAI,EACX,WAAW,EACX,SAAS,EACT,KAAK,OAEe,EADjB,IAAI,cARsB,iFAS9B,CADQ;IAEP,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,uBAAW,EAAC;QACxF,SAAS;QACT,UAAU,EAAE,IAAA,wBAAO,EAAC;YAClB,MAAM,IAAI,IAAA,kBAAgB,EAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,IAAI,IAAA,gBAAc,GAAE;YACxB,4GAA4G;YAC5G,IAAA,iBAAK,EAAC,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACpE,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACtC,CAAC;KACH,CAAC,CAAC;IAEH,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,sEAAsE;IACtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAEvE,OAAO,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,CAAC,CAAA,MAAA,cAAc,CAAC,IAAI,0CAAE,eAAe,CAAA,CAAC;IAEtD,OAAO,CACL,uDACM,IAAI,IACR,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,CAAC,OAAO,IAAI,2BAAM,CAAC,MAAM,CAAC;QAC3D,kFAAkF;QAClF,KAAK,kCAAO,KAAK,KAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,OAChE,CACH,CAAC;AACJ,CAAC;AA5CD,wCA4CC"}
1
+ {"version":3,"file":"label-container.js","sourceRoot":"","sources":["../../label/label-container.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqE;AACrE,4DAAoC;AACpC,oEAAqC;AACrC,sDAOgC;AAEhC,4EAAyC;AAEzC,MAAM,mBAAmB,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;AAarF,SAAgB,cAAc,CAAC,EAST;;QATS,EAC7B,SAAS,EACT,MAAM,EACN,SAAS,EACT,IAAI,GAAG,IAAI,EACX,WAAW,EACX,SAAS,EACT,KAAK,OAEe,EADjB,IAAI,cARsB,iFAS9B,CADQ;IAEP,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,uBAAW,EAAC;QACxF,SAAS;QACT,UAAU,EAAE,IAAA,wBAAO,EAAC;YAClB,MAAM,IAAI,IAAA,kBAAgB,EAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,IAAI,IAAA,gBAAc,GAAE;YACxB,4GAA4G;YAC5G,IAAA,iBAAK,EAAC,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACpE,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACtC,CAAC;KACH,CAAC,CAAC;IAEH,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,sEAAsE;IACtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,mBAAmB;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAE/F,OAAO,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,CAAC,CAAA,MAAA,cAAc,CAAC,IAAI,0CAAE,eAAe,CAAA,CAAC;IAEtD,OAAO,CACL,uDACM,IAAI,IACR,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,CAAC,OAAO,IAAI,2BAAM,CAAC,MAAM,CAAC;QAC3D,kFAAkF;QAClF,KAAK,kCAAO,KAAK,KAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,OAChE,CACH,CAAC;AACJ,CAAC;AA5CD,wCA4CC"}
@@ -1,3 +1,4 @@
1
1
  import { ButtonHTMLAttributes, HTMLAttributes } from 'react';
2
2
  export declare function MockTarget({ children, ...rest }: HTMLAttributes<HTMLDivElement>): JSX.Element;
3
3
  export declare function MockButton({ children, ...rest }: ButtonHTMLAttributes<HTMLButtonElement>): JSX.Element;
4
+ export declare function MockSnap({ children, ...rest }: ButtonHTMLAttributes<HTMLButtonElement>): JSX.Element;
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MockButton = exports.MockTarget = void 0;
17
+ exports.MockSnap = exports.MockButton = exports.MockTarget = void 0;
18
18
  const react_1 = __importDefault(require("react"));
19
19
  const react_ui_highlighter_component_metadata_bit_component_meta_1 = require("@teambit/react.ui.highlighter.component-metadata.bit-component-meta");
20
20
  function MockTarget(_a) {
@@ -33,4 +33,12 @@ exports.MockButton = MockButton;
33
33
  MockButton[react_ui_highlighter_component_metadata_bit_component_meta_1.componentMetaField] = {
34
34
  id: 'teambit.design/ui/icon-button@1.6.2',
35
35
  };
36
+ function MockSnap(_a) {
37
+ var { children } = _a, rest = __rest(_a, ["children"]);
38
+ return react_1.default.createElement("button", Object.assign({}, rest), children);
39
+ }
40
+ exports.MockSnap = MockSnap;
41
+ MockSnap[react_ui_highlighter_component_metadata_bit_component_meta_1.componentMetaField] = {
42
+ id: 'teambit.design/ui/icon-button@a21594d5cc63fd24d2b4763fa7d817b131f0edbb',
43
+ };
36
44
  //# sourceMappingURL=mock-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-component.js","sourceRoot":"","sources":["../mock-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAoE;AACpE,oJAAwH;AAExH,SAAgB,UAAU,CAAC,EAAqD;QAArD,EAAE,QAAQ,OAA2C,EAAtC,IAAI,cAAnB,YAAqB,CAAF;IAC5C,OAAO,uDAAS,IAAI,GAAG,QAAQ,CAAO,CAAC;AACzC,CAAC;AAFD,gCAEC;AACD,UAAU,CAAC,+EAAkB,CAAC,GAAG;IAC/B,EAAE,EAAE,qCAAqC;CACzB,CAAC;AAEnB,SAAgB,UAAU,CAAC,EAA8D;QAA9D,EAAE,QAAQ,OAAoD,EAA/C,IAAI,cAAnB,YAAqB,CAAF;IAC5C,OAAO,0DAAY,IAAI,GAAG,QAAQ,CAAU,CAAC;AAC/C,CAAC;AAFD,gCAEC;AACD,UAAU,CAAC,+EAAkB,CAAC,GAAG;IAC/B,EAAE,EAAE,qCAAqC;CACzB,CAAC"}
1
+ {"version":3,"file":"mock-component.js","sourceRoot":"","sources":["../mock-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAoE;AACpE,oJAAwH;AAExH,SAAgB,UAAU,CAAC,EAAqD;QAArD,EAAE,QAAQ,OAA2C,EAAtC,IAAI,cAAnB,YAAqB,CAAF;IAC5C,OAAO,uDAAS,IAAI,GAAG,QAAQ,CAAO,CAAC;AACzC,CAAC;AAFD,gCAEC;AACD,UAAU,CAAC,+EAAkB,CAAC,GAAG;IAC/B,EAAE,EAAE,qCAAqC;CACzB,CAAC;AAEnB,SAAgB,UAAU,CAAC,EAA8D;QAA9D,EAAE,QAAQ,OAAoD,EAA/C,IAAI,cAAnB,YAAqB,CAAF;IAC5C,OAAO,0DAAY,IAAI,GAAG,QAAQ,CAAU,CAAC;AAC/C,CAAC;AAFD,gCAEC;AACD,UAAU,CAAC,+EAAkB,CAAC,GAAG;IAC/B,EAAE,EAAE,qCAAqC;CACzB,CAAC;AAEnB,SAAgB,QAAQ,CAAC,EAA8D;QAA9D,EAAE,QAAQ,OAAoD,EAA/C,IAAI,cAAnB,YAAqB,CAAF;IAC1C,OAAO,0DAAY,IAAI,GAAG,QAAQ,CAAU,CAAC;AAC/C,CAAC;AAFD,4BAEC;AACD,QAAQ,CAAC,+EAAkB,CAAC,GAAG;IAC7B,EAAE,EAAE,wEAAwE;CAC5D,CAAC"}
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": [
4
+ "es2019",
5
+ "DOM",
6
+ "ES6",
7
+ "DOM.Iterable"
8
+ ],
9
+ "target": "es2015",
10
+ "module": "CommonJS",
11
+ "jsx": "react",
12
+ "allowJs": true,
13
+ "composite": true,
14
+ "declaration": true,
15
+ "sourceMap": true,
16
+ "skipLibCheck": true,
17
+ "experimentalDecorators": true,
18
+ "outDir": "dist",
19
+ "moduleResolution": "node",
20
+ "esModuleInterop": true,
21
+ "rootDir": ".",
22
+ "resolveJsonModule": true
23
+ },
24
+ "exclude": [
25
+ "dist",
26
+ "package.json"
27
+ ],
28
+ "include": [
29
+ "**/*",
30
+ "**/*.json"
31
+ ]
32
+ }
package/frame/frame.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useLayoutEffect, useRef, RefObject } from 'react';
1
+ import React, { useEffect, useLayoutEffect, useRef, RefObject, CSSProperties } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { useFloating, autoUpdate, offset, size, detectOverflow, hide } from '@floating-ui/react-dom';
4
4
  import type { Coords } from '@floating-ui/react-dom';
@@ -11,6 +11,9 @@ const MARGIN_FROM_TARGET = +styles.offset || 6; // setting fallback 6, for tests
11
11
  const MARGIN_FROM_DOC_EDGE = 0;
12
12
 
13
13
  const overflowParameters = { rootBoundary: 'document', padding: MARGIN_FROM_DOC_EDGE } as const;
14
+ const SHIFT_POSITIVE = 'shiftPositive';
15
+
16
+ const HAS_RESIZE_OBSERVER = typeof window !== 'undefined' && !!window.ResizeObserver;
14
17
 
15
18
  export interface FrameProps extends React.HTMLAttributes<HTMLDivElement> {
16
19
  /** apply the frame to this element */
@@ -28,9 +31,10 @@ export interface FrameProps extends React.HTMLAttributes<HTMLDivElement> {
28
31
  // x - width - horizontal (cross axis)
29
32
  // y - height - vertical (main axis)
30
33
 
34
+ type DimensionsStyle = Pick<CSSProperties, 'width' | 'height' | 'maxWidth' | 'maxHeight'>;
35
+
31
36
  export function Frame({ targetRef, watchMotion, className, stylesClass = styles.overlayBorder, style }: FrameProps) {
32
- const dimensionRef = useRef({ width: 0, height: 0 });
33
- const shiftRef = useRef<Coords | undefined>();
37
+ const dimensionRef = useRef<DimensionsStyle>({ width: 0, height: 0 });
34
38
 
35
39
  const { x, y, strategy, reference, floating, update, refs, middlewareData } = useFloating({
36
40
  placement: 'bottom-start',
@@ -50,7 +54,7 @@ export function Frame({ targetRef, watchMotion, className, stylesClass = styles.
50
54
  },
51
55
  },
52
56
  // reposition x,y, to the top of the reference
53
- offset((options) => -options.reference.height),
57
+ offset(({ rects }) => -rects.reference.height),
54
58
  // offset the frame by its extra padding
55
59
  offset(() => ({ mainAxis: -MARGIN_FROM_TARGET, crossAxis: -MARGIN_FROM_TARGET })),
56
60
  // pushes the frame into the document. Similar to shift(), but only pushes when coods are negative
@@ -68,7 +72,6 @@ export function Frame({ targetRef, watchMotion, className, stylesClass = styles.
68
72
  y: nextCoords.y - args.y,
69
73
  };
70
74
 
71
- shiftRef.current = shiftAmount;
72
75
  return {
73
76
  ...nextCoords,
74
77
  data: shiftAmount,
@@ -80,16 +83,23 @@ export function Frame({ targetRef, watchMotion, className, stylesClass = styles.
80
83
  // apply overflow detection in reference to the document
81
84
  rootBoundary: 'document',
82
85
  padding: MARGIN_FROM_DOC_EDGE,
83
- apply({ reference: referenceRect, height, width }) {
84
- const paddingX = 2 * MARGIN_FROM_TARGET - (shiftRef.current?.x || 0);
85
- const paddingY = 2 * MARGIN_FROM_TARGET - (shiftRef.current?.y || 0);
86
-
87
- dimensionRef.current = {
88
- width: Math.min(referenceRect.width + paddingX, width),
89
- height: Math.min(referenceRect.height + paddingY, height),
86
+ apply({ elements, rects, availableHeight, availableWidth, middlewareData }) {
87
+ const shift: Coords = 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
+
91
+ const dimensions: DimensionsStyle = {
92
+ width: rects.reference.width + paddingX,
93
+ height: rects.reference.height + paddingY,
94
+ maxWidth: availableWidth,
95
+ maxHeight: availableHeight,
90
96
  };
91
97
 
92
- Object.assign(refs.floating.current?.style, dimensionRef.current);
98
+ // per floating-ui docs, apply styles directly during apply()
99
+ Object.assign(elements.floating.style, dimensions);
100
+
101
+ // also store in reference, so react renders will have the same value
102
+ dimensionRef.current = dimensions;
93
103
  },
94
104
  }),
95
105
  hide({ strategy: 'referenceHidden' }),
@@ -104,7 +114,7 @@ export function Frame({ targetRef, watchMotion, className, stylesClass = styles.
104
114
  // automatically update on scroll, resize, etc.
105
115
  // `watchMotion` will trigger continuous updates using animation frame
106
116
  useEffect(() => {
107
- if (!refs.reference.current || !refs.floating.current) return () => {};
117
+ if (!refs.reference.current || !refs.floating.current || !HAS_RESIZE_OBSERVER) return () => {};
108
118
 
109
119
  return autoUpdate(refs.reference.current, refs.floating.current, update, { animationFrame: watchMotion });
110
120
  }, [refs.reference.current, refs.floating.current, update, watchMotion]);
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ComponentStrip } from './component-strip';
3
+ import { MockButton, MockSnap } from '../mock-component';
4
+
5
+ export const ComponentStripPreview = () => {
6
+ return (
7
+ <div style={{ fontFamily: 'sans-serif', padding: 8 }}>
8
+ <ComponentStrip component={MockSnap} />
9
+ <br />
10
+ <ComponentStrip component={MockButton} />
11
+ </div>
12
+ );
13
+ };
@@ -7,6 +7,7 @@ $gap: 0.125em;
7
7
 
8
8
  border-radius: $borderRadius;
9
9
  box-shadow: var(--bit-highlighter-shadow);
10
+ white-space: nowrap;
10
11
 
11
12
  > * {
12
13
  padding: 0 0.5em;
@@ -47,3 +48,21 @@ $gap: 0.125em;
47
48
  }
48
49
  }
49
50
  }
51
+
52
+ .nameBlock {
53
+ display: flex;
54
+
55
+ .version {
56
+ // leave room for 9 digits + 3 "."
57
+ max-width: 13ch;
58
+ overflow: hidden;
59
+ text-overflow: ellipsis;
60
+ white-space: nowrap;
61
+
62
+ transition: max-width 480ms;
63
+
64
+ &:hover {
65
+ max-width: 61ch;
66
+ }
67
+ }
68
+ }
@@ -27,9 +27,11 @@ export const ComponentStrip = forwardRef(function ComponentStrip(
27
27
  {!parsedId && <LabelBlock link={homepage}>{id}</LabelBlock>}
28
28
  {parsedId && <LabelBlock link={ScopeUrl.toUrl(parsedId.scope)}>{parsedId.scope}</LabelBlock>}
29
29
  {parsedId && (
30
- <LabelBlock link={componentLink}>
31
- {parsedId.fullName}
32
- {parsedId.version && parsedId.version !== 'latest' && `@${parsedId.version}`}
30
+ <LabelBlock link={componentLink} className={styles.nameBlock}>
31
+ <span>{parsedId.fullName}</span>
32
+ {parsedId.version && parsedId.version !== 'latest' && (
33
+ <span className={styles.version}>@{parsedId.version}</span>
34
+ )}
33
35
  </LabelBlock>
34
36
  )}
35
37
  {children}
@@ -37,10 +39,10 @@ export const ComponentStrip = forwardRef(function ComponentStrip(
37
39
  );
38
40
  });
39
41
 
40
- function LabelBlock({ link, children }: { link?: string; children: ReactNode }) {
42
+ function LabelBlock({ link, children, className }: { link?: string; children: ReactNode; className?: string }) {
41
43
  const Comp = link ? NativeLink : 'span';
42
44
  return (
43
- <Comp href={link} external={!!link}>
45
+ <Comp href={link} external={!!link} className={className}>
44
46
  {children}
45
47
  </Comp>
46
48
  );
@@ -12,6 +12,8 @@ import {
12
12
  import type { Placement } from '@floating-ui/react-dom';
13
13
  import styles from './label.module.scss';
14
14
 
15
+ const HAS_RESIZE_OBSERVER = typeof window !== 'undefined' && !!window.ResizeObserver;
16
+
15
17
  export interface LabelContainerProps extends React.HTMLAttributes<HTMLDivElement> {
16
18
  targetRef: RefObject<HTMLElement | null>;
17
19
  offset?: [number, number];
@@ -51,7 +53,7 @@ export function LabelContainer({
51
53
  // automatically update on scroll, resize, etc.
52
54
  // `watchMotion` will trigger continuous updates using animation frame
53
55
  useEffect(() => {
54
- if (!refs.reference.current || !refs.floating.current) return () => {};
56
+ if (!refs.reference.current || !refs.floating.current || !HAS_RESIZE_OBSERVER) return () => {};
55
57
 
56
58
  return autoUpdate(refs.reference.current, refs.floating.current, update, { animationFrame: !!watchMotion });
57
59
  }, [refs.reference.current, refs.floating.current, update, watchMotion]);
@@ -14,3 +14,10 @@ export function MockButton({ children, ...rest }: ButtonHTMLAttributes<HTMLButto
14
14
  MockButton[componentMetaField] = {
15
15
  id: 'teambit.design/ui/icon-button@1.6.2',
16
16
  } as ComponentMeta;
17
+
18
+ export function MockSnap({ children, ...rest }: ButtonHTMLAttributes<HTMLButtonElement>) {
19
+ return <button {...rest}>{children}</button>;
20
+ }
21
+ MockSnap[componentMetaField] = {
22
+ id: 'teambit.design/ui/icon-button@a21594d5cc63fd24d2b4763fa7d817b131f0edbb',
23
+ } as ComponentMeta;
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@teambit/react.ui.component-highlighter",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "homepage": "https://bit.dev/teambit/react/ui/component-highlighter",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.react",
8
8
  "name": "ui/component-highlighter",
9
- "version": "0.1.0"
9
+ "version": "0.2.0"
10
10
  },
11
11
  "dependencies": {
12
- "get-xpath": "3.0.1",
13
- "classnames": "2.3.1",
14
- "@floating-ui/react-dom": "0.6.0",
15
- "uuid": "3.4.0",
16
- "use-debounce": "6.0.1",
17
- "lodash.compact": "3.0.1",
18
- "url-join": "^4.0.0",
12
+ "get-xpath": "^3.0.1",
13
+ "classnames": "^2.3.1",
14
+ "uuid": "^3.4.0",
15
+ "use-debounce": "^8.0.1",
16
+ "@floating-ui/react-dom": "0.7.2",
17
+ "lodash.compact": "^3.0.1",
18
+ "url-join": "^4.0.1",
19
19
  "@tippyjs/react": "4.2.0",
20
20
  "core-js": "^3.0.0",
21
21
  "@teambit/react.ui.highlighter.component-metadata.bit-component-meta": "0.0.21",
@@ -23,57 +23,27 @@
23
23
  "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.487",
24
24
  "@teambit/base-ui.routing.native-link": "1.0.0",
25
25
  "@teambit/component.modules.component-url": "0.0.124",
26
- "@teambit/react.modules.dom-to-react": "0.1.0",
27
- "@teambit/react.ui.hover-selector": "0.1.0"
26
+ "@teambit/react.modules.dom-to-react": "0.2.0",
27
+ "@teambit/react.ui.hover-selector": "0.2.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@testing-library/react": "11.2.6",
30
+ "@types/react": "^17.0.8",
31
+ "@testing-library/react": "^12.1.5",
31
32
  "@types/uuid": "3.4.9",
33
+ "@types/react-dom": "^17.0.5",
32
34
  "@types/lodash.compact": "3.0.6",
33
35
  "@types/url-join": "^4.0.0",
34
36
  "@types/mocha": "9.1.0",
35
37
  "@types/testing-library__jest-dom": "5.9.5",
36
38
  "@babel/runtime": "7.12.18",
37
39
  "@types/jest": "^26.0.0",
38
- "@types/react-dom": "^17.0.5",
39
- "@types/react": "^17.0.8",
40
40
  "@types/node": "12.20.4"
41
41
  },
42
42
  "peerDependencies": {
43
- "@types/react": "17.0.0",
44
- "@types/react-dom": "17.0.0",
45
43
  "react-dom": "^16.8.0 || ^17.0.0",
46
44
  "react": "^16.8.0 || ^17.0.0"
47
45
  },
48
46
  "license": "Apache-2.0",
49
- "bit": {
50
- "bindingPrefix": "@teambit",
51
- "env": {},
52
- "overrides": {
53
- "dependencies": {
54
- "@teambit/legacy": "-",
55
- "core-js": "^3.0.0",
56
- "react-dom": "-",
57
- "react": "-"
58
- },
59
- "devDependencies": {
60
- "@teambit/legacy": "-",
61
- "@types/mocha": "9.1.0",
62
- "@types/testing-library__jest-dom": "5.9.5",
63
- "@babel/runtime": "7.12.18",
64
- "@types/jest": "^26.0.0",
65
- "@types/react-dom": "^17.0.5",
66
- "@types/react": "^17.0.8",
67
- "@types/node": "12.20.4",
68
- "react-dom": "-",
69
- "react": "-"
70
- },
71
- "peerDependencies": {
72
- "react-dom": "^16.8.0 || ^17.0.0",
73
- "react": "^16.8.0 || ^17.0.0"
74
- }
75
- }
76
- },
77
47
  "private": false,
78
48
  "repository": {
79
49
  "type": "git",
@@ -0,0 +1,8 @@
1
+ import * as compositions_0 from '/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.2.0/dist/children-highlighter/children-highlighter.composition.js';
2
+ import * as compositions_1 from '/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.2.0/dist/element-highlighter/element-highlighter.compositions.js';
3
+ import * as compositions_2 from '/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.2.0/dist/hover-highlighter/hover-highlighter.compositions.js';
4
+ import * as compositions_3 from '/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.2.0/dist/label/component-strip.compositions.js';
5
+ import * as overview_0 from '/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.2.0/dist/component-highlighter.docs.md';
6
+
7
+ export const compositions = [compositions_0, compositions_1, compositions_2, compositions_3];
8
+ export const overview = [overview_0];
package/tsconfig.json CHANGED
@@ -7,13 +7,14 @@
7
7
  "DOM.Iterable"
8
8
  ],
9
9
  "target": "es2015",
10
- "module": "commonjs",
10
+ "module": "CommonJS",
11
11
  "jsx": "react",
12
12
  "allowJs": true,
13
13
  "composite": true,
14
14
  "declaration": true,
15
15
  "sourceMap": true,
16
16
  "skipLibCheck": true,
17
+ "experimentalDecorators": true,
17
18
  "outDir": "dist",
18
19
  "moduleResolution": "node",
19
20
  "esModuleInterop": true,
@@ -21,6 +22,11 @@
21
22
  "resolveJsonModule": true
22
23
  },
23
24
  "exclude": [
24
- "dist"
25
+ "dist",
26
+ "package.json"
27
+ ],
28
+ "include": [
29
+ "**/*",
30
+ "**/*.json"
25
31
  ]
26
32
  }
@@ -1,2 +0,0 @@
1
- export const compositions = [require('/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.1.0/dist/children-highlighter/children-highlighter.composition.js'), require('/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.1.0/dist/element-highlighter/element-highlighter.compositions.js'), require('/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.1.0/dist/hover-highlighter/hover-highlighter.compositions.js')]
2
- export const overview = [require('/Users/kutner/Library/Caches/Bit/capsules/4d3a484af3d3d771b8ef753524d1f10bb4be2fdd/teambit.react_ui_component-highlighter@0.1.0/dist/component-highlighter.docs.md')]