@@ -8,8 +8,8 @@ index 3169c25..19acc49 100644
88 * Given a child DOM element, returns a query-selector statement describing that
99- * and its ancestors
1010- * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
11- + * and its ancestors, prefixed with data-label if found on ancestor
12- + * e.g. [HTMLElement] => [data-label="MyLabel"] div.css-146c3p1.r-1udh08x.r-1udbk01.r-1iln25a > svg
11+ + * and its ancestors, prefixed with data-sentry- label if found on ancestor
12+ + * e.g. [HTMLElement] => [data-sentry- label="MyLabel"] div.css-146c3p1.r-1udh08x.r-1udbk01.r-1iln25a > svg
1313 * @returns generated DOM path
1414 */
1515 function htmlTreeAsString(
@@ -20,25 +20,25 @@ index 3169c25..19acc49 100644
2020- return out.reverse().join(separator);
2121+ const cssSelector = out.reverse().join(separator);
2222+
23- + // If cssSelector already contains data-label, return as is
24- + if (cssSelector.includes('[data-label="')) {
23+ + // If cssSelector already contains data-sentry- label, return as is
24+ + if (cssSelector.includes('[data-sentry- label="')) {
2525+ return cssSelector;
2626+ }
2727+
28- + // Search for data-label up to 15 levels (beyond the 5 levels of cssSelector)
28+ + // Search for data-sentry- label up to 15 levels (beyond the 5 levels of cssSelector)
2929+ let labelElem = elem;
3030+ let dataLabel = null;
3131+ for (let i = 0; i < 15 && labelElem; i++) {
3232+ // @ts-expect-error WINDOW has HTMLElement
33- + if (WINDOW.HTMLElement && labelElem instanceof HTMLElement && labelElem.dataset && labelElem.dataset['label ']) {
34- + dataLabel = labelElem.dataset['label '];
33+ + if (WINDOW.HTMLElement && labelElem instanceof HTMLElement && labelElem.dataset && labelElem.dataset['sentryLabel ']) {
34+ + dataLabel = labelElem.dataset['sentryLabel '];
3535+ break;
3636+ }
3737+ labelElem = labelElem.parentNode;
3838+ }
3939+
4040+ if (dataLabel) {
41- + return `[data-label="${dataLabel}"] ${cssSelector}`;
41+ + return `[data-sentry- label="${dataLabel}"] ${cssSelector}`;
4242+ }
4343+
4444+ return cssSelector;
@@ -51,9 +51,9 @@ index 3169c25..19acc49 100644
5151 if (WINDOW.HTMLElement) {
5252- // If using the component name annotation plugin, this value may be available on the DOM node
5353 if (elem instanceof HTMLElement && elem.dataset) {
54- + // Check for data-label first - return in attribute format [data-label="value"]
55- + if (elem.dataset['label ']) {
56- + return `[data-label="${elem.dataset['label ']}"]`;
54+ + // Check for data-sentry- label first - return in attribute format [data-sentry -label="value"]
55+ + if (elem.dataset['sentryLabel ']) {
56+ + return `[data-sentry- label="${elem.dataset['sentryLabel ']}"]`;
5757+ }
5858+ // If using the component name annotation plugin, this value may be available on the DOM node
5959 if (elem.dataset['sentryComponent']) {
@@ -69,8 +69,8 @@ index 2ad52b0..fd184fb 100644
6969 * Given a child DOM element, returns a query-selector statement describing that
7070- * and its ancestors
7171- * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
72- + * and its ancestors, prefixed with data-label if found on ancestor
73- + * e.g. [HTMLElement] => [data-label="MyLabel"] div.css-146c3p1.r-1udh08x.r-1udbk01.r-1iln25a > svg
72+ + * and its ancestors, prefixed with data-sentry- label if found on ancestor
73+ + * e.g. [HTMLElement] => [data-sentry- label="MyLabel"] div.css-146c3p1.r-1udh08x.r-1udbk01.r-1iln25a > svg
7474 * @returns generated DOM path
7575 */
7676 function htmlTreeAsString(
@@ -81,25 +81,25 @@ index 2ad52b0..fd184fb 100644
8181- return out.reverse().join(separator);
8282+ const cssSelector = out.reverse().join(separator);
8383+
84- + // If cssSelector already contains data-label, return as is
85- + if (cssSelector.includes('[data-label="')) {
84+ + // If cssSelector already contains data-sentry- label, return as is
85+ + if (cssSelector.includes('[data-sentry- label="')) {
8686+ return cssSelector;
8787+ }
8888+
89- + // Search for data-label up to 15 levels (beyond the 5 levels of cssSelector)
89+ + // Search for data-sentry- label up to 15 levels (beyond the 5 levels of cssSelector)
9090+ let labelElem = elem;
9191+ let dataLabel = null;
9292+ for (let i = 0; i < 15 && labelElem; i++) {
9393+ // @ts-expect-error WINDOW has HTMLElement
94- + if (WINDOW.HTMLElement && labelElem instanceof HTMLElement && labelElem.dataset && labelElem.dataset['label ']) {
95- + dataLabel = labelElem.dataset['label '];
94+ + if (WINDOW.HTMLElement && labelElem instanceof HTMLElement && labelElem.dataset && labelElem.dataset['sentryLabel ']) {
95+ + dataLabel = labelElem.dataset['sentryLabel '];
9696+ break;
9797+ }
9898+ labelElem = labelElem.parentNode;
9999+ }
100100+
101101+ if (dataLabel) {
102- + return `[data-label="${dataLabel}"] ${cssSelector}`;
102+ + return `[data-sentry- label="${dataLabel}"] ${cssSelector}`;
103103+ }
104104+
105105+ return cssSelector;
@@ -112,9 +112,9 @@ index 2ad52b0..fd184fb 100644
112112 if (WINDOW.HTMLElement) {
113113- // If using the component name annotation plugin, this value may be available on the DOM node
114114 if (elem instanceof HTMLElement && elem.dataset) {
115- + // Check for data-label first - return in attribute format [data-label="value"]
116- + if (elem.dataset['label ']) {
117- + return `[data-label="${elem.dataset['label ']}"]`;
115+ + // Check for data-sentry- label first - return in attribute format [data-sentry -label="value"]
116+ + if (elem.dataset['sentryLabel ']) {
117+ + return `[data-sentry- label="${elem.dataset['sentryLabel ']}"]`;
118118+ }
119119+ // If using the component name annotation plugin, this value may be available on the DOM node
120120 if (elem.dataset['sentryComponent']) {
0 commit comments