ui-sniper 3.0.5 → 3.0.7
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/dist/index.js +41 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7893,7 +7893,7 @@ function SettingsPanel({
|
|
|
7893
7893
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("a", { className: styles_module_default9.settingsBrand, href: "https://hara-xy.com", target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("svg", { width: "72", height: "16", viewBox: "0 0 500 151", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("text", { x: "10", y: "110", "font-family": "'Arial Black', 'Impact', sans-serif", "font-size": "105", "font-weight": "900", "font-style": "italic", "letter-spacing": "-2", fill: "currentColor", children: "UI SNIPER" }) }) }),
|
|
7894
7894
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("p", { className: styles_module_default9.settingsVersion, children: [
|
|
7895
7895
|
"v",
|
|
7896
|
-
"3.0.
|
|
7896
|
+
"3.0.7"
|
|
7897
7897
|
] }),
|
|
7898
7898
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
7899
7899
|
"button",
|
|
@@ -7916,8 +7916,8 @@ function SettingsPanel({
|
|
|
7916
7916
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsSection, children: [
|
|
7917
7917
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsRow, children: [
|
|
7918
7918
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsLabel, children: [
|
|
7919
|
-
"
|
|
7920
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "
|
|
7919
|
+
"How much info to copy?",
|
|
7920
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "Pick how much context we bundle when you copy an annotation." })
|
|
7921
7921
|
] }),
|
|
7922
7922
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
7923
7923
|
"button",
|
|
@@ -7960,11 +7960,11 @@ function SettingsPanel({
|
|
|
7960
7960
|
className: `${styles_module_default9.settingsRow} ${styles_module_default9.settingsRowMarginTop} ${!isDevMode ? styles_module_default9.settingsRowDisabled : ""}`,
|
|
7961
7961
|
children: [
|
|
7962
7962
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsLabel, children: [
|
|
7963
|
-
"React
|
|
7963
|
+
"React Component Names",
|
|
7964
7964
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
7965
7965
|
HelpTooltip,
|
|
7966
7966
|
{
|
|
7967
|
-
content: !isDevMode ? "
|
|
7967
|
+
content: !isDevMode ? "We can't detect component names in production (minified) builds. Switch to dev mode to use this!" : "Let us grab the React component names for you so your AI agent knows exactly where to look."
|
|
7968
7968
|
}
|
|
7969
7969
|
)
|
|
7970
7970
|
] }),
|
|
@@ -7985,8 +7985,8 @@ function SettingsPanel({
|
|
|
7985
7985
|
className: `${styles_module_default9.settingsRow} ${styles_module_default9.settingsRowMarginTop}`,
|
|
7986
7986
|
children: [
|
|
7987
7987
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsLabel, children: [
|
|
7988
|
-
"Hide
|
|
7989
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "
|
|
7988
|
+
"Hide until next visit",
|
|
7989
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "We'll stay out of your way until you open a new tab or refresh." })
|
|
7990
7990
|
] }),
|
|
7991
7991
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
7992
7992
|
Switch,
|
|
@@ -8007,7 +8007,7 @@ function SettingsPanel({
|
|
|
8007
8007
|
"div",
|
|
8008
8008
|
{
|
|
8009
8009
|
className: `${styles_module_default9.settingsLabel} ${styles_module_default9.settingsLabelMarker}`,
|
|
8010
|
-
children: "
|
|
8010
|
+
children: "Pick your color"
|
|
8011
8011
|
}
|
|
8012
8012
|
),
|
|
8013
8013
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: styles_module_default9.colorOptions, children: COLOR_OPTIONS.map((color) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
@@ -8031,17 +8031,17 @@ function SettingsPanel({
|
|
|
8031
8031
|
CheckboxField,
|
|
8032
8032
|
{
|
|
8033
8033
|
className: "checkbox-field",
|
|
8034
|
-
label: "
|
|
8034
|
+
label: "Auto-clear when done",
|
|
8035
8035
|
checked: settings.autoClearAfterCopy,
|
|
8036
8036
|
onChange: (e) => onSettingsChange({ autoClearAfterCopy: e.target.checked }),
|
|
8037
|
-
tooltip: "
|
|
8037
|
+
tooltip: "We'll wipe the slate clean right after you copy or send your notes."
|
|
8038
8038
|
}
|
|
8039
8039
|
),
|
|
8040
8040
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
8041
8041
|
CheckboxField,
|
|
8042
8042
|
{
|
|
8043
8043
|
className: styles_module_default9.checkboxField,
|
|
8044
|
-
label: "
|
|
8044
|
+
label: "Freeze clicks & links",
|
|
8045
8045
|
checked: settings.blockInteractions,
|
|
8046
8046
|
onChange: (e) => onSettingsChange({ blockInteractions: e.target.checked })
|
|
8047
8047
|
}
|
|
@@ -8050,10 +8050,10 @@ function SettingsPanel({
|
|
|
8050
8050
|
CheckboxField,
|
|
8051
8051
|
{
|
|
8052
8052
|
className: styles_module_default9.checkboxField,
|
|
8053
|
-
label: "
|
|
8053
|
+
label: "Grab a screenshot",
|
|
8054
8054
|
checked: settings.includeScreenshots,
|
|
8055
8055
|
onChange: (e) => onSettingsChange({ includeScreenshots: e.target.checked }),
|
|
8056
|
-
tooltip: "
|
|
8056
|
+
tooltip: "We'll snap a quick picture of the element to show the agent exactly what it looks like."
|
|
8057
8057
|
}
|
|
8058
8058
|
)
|
|
8059
8059
|
] }),
|
|
@@ -8064,7 +8064,7 @@ function SettingsPanel({
|
|
|
8064
8064
|
className: styles_module_default9.settingsNavLink,
|
|
8065
8065
|
onClick: () => onSettingsPageChange("automations"),
|
|
8066
8066
|
children: [
|
|
8067
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: "
|
|
8067
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: "Connect to AI / Webhooks" }),
|
|
8068
8068
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: styles_module_default9.settingsNavLinkRight, children: [
|
|
8069
8069
|
endpoint && connectionStatus !== "disconnected" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
8070
8070
|
"span",
|
|
@@ -8111,7 +8111,7 @@ function SettingsPanel({
|
|
|
8111
8111
|
onClick: () => onSettingsPageChange("main"),
|
|
8112
8112
|
children: [
|
|
8113
8113
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconChevronLeft, { size: 16 }),
|
|
8114
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: "
|
|
8114
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: "Connect to AI / Webhooks" })
|
|
8115
8115
|
]
|
|
8116
8116
|
}
|
|
8117
8117
|
),
|
|
@@ -8119,8 +8119,8 @@ function SettingsPanel({
|
|
|
8119
8119
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsSection, children: [
|
|
8120
8120
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsRow, children: [
|
|
8121
8121
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: styles_module_default9.automationHeader, children: [
|
|
8122
|
-
"
|
|
8123
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "Connect
|
|
8122
|
+
"Live AI Connection (MCP)",
|
|
8123
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "Connect directly to Claude Code or Cursor via MCP so they can see your notes live as you click." })
|
|
8124
8124
|
] }),
|
|
8125
8125
|
endpoint && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
8126
8126
|
"div",
|
|
@@ -8136,7 +8136,7 @@ function SettingsPanel({
|
|
|
8136
8136
|
className: styles_module_default9.automationDescription,
|
|
8137
8137
|
style: { paddingBottom: 6 },
|
|
8138
8138
|
children: [
|
|
8139
|
-
"
|
|
8139
|
+
"Let your AI agent see and respond to your annotations without copy-pasting.",
|
|
8140
8140
|
" ",
|
|
8141
8141
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
8142
8142
|
"a",
|
|
@@ -8160,8 +8160,8 @@ function SettingsPanel({
|
|
|
8160
8160
|
children: [
|
|
8161
8161
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.settingsRow, children: [
|
|
8162
8162
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: styles_module_default9.automationHeader, children: [
|
|
8163
|
-
"
|
|
8164
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "
|
|
8163
|
+
"Send to your apps",
|
|
8164
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(HelpTooltip, { content: "Want your notes to go to Slack, Jira, or a custom app? Drop a webhook URL here." })
|
|
8165
8165
|
] }),
|
|
8166
8166
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: styles_module_default9.autoSendContainer, children: [
|
|
8167
8167
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
@@ -8185,7 +8185,7 @@ function SettingsPanel({
|
|
|
8185
8185
|
)
|
|
8186
8186
|
] })
|
|
8187
8187
|
] }),
|
|
8188
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: styles_module_default9.automationDescription, children: "
|
|
8188
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: styles_module_default9.automationDescription, children: "We'll post your annotations to this URL automatically." }),
|
|
8189
8189
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
8190
8190
|
"textarea",
|
|
8191
8191
|
{
|
|
@@ -10663,6 +10663,16 @@ function PageFeedbackToolbarCSS({
|
|
|
10663
10663
|
return;
|
|
10664
10664
|
}
|
|
10665
10665
|
if (isTyping || e.metaKey || e.ctrlKey) return;
|
|
10666
|
+
if (e.key === "f" || e.key === "F") {
|
|
10667
|
+
e.preventDefault();
|
|
10668
|
+
hideTooltipsUntilMouseLeave();
|
|
10669
|
+
if (isActive) {
|
|
10670
|
+
deactivate();
|
|
10671
|
+
} else {
|
|
10672
|
+
setIsActive(true);
|
|
10673
|
+
}
|
|
10674
|
+
return;
|
|
10675
|
+
}
|
|
10666
10676
|
if (e.key === "p" || e.key === "P") {
|
|
10667
10677
|
e.preventDefault();
|
|
10668
10678
|
hideTooltipsUntilMouseLeave();
|
|
@@ -10795,7 +10805,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10795
10805
|
onMouseDown: handleToolbarMouseDown,
|
|
10796
10806
|
role: !isActive ? "button" : void 0,
|
|
10797
10807
|
tabIndex: !isActive ? 0 : -1,
|
|
10798
|
-
title: !isActive ? "Start
|
|
10808
|
+
title: !isActive ? "Start taking notes" : void 0,
|
|
10799
10809
|
children: [
|
|
10800
10810
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
10801
10811
|
"div",
|
|
@@ -10839,7 +10849,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10839
10849
|
}
|
|
10840
10850
|
),
|
|
10841
10851
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
10842
|
-
isFrozen ? "
|
|
10852
|
+
isFrozen ? "Unfreeze animations" : "Freeze animations",
|
|
10843
10853
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "P" })
|
|
10844
10854
|
] })
|
|
10845
10855
|
]
|
|
@@ -10887,7 +10897,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10887
10897
|
}
|
|
10888
10898
|
),
|
|
10889
10899
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
10890
|
-
showMarkers ? "Hide
|
|
10900
|
+
showMarkers ? "Hide your notes" : "Show your notes",
|
|
10891
10901
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "H" })
|
|
10892
10902
|
] })
|
|
10893
10903
|
] }),
|
|
@@ -10907,7 +10917,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10907
10917
|
}
|
|
10908
10918
|
),
|
|
10909
10919
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
10910
|
-
isDesignMode && blankCanvas ? "Copy layout" : "Copy
|
|
10920
|
+
isDesignMode && blankCanvas ? "Copy layout" : "Copy your notes",
|
|
10911
10921
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "C" })
|
|
10912
10922
|
] })
|
|
10913
10923
|
] }),
|
|
@@ -10941,7 +10951,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10941
10951
|
}
|
|
10942
10952
|
),
|
|
10943
10953
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
10944
|
-
"Send
|
|
10954
|
+
"Send to AI",
|
|
10945
10955
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "S" })
|
|
10946
10956
|
] })
|
|
10947
10957
|
]
|
|
@@ -10963,7 +10973,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10963
10973
|
}
|
|
10964
10974
|
),
|
|
10965
10975
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
10966
|
-
"Clear
|
|
10976
|
+
"Clear your notes",
|
|
10967
10977
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "X" })
|
|
10968
10978
|
] })
|
|
10969
10979
|
] }),
|
|
@@ -10985,7 +10995,7 @@ function PageFeedbackToolbarCSS({
|
|
|
10985
10995
|
"span",
|
|
10986
10996
|
{
|
|
10987
10997
|
className: `${styles_module_default4.mcpIndicator} ${styles_module_default4[connectionStatus]} ${showSettings ? styles_module_default4.hidden : ""}`,
|
|
10988
|
-
title: connectionStatus === "connected" ? "
|
|
10998
|
+
title: connectionStatus === "connected" ? "Live AI Connected" : "Connecting to AI..."
|
|
10989
10999
|
}
|
|
10990
11000
|
),
|
|
10991
11001
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.buttonTooltip, children: "Settings" })
|
|
@@ -11014,7 +11024,7 @@ function PageFeedbackToolbarCSS({
|
|
|
11014
11024
|
}
|
|
11015
11025
|
),
|
|
11016
11026
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: styles_module_default4.buttonTooltip, children: [
|
|
11017
|
-
"
|
|
11027
|
+
"Close UI Sniper",
|
|
11018
11028
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: styles_module_default4.shortcut, children: "Esc" })
|
|
11019
11029
|
] })
|
|
11020
11030
|
]
|
|
@@ -11598,7 +11608,7 @@ function PageFeedbackToolbarCSS({
|
|
|
11598
11608
|
element: pendingAnnotation.element,
|
|
11599
11609
|
selectedText: pendingAnnotation.selectedText,
|
|
11600
11610
|
computedStyles: pendingAnnotation.computedStylesObj,
|
|
11601
|
-
placeholder: pendingAnnotation.element === "Area selection" ? "What should
|
|
11611
|
+
placeholder: pendingAnnotation.element === "Area selection" ? "What should we fix here?" : pendingAnnotation.isMultiSelect ? "What should we change about these?" : "Drop a note here...",
|
|
11602
11612
|
onSubmit: addAnnotation,
|
|
11603
11613
|
onCancel: cancelAnnotation,
|
|
11604
11614
|
isExiting: pendingExiting,
|
|
@@ -11698,7 +11708,7 @@ function PageFeedbackToolbarCSS({
|
|
|
11698
11708
|
computedStyles: parseComputedStylesString(
|
|
11699
11709
|
editingAnnotation.computedStyles
|
|
11700
11710
|
),
|
|
11701
|
-
placeholder: "Edit your
|
|
11711
|
+
placeholder: "Edit your note...",
|
|
11702
11712
|
initialValue: editingAnnotation.comment,
|
|
11703
11713
|
submitLabel: "Save",
|
|
11704
11714
|
onSubmit: updateAnnotation2,
|