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.mjs CHANGED
@@ -7809,7 +7809,7 @@ function SettingsPanel({
7809
7809
  /* @__PURE__ */ jsx13("a", { className: styles_module_default9.settingsBrand, href: "https://hara-xy.com", target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ jsx13("svg", { width: "72", height: "16", viewBox: "0 0 500 151", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx13("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" }) }) }),
7810
7810
  /* @__PURE__ */ jsxs12("p", { className: styles_module_default9.settingsVersion, children: [
7811
7811
  "v",
7812
- "3.0.5"
7812
+ "3.0.7"
7813
7813
  ] }),
7814
7814
  /* @__PURE__ */ jsx13(
7815
7815
  "button",
@@ -7832,8 +7832,8 @@ function SettingsPanel({
7832
7832
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsSection, children: [
7833
7833
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsRow, children: [
7834
7834
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsLabel, children: [
7835
- "Output Detail",
7836
- /* @__PURE__ */ jsx13(HelpTooltip, { content: "Controls how much detail is included in the copied output" })
7835
+ "How much info to copy?",
7836
+ /* @__PURE__ */ jsx13(HelpTooltip, { content: "Pick how much context we bundle when you copy an annotation." })
7837
7837
  ] }),
7838
7838
  /* @__PURE__ */ jsxs12(
7839
7839
  "button",
@@ -7876,11 +7876,11 @@ function SettingsPanel({
7876
7876
  className: `${styles_module_default9.settingsRow} ${styles_module_default9.settingsRowMarginTop} ${!isDevMode ? styles_module_default9.settingsRowDisabled : ""}`,
7877
7877
  children: [
7878
7878
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsLabel, children: [
7879
- "React Components",
7879
+ "React Component Names",
7880
7880
  /* @__PURE__ */ jsx13(
7881
7881
  HelpTooltip,
7882
7882
  {
7883
- content: !isDevMode ? "Disabled \u2014 production builds minify component names, making detection unreliable. Use in development mode." : "Include React component names in annotations"
7883
+ 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."
7884
7884
  }
7885
7885
  )
7886
7886
  ] }),
@@ -7901,8 +7901,8 @@ function SettingsPanel({
7901
7901
  className: `${styles_module_default9.settingsRow} ${styles_module_default9.settingsRowMarginTop}`,
7902
7902
  children: [
7903
7903
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsLabel, children: [
7904
- "Hide Until Restart",
7905
- /* @__PURE__ */ jsx13(HelpTooltip, { content: "Hides the toolbar until you open a new tab" })
7904
+ "Hide until next visit",
7905
+ /* @__PURE__ */ jsx13(HelpTooltip, { content: "We'll stay out of your way until you open a new tab or refresh." })
7906
7906
  ] }),
7907
7907
  /* @__PURE__ */ jsx13(
7908
7908
  Switch,
@@ -7923,7 +7923,7 @@ function SettingsPanel({
7923
7923
  "div",
7924
7924
  {
7925
7925
  className: `${styles_module_default9.settingsLabel} ${styles_module_default9.settingsLabelMarker}`,
7926
- children: "Marker Color"
7926
+ children: "Pick your color"
7927
7927
  }
7928
7928
  ),
7929
7929
  /* @__PURE__ */ jsx13("div", { className: styles_module_default9.colorOptions, children: COLOR_OPTIONS.map((color) => /* @__PURE__ */ jsx13(
@@ -7947,17 +7947,17 @@ function SettingsPanel({
7947
7947
  CheckboxField,
7948
7948
  {
7949
7949
  className: "checkbox-field",
7950
- label: "Clear on copy/send",
7950
+ label: "Auto-clear when done",
7951
7951
  checked: settings.autoClearAfterCopy,
7952
7952
  onChange: (e) => onSettingsChange({ autoClearAfterCopy: e.target.checked }),
7953
- tooltip: "Automatically clear annotations after copying"
7953
+ tooltip: "We'll wipe the slate clean right after you copy or send your notes."
7954
7954
  }
7955
7955
  ),
7956
7956
  /* @__PURE__ */ jsx13(
7957
7957
  CheckboxField,
7958
7958
  {
7959
7959
  className: styles_module_default9.checkboxField,
7960
- label: "Block page interactions",
7960
+ label: "Freeze clicks & links",
7961
7961
  checked: settings.blockInteractions,
7962
7962
  onChange: (e) => onSettingsChange({ blockInteractions: e.target.checked })
7963
7963
  }
@@ -7966,10 +7966,10 @@ function SettingsPanel({
7966
7966
  CheckboxField,
7967
7967
  {
7968
7968
  className: styles_module_default9.checkboxField,
7969
- label: "Include screenshots",
7969
+ label: "Grab a screenshot",
7970
7970
  checked: settings.includeScreenshots,
7971
7971
  onChange: (e) => onSettingsChange({ includeScreenshots: e.target.checked }),
7972
- tooltip: "Capture a screenshot of the annotated element"
7972
+ tooltip: "We'll snap a quick picture of the element to show the agent exactly what it looks like."
7973
7973
  }
7974
7974
  )
7975
7975
  ] }),
@@ -7980,7 +7980,7 @@ function SettingsPanel({
7980
7980
  className: styles_module_default9.settingsNavLink,
7981
7981
  onClick: () => onSettingsPageChange("automations"),
7982
7982
  children: [
7983
- /* @__PURE__ */ jsx13("span", { children: "Manage MCP & Webhooks" }),
7983
+ /* @__PURE__ */ jsx13("span", { children: "Connect to AI / Webhooks" }),
7984
7984
  /* @__PURE__ */ jsxs12("span", { className: styles_module_default9.settingsNavLinkRight, children: [
7985
7985
  endpoint && connectionStatus !== "disconnected" && /* @__PURE__ */ jsx13(
7986
7986
  "span",
@@ -8027,7 +8027,7 @@ function SettingsPanel({
8027
8027
  onClick: () => onSettingsPageChange("main"),
8028
8028
  children: [
8029
8029
  /* @__PURE__ */ jsx13(IconChevronLeft, { size: 16 }),
8030
- /* @__PURE__ */ jsx13("span", { children: "Manage MCP & Webhooks" })
8030
+ /* @__PURE__ */ jsx13("span", { children: "Connect to AI / Webhooks" })
8031
8031
  ]
8032
8032
  }
8033
8033
  ),
@@ -8035,8 +8035,8 @@ function SettingsPanel({
8035
8035
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsSection, children: [
8036
8036
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsRow, children: [
8037
8037
  /* @__PURE__ */ jsxs12("span", { className: styles_module_default9.automationHeader, children: [
8038
- "MCP Connection",
8039
- /* @__PURE__ */ jsx13(HelpTooltip, { content: "Connect via Model Context Protocol to let AI agents like Claude Code receive annotations in real-time." })
8038
+ "Live AI Connection (MCP)",
8039
+ /* @__PURE__ */ jsx13(HelpTooltip, { content: "Connect directly to Claude Code or Cursor via MCP so they can see your notes live as you click." })
8040
8040
  ] }),
8041
8041
  endpoint && /* @__PURE__ */ jsx13(
8042
8042
  "div",
@@ -8052,7 +8052,7 @@ function SettingsPanel({
8052
8052
  className: styles_module_default9.automationDescription,
8053
8053
  style: { paddingBottom: 6 },
8054
8054
  children: [
8055
- "MCP connection allows agents to receive and act on annotations.",
8055
+ "Let your AI agent see and respond to your annotations without copy-pasting.",
8056
8056
  " ",
8057
8057
  /* @__PURE__ */ jsx13(
8058
8058
  "a",
@@ -8076,8 +8076,8 @@ function SettingsPanel({
8076
8076
  children: [
8077
8077
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.settingsRow, children: [
8078
8078
  /* @__PURE__ */ jsxs12("span", { className: styles_module_default9.automationHeader, children: [
8079
- "Webhooks",
8080
- /* @__PURE__ */ jsx13(HelpTooltip, { content: "Send annotation data to any URL endpoint when annotations change. Useful for custom integrations." })
8079
+ "Send to your apps",
8080
+ /* @__PURE__ */ jsx13(HelpTooltip, { content: "Want your notes to go to Slack, Jira, or a custom app? Drop a webhook URL here." })
8081
8081
  ] }),
8082
8082
  /* @__PURE__ */ jsxs12("div", { className: styles_module_default9.autoSendContainer, children: [
8083
8083
  /* @__PURE__ */ jsx13(
@@ -8101,7 +8101,7 @@ function SettingsPanel({
8101
8101
  )
8102
8102
  ] })
8103
8103
  ] }),
8104
- /* @__PURE__ */ jsx13("p", { className: styles_module_default9.automationDescription, children: "The webhook URL will receive live annotation changes and annotation data." }),
8104
+ /* @__PURE__ */ jsx13("p", { className: styles_module_default9.automationDescription, children: "We'll post your annotations to this URL automatically." }),
8105
8105
  /* @__PURE__ */ jsx13(
8106
8106
  "textarea",
8107
8107
  {
@@ -10579,6 +10579,16 @@ function PageFeedbackToolbarCSS({
10579
10579
  return;
10580
10580
  }
10581
10581
  if (isTyping || e.metaKey || e.ctrlKey) return;
10582
+ if (e.key === "f" || e.key === "F") {
10583
+ e.preventDefault();
10584
+ hideTooltipsUntilMouseLeave();
10585
+ if (isActive) {
10586
+ deactivate();
10587
+ } else {
10588
+ setIsActive(true);
10589
+ }
10590
+ return;
10591
+ }
10582
10592
  if (e.key === "p" || e.key === "P") {
10583
10593
  e.preventDefault();
10584
10594
  hideTooltipsUntilMouseLeave();
@@ -10711,7 +10721,7 @@ function PageFeedbackToolbarCSS({
10711
10721
  onMouseDown: handleToolbarMouseDown,
10712
10722
  role: !isActive ? "button" : void 0,
10713
10723
  tabIndex: !isActive ? 0 : -1,
10714
- title: !isActive ? "Start feedback mode" : void 0,
10724
+ title: !isActive ? "Start taking notes" : void 0,
10715
10725
  children: [
10716
10726
  /* @__PURE__ */ jsxs13(
10717
10727
  "div",
@@ -10755,7 +10765,7 @@ function PageFeedbackToolbarCSS({
10755
10765
  }
10756
10766
  ),
10757
10767
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10758
- isFrozen ? "Resume animations" : "Pause animations",
10768
+ isFrozen ? "Unfreeze animations" : "Freeze animations",
10759
10769
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "P" })
10760
10770
  ] })
10761
10771
  ]
@@ -10803,7 +10813,7 @@ function PageFeedbackToolbarCSS({
10803
10813
  }
10804
10814
  ),
10805
10815
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10806
- showMarkers ? "Hide markers" : "Show markers",
10816
+ showMarkers ? "Hide your notes" : "Show your notes",
10807
10817
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "H" })
10808
10818
  ] })
10809
10819
  ] }),
@@ -10823,7 +10833,7 @@ function PageFeedbackToolbarCSS({
10823
10833
  }
10824
10834
  ),
10825
10835
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10826
- isDesignMode && blankCanvas ? "Copy layout" : "Copy feedback",
10836
+ isDesignMode && blankCanvas ? "Copy layout" : "Copy your notes",
10827
10837
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "C" })
10828
10838
  ] })
10829
10839
  ] }),
@@ -10857,7 +10867,7 @@ function PageFeedbackToolbarCSS({
10857
10867
  }
10858
10868
  ),
10859
10869
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10860
- "Send Annotations",
10870
+ "Send to AI",
10861
10871
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "S" })
10862
10872
  ] })
10863
10873
  ]
@@ -10879,7 +10889,7 @@ function PageFeedbackToolbarCSS({
10879
10889
  }
10880
10890
  ),
10881
10891
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10882
- "Clear all",
10892
+ "Clear your notes",
10883
10893
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "X" })
10884
10894
  ] })
10885
10895
  ] }),
@@ -10901,7 +10911,7 @@ function PageFeedbackToolbarCSS({
10901
10911
  "span",
10902
10912
  {
10903
10913
  className: `${styles_module_default4.mcpIndicator} ${styles_module_default4[connectionStatus]} ${showSettings ? styles_module_default4.hidden : ""}`,
10904
- title: connectionStatus === "connected" ? "MCP Connected" : "MCP Connecting..."
10914
+ title: connectionStatus === "connected" ? "Live AI Connected" : "Connecting to AI..."
10905
10915
  }
10906
10916
  ),
10907
10917
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.buttonTooltip, children: "Settings" })
@@ -10930,7 +10940,7 @@ function PageFeedbackToolbarCSS({
10930
10940
  }
10931
10941
  ),
10932
10942
  /* @__PURE__ */ jsxs13("span", { className: styles_module_default4.buttonTooltip, children: [
10933
- "Exit",
10943
+ "Close UI Sniper",
10934
10944
  /* @__PURE__ */ jsx14("span", { className: styles_module_default4.shortcut, children: "Esc" })
10935
10945
  ] })
10936
10946
  ]
@@ -11514,7 +11524,7 @@ function PageFeedbackToolbarCSS({
11514
11524
  element: pendingAnnotation.element,
11515
11525
  selectedText: pendingAnnotation.selectedText,
11516
11526
  computedStyles: pendingAnnotation.computedStylesObj,
11517
- placeholder: pendingAnnotation.element === "Area selection" ? "What should change in this area?" : pendingAnnotation.isMultiSelect ? "Feedback for this group of elements..." : "What should change?",
11527
+ placeholder: pendingAnnotation.element === "Area selection" ? "What should we fix here?" : pendingAnnotation.isMultiSelect ? "What should we change about these?" : "Drop a note here...",
11518
11528
  onSubmit: addAnnotation,
11519
11529
  onCancel: cancelAnnotation,
11520
11530
  isExiting: pendingExiting,
@@ -11614,7 +11624,7 @@ function PageFeedbackToolbarCSS({
11614
11624
  computedStyles: parseComputedStylesString(
11615
11625
  editingAnnotation.computedStyles
11616
11626
  ),
11617
- placeholder: "Edit your feedback...",
11627
+ placeholder: "Edit your note...",
11618
11628
  initialValue: editingAnnotation.comment,
11619
11629
  submitLabel: "Save",
11620
11630
  onSubmit: updateAnnotation2,