@hexclave/next 1.0.14 → 1.0.16

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.
Files changed (220) hide show
  1. package/dist/clickmap/clickmap-core.d.ts +15 -0
  2. package/dist/clickmap/clickmap-core.d.ts.map +1 -0
  3. package/dist/clickmap/clickmap-core.js +1527 -0
  4. package/dist/clickmap/clickmap-core.js.map +1 -0
  5. package/dist/clickmap/clickmap-styles.d.ts +5 -0
  6. package/dist/clickmap/clickmap-styles.d.ts.map +1 -0
  7. package/dist/clickmap/clickmap-styles.js +1095 -0
  8. package/dist/clickmap/clickmap-styles.js.map +1 -0
  9. package/dist/clickmap/index.d.ts +16 -0
  10. package/dist/clickmap/index.d.ts.map +1 -0
  11. package/dist/clickmap/index.js +74 -0
  12. package/dist/clickmap/index.js.map +1 -0
  13. package/dist/components/api-key-dialogs.d.ts +1 -1
  14. package/dist/components/api-key-dialogs.js +5 -5
  15. package/dist/components/credential-sign-in.js +3 -3
  16. package/dist/components/credential-sign-up.js +5 -5
  17. package/dist/components/elements/sidebar-layout.js +1 -1
  18. package/dist/components/elements/user-avatar.js +1 -1
  19. package/dist/components/magic-link-sign-in.js +5 -5
  20. package/dist/components/message-cards/known-error-message-card.d.ts +1 -1
  21. package/dist/components/message-cards/predefined-message-card.js +1 -1
  22. package/dist/components/passkey-button.js +1 -1
  23. package/dist/components/profile-image-editor.js +1 -1
  24. package/dist/components/team-icon.js +1 -1
  25. package/dist/components/team-switcher.js +2 -2
  26. package/dist/components/user-button.js +1 -1
  27. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +1 -1
  28. package/dist/components-page/account-settings/editable-text.js +1 -1
  29. package/dist/components-page/account-settings/email-and-auth/emails-section.js +3 -3
  30. package/dist/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
  31. package/dist/components-page/account-settings/email-and-auth/password-section.js +3 -3
  32. package/dist/components-page/account-settings/teams/team-api-keys-section.js +1 -1
  33. package/dist/components-page/account-settings/teams/team-creation-page.js +3 -3
  34. package/dist/components-page/account-settings/teams/team-member-invitation-section.js +4 -4
  35. package/dist/components-page/account-settings.js +3 -3
  36. package/dist/components-page/auth-page.js +2 -2
  37. package/dist/components-page/cli-auth-confirm.js +2 -2
  38. package/dist/components-page/cli-auth-confirm.test.js +1 -1
  39. package/dist/components-page/email-verification.js +1 -1
  40. package/dist/components-page/forgot-password.d.ts.map +1 -1
  41. package/dist/components-page/forgot-password.js +6 -7
  42. package/dist/components-page/forgot-password.js.map +1 -1
  43. package/dist/components-page/hexclave-handler-client.d.ts +1 -1
  44. package/dist/components-page/hexclave-handler-client.js +2 -2
  45. package/dist/components-page/magic-link-callback.js +1 -1
  46. package/dist/components-page/mfa.js +7 -22
  47. package/dist/components-page/mfa.js.map +1 -1
  48. package/dist/components-page/oauth-callback.js +2 -2
  49. package/dist/components-page/onboarding.js +4 -4
  50. package/dist/components-page/password-reset.d.ts.map +1 -1
  51. package/dist/components-page/password-reset.js +12 -14
  52. package/dist/components-page/password-reset.js.map +1 -1
  53. package/dist/components-page/team-creation.js +5 -5
  54. package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
  55. package/dist/dev-tool/dev-tool-core.js +258 -262
  56. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  57. package/dist/dev-tool/dev-tool-styles.d.ts +1 -1
  58. package/dist/dev-tool/dev-tool-styles.d.ts.map +1 -1
  59. package/dist/dev-tool/dev-tool-styles.js +13 -143
  60. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  61. package/dist/dev-tool/index.d.ts.map +1 -1
  62. package/dist/dev-tool/index.js +4 -11
  63. package/dist/dev-tool/index.js.map +1 -1
  64. package/dist/esm/clickmap/clickmap-core.d.ts +15 -0
  65. package/dist/esm/clickmap/clickmap-core.d.ts.map +1 -0
  66. package/dist/esm/clickmap/clickmap-core.js +1525 -0
  67. package/dist/esm/clickmap/clickmap-core.js.map +1 -0
  68. package/dist/esm/clickmap/clickmap-styles.d.ts +5 -0
  69. package/dist/esm/clickmap/clickmap-styles.d.ts.map +1 -0
  70. package/dist/esm/clickmap/clickmap-styles.js +1093 -0
  71. package/dist/esm/clickmap/clickmap-styles.js.map +1 -0
  72. package/dist/esm/clickmap/index.d.ts +16 -0
  73. package/dist/esm/clickmap/index.d.ts.map +1 -0
  74. package/dist/esm/clickmap/index.js +72 -0
  75. package/dist/esm/clickmap/index.js.map +1 -0
  76. package/dist/esm/components/api-key-dialogs.d.ts +1 -1
  77. package/dist/esm/components/api-key-dialogs.js +5 -5
  78. package/dist/esm/components/credential-sign-in.js +3 -3
  79. package/dist/esm/components/credential-sign-up.js +5 -5
  80. package/dist/esm/components/elements/sidebar-layout.js +1 -1
  81. package/dist/esm/components/elements/user-avatar.js +1 -1
  82. package/dist/esm/components/magic-link-sign-in.js +5 -5
  83. package/dist/esm/components/message-cards/predefined-message-card.js +1 -1
  84. package/dist/esm/components/passkey-button.js +1 -1
  85. package/dist/esm/components/profile-image-editor.js +1 -1
  86. package/dist/esm/components/team-icon.js +1 -1
  87. package/dist/esm/components/team-switcher.js +2 -2
  88. package/dist/esm/components/user-button.js +1 -1
  89. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js +1 -1
  90. package/dist/esm/components-page/account-settings/editable-text.js +1 -1
  91. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +3 -3
  92. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
  93. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +3 -3
  94. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +1 -1
  95. package/dist/esm/components-page/account-settings/teams/team-creation-page.js +3 -3
  96. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +4 -4
  97. package/dist/esm/components-page/account-settings.d.ts +1 -1
  98. package/dist/esm/components-page/account-settings.js +3 -3
  99. package/dist/esm/components-page/auth-page.js +2 -2
  100. package/dist/esm/components-page/cli-auth-confirm.js +2 -2
  101. package/dist/esm/components-page/cli-auth-confirm.test.js +1 -1
  102. package/dist/esm/components-page/email-verification.js +1 -1
  103. package/dist/esm/components-page/forgot-password.d.ts.map +1 -1
  104. package/dist/esm/components-page/forgot-password.js +6 -7
  105. package/dist/esm/components-page/forgot-password.js.map +1 -1
  106. package/dist/esm/components-page/hexclave-handler-client.d.ts +1 -1
  107. package/dist/esm/components-page/hexclave-handler-client.js +2 -2
  108. package/dist/esm/components-page/magic-link-callback.js +1 -1
  109. package/dist/esm/components-page/mfa.js +7 -22
  110. package/dist/esm/components-page/mfa.js.map +1 -1
  111. package/dist/esm/components-page/oauth-callback.js +2 -2
  112. package/dist/esm/components-page/onboarding.js +4 -4
  113. package/dist/esm/components-page/password-reset.d.ts.map +1 -1
  114. package/dist/esm/components-page/password-reset.js +11 -13
  115. package/dist/esm/components-page/password-reset.js.map +1 -1
  116. package/dist/esm/components-page/team-creation.js +5 -5
  117. package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
  118. package/dist/esm/dev-tool/dev-tool-core.js +35 -39
  119. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  120. package/dist/esm/dev-tool/dev-tool-styles.d.ts +1 -1
  121. package/dist/esm/dev-tool/dev-tool-styles.d.ts.map +1 -1
  122. package/dist/esm/dev-tool/dev-tool-styles.js +13 -143
  123. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  124. package/dist/esm/dev-tool/index.d.ts.map +1 -1
  125. package/dist/esm/dev-tool/index.js +1 -8
  126. package/dist/esm/dev-tool/index.js.map +1 -1
  127. package/dist/esm/generated/global-css.d.ts +1 -1
  128. package/dist/esm/generated/global-css.js +1 -1
  129. package/dist/esm/generated/global-css.js.map +1 -1
  130. package/dist/esm/generated/quetzal-translations.d.ts +2 -2
  131. package/dist/esm/in-page-ui/base-styles.d.ts +5 -0
  132. package/dist/esm/in-page-ui/base-styles.d.ts.map +1 -0
  133. package/dist/esm/in-page-ui/base-styles.js +166 -0
  134. package/dist/esm/in-page-ui/base-styles.js.map +1 -0
  135. package/dist/esm/in-page-ui/dom.d.ts +15 -0
  136. package/dist/esm/in-page-ui/dom.d.ts.map +1 -0
  137. package/dist/esm/in-page-ui/dom.js +44 -0
  138. package/dist/esm/in-page-ui/dom.js.map +1 -0
  139. package/dist/esm/lib/auth.js +2 -2
  140. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +6 -2
  141. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  142. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +21 -1
  143. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  144. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +1 -1
  145. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  146. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +4 -2
  147. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  148. package/dist/esm/lib/hexclave-app/apps/implementations/common.js +2 -2
  149. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts +13 -0
  150. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  151. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js +146 -14
  152. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  153. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js +221 -0
  154. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  155. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +2 -2
  156. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js +1 -1
  157. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts +5 -0
  158. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -1
  159. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  160. package/dist/esm/lib/hexclave-app/users/index.d.ts +1 -1
  161. package/dist/esm/providers/theme-provider.js +1 -1
  162. package/dist/esm/providers/translation-provider.js +1 -1
  163. package/dist/generated/global-css.d.ts +1 -1
  164. package/dist/generated/global-css.js +1 -1
  165. package/dist/generated/global-css.js.map +1 -1
  166. package/dist/generated/quetzal-translations.d.ts +2 -2
  167. package/dist/in-page-ui/base-styles.d.ts +5 -0
  168. package/dist/in-page-ui/base-styles.d.ts.map +1 -0
  169. package/dist/in-page-ui/base-styles.js +168 -0
  170. package/dist/in-page-ui/base-styles.js.map +1 -0
  171. package/dist/in-page-ui/dom.d.ts +15 -0
  172. package/dist/in-page-ui/dom.d.ts.map +1 -0
  173. package/dist/in-page-ui/dom.js +51 -0
  174. package/dist/in-page-ui/dom.js.map +1 -0
  175. package/dist/index.d.ts +1 -1
  176. package/dist/integrations/convex/component/convex.config.d.ts +1 -1
  177. package/dist/lib/auth.js +2 -2
  178. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +5 -1
  179. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  180. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +21 -1
  181. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  182. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  183. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +4 -2
  184. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  185. package/dist/lib/hexclave-app/apps/implementations/common.js +2 -2
  186. package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts +13 -0
  187. package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  188. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js +146 -14
  189. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  190. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js +221 -0
  191. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  192. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +1 -1
  193. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js +1 -1
  194. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +5 -0
  195. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -1
  196. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  197. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +1 -1
  198. package/dist/lib/hexclave-app/common.d.ts +1 -1
  199. package/dist/providers/hexclave-provider-client.d.ts +1 -1
  200. package/dist/providers/theme-provider.js +1 -1
  201. package/dist/providers/translation-provider.js +1 -1
  202. package/dist/{storage-CKzvsBxG.d.ts → storage-ksajV_p6.d.ts} +1 -1
  203. package/dist/{storage-CKzvsBxG.d.ts.map → storage-ksajV_p6.d.ts.map} +1 -1
  204. package/package.json +4 -4
  205. package/src/clickmap/clickmap-core.ts +1997 -0
  206. package/src/clickmap/clickmap-styles.ts +1102 -0
  207. package/src/clickmap/index.ts +95 -0
  208. package/src/components-page/forgot-password.tsx +1 -2
  209. package/src/components-page/mfa.tsx +12 -21
  210. package/src/components-page/password-reset.tsx +4 -6
  211. package/src/dev-tool/dev-tool-core.ts +38 -65
  212. package/src/dev-tool/dev-tool-styles.ts +13 -142
  213. package/src/dev-tool/index.ts +1 -14
  214. package/src/in-page-ui/base-styles.ts +171 -0
  215. package/src/in-page-ui/dom.ts +80 -0
  216. package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +23 -1
  217. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +7 -0
  218. package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +287 -0
  219. package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +226 -16
  220. package/src/lib/hexclave-app/apps/interfaces/admin-app.ts +3 -0
@@ -0,0 +1,1095 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ let ___in_page_ui_base_styles_js = require("../in-page-ui/base-styles.js");
4
+
5
+ //#region src/clickmap/clickmap-styles.ts
6
+ const clickmapCSS = (0, ___in_page_ui_base_styles_js.getInPageUiBaseCSS)(".hexclave-clickmap") + `
7
+ /* Bottom-centered floating panel (the clickmap's only chrome) */
8
+ .hexclave-clickmap .sdt-hm-panel {
9
+ position: fixed;
10
+ left: 50%;
11
+ bottom: 18px;
12
+ z-index: 2147483647;
13
+ width: min(680px, calc(100vw - 24px));
14
+ max-width: calc(100vw - 24px);
15
+ max-height: calc(100vh - 36px);
16
+ transform: translateX(-50%);
17
+ display: flex;
18
+ flex-direction: column;
19
+ overflow: visible;
20
+ }
21
+
22
+ .hexclave-clickmap .sdt-hm-panel-inner {
23
+ display: flex;
24
+ flex-direction: column;
25
+ width: 100%;
26
+ animation: sdt-hm-panel-enter 0.2s ease-out;
27
+ }
28
+
29
+ @keyframes sdt-hm-panel-enter {
30
+ from {
31
+ opacity: 0;
32
+ transform: scale(0.95) translateY(8px);
33
+ }
34
+ to {
35
+ opacity: 1;
36
+ transform: scale(1) translateY(0);
37
+ }
38
+ }
39
+
40
+ /* --- Clickmaps --- */
41
+
42
+ .hexclave-clickmap .sdt-hm {
43
+ height: auto;
44
+ display: flex;
45
+ flex-direction: column;
46
+ gap: 8px;
47
+ overflow: visible;
48
+ background: transparent;
49
+ }
50
+
51
+ /* One spacing rhythm across the pill: a tight 2px base gap so adjacent
52
+ controls read as clusters, with the wider between-group separation
53
+ coming only from the metrics block's own padding (and the title's
54
+ trailing padding). Item-level whitespace inside ghost icon buttons
55
+ already provides the rest of the breathing room. */
56
+ .hexclave-clickmap .sdt-hm-toolbar {
57
+ position: relative;
58
+ z-index: 4;
59
+ display: flex;
60
+ align-items: center;
61
+ gap: 2px;
62
+ min-height: 44px;
63
+ padding: 6px 8px;
64
+ border: 1px solid var(--sdt-border);
65
+ border-radius: 999px;
66
+ background: var(--sdt-overlay-bg);
67
+ box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
68
+ backdrop-filter: blur(18px);
69
+ }
70
+
71
+ .hexclave-clickmap .sdt-hm-toolbar-title {
72
+ flex-shrink: 0;
73
+ padding: 0 6px 0 2px;
74
+ font-size: 13px;
75
+ font-weight: 650;
76
+ color: var(--sdt-text);
77
+ line-height: 1.1;
78
+ }
79
+
80
+ .hexclave-clickmap .sdt-hm-toolbar-filters {
81
+ flex: 1;
82
+ min-width: 0;
83
+ display: flex;
84
+ align-items: center;
85
+ gap: 6px;
86
+ }
87
+
88
+ .hexclave-clickmap .sdt-hm-toolbar-filters .sdt-hm-filter-input {
89
+ height: 28px;
90
+ border-radius: 999px;
91
+ font-size: 11.5px;
92
+ }
93
+
94
+ .hexclave-clickmap .sdt-hm-toolbar-filters > .sdt-hm-filter-input {
95
+ flex-shrink: 0;
96
+ width: auto;
97
+ max-width: 120px;
98
+ padding-right: 4px;
99
+ }
100
+
101
+ .hexclave-clickmap .sdt-hm-toolbar-url {
102
+ position: relative;
103
+ flex: 1;
104
+ min-width: 0;
105
+ display: flex;
106
+ align-items: center;
107
+ /* The revert/info ghost buttons hug the input they belong to. */
108
+ gap: 2px;
109
+ }
110
+
111
+ .hexclave-clickmap .sdt-hm-toolbar-url .sdt-hm-filter-input {
112
+ flex: 1;
113
+ }
114
+
115
+ .hexclave-clickmap .sdt-hm-mode {
116
+ flex-shrink: 0;
117
+ display: inline-flex;
118
+ align-items: center;
119
+ gap: 2px;
120
+ padding: 2px;
121
+ border-radius: 999px;
122
+ background: var(--sdt-bg-elevated);
123
+ border: 1px solid var(--sdt-border-subtle);
124
+ }
125
+
126
+ .hexclave-clickmap .sdt-hm-mode-btn {
127
+ min-width: 24px;
128
+ height: 20px;
129
+ display: inline-flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ border: 0;
133
+ border-radius: 999px;
134
+ background: transparent;
135
+ color: var(--sdt-text-tertiary);
136
+ padding: 0 7px;
137
+ font: inherit;
138
+ font-family: var(--sdt-font-mono, ui-monospace, monospace);
139
+ font-size: 11px;
140
+ font-weight: 600;
141
+ cursor: pointer;
142
+ }
143
+
144
+ .hexclave-clickmap .sdt-hm-mode-btn:not(.sdt-hm-mode-btn-active):hover {
145
+ color: var(--sdt-text);
146
+ }
147
+
148
+ .hexclave-clickmap .sdt-hm-mode-btn-active {
149
+ background: var(--sdt-accent);
150
+ color: white;
151
+ }
152
+
153
+ .hexclave-clickmap .sdt-hm-filter-input-error,
154
+ .hexclave-clickmap .sdt-hm-filter-input-error:focus {
155
+ border-color: var(--sdt-error);
156
+ }
157
+
158
+ .hexclave-clickmap .sdt-hm-filter-info {
159
+ flex-shrink: 0;
160
+ width: 20px;
161
+ height: 20px;
162
+ display: inline-flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ border: 0;
166
+ border-radius: 999px;
167
+ background: transparent;
168
+ color: var(--sdt-text-tertiary);
169
+ cursor: pointer;
170
+ padding: 0;
171
+ }
172
+
173
+ .hexclave-clickmap .sdt-hm-filter-info:hover,
174
+ .hexclave-clickmap .sdt-hm-filter-info[aria-expanded="true"] {
175
+ background: var(--sdt-bg-hover);
176
+ color: var(--sdt-text);
177
+ }
178
+
179
+ .hexclave-clickmap .sdt-hm-url-help {
180
+ display: none;
181
+ position: absolute;
182
+ bottom: calc(100% + 10px);
183
+ right: 0;
184
+ z-index: 6;
185
+ width: 320px;
186
+ max-width: min(320px, calc(100vw - 32px));
187
+ box-sizing: border-box;
188
+ padding: 14px;
189
+ border: 1px solid var(--sdt-border);
190
+ border-radius: var(--sdt-radius-lg);
191
+ background: var(--sdt-bg);
192
+ box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
193
+ backdrop-filter: blur(18px);
194
+ cursor: default;
195
+ }
196
+
197
+ .hexclave-clickmap .sdt-hm-url-help-open {
198
+ display: block;
199
+ }
200
+
201
+ .hexclave-clickmap .sdt-hm-url-help-title {
202
+ font-size: 12px;
203
+ font-weight: 650;
204
+ color: var(--sdt-text);
205
+ margin-bottom: 6px;
206
+ }
207
+
208
+ .hexclave-clickmap .sdt-hm-url-help-body {
209
+ font-size: 11.5px;
210
+ line-height: 1.5;
211
+ color: var(--sdt-text-secondary);
212
+ }
213
+
214
+ .hexclave-clickmap .sdt-hm-url-help-rows {
215
+ display: flex;
216
+ flex-direction: column;
217
+ gap: 6px;
218
+ margin-top: 12px;
219
+ padding-top: 12px;
220
+ border-top: 1px solid var(--sdt-border-subtle);
221
+ }
222
+
223
+ .hexclave-clickmap .sdt-hm-url-help-row {
224
+ display: flex;
225
+ align-items: baseline;
226
+ gap: 10px;
227
+ }
228
+
229
+ .hexclave-clickmap .sdt-hm-url-help-code {
230
+ flex-shrink: 0;
231
+ border-radius: var(--sdt-radius);
232
+ background: var(--sdt-bg-elevated);
233
+ border: 1px solid var(--sdt-border-subtle);
234
+ padding: 1px 6px;
235
+ font-family: var(--sdt-font-mono, ui-monospace, monospace);
236
+ font-size: 11px;
237
+ color: var(--sdt-text);
238
+ white-space: nowrap;
239
+ }
240
+
241
+ .hexclave-clickmap .sdt-hm-url-help-desc {
242
+ font-size: 11px;
243
+ line-height: 1.4;
244
+ color: var(--sdt-text-secondary);
245
+ }
246
+
247
+ .hexclave-clickmap .sdt-hm-toolbar-metrics {
248
+ flex-shrink: 0;
249
+ display: flex;
250
+ align-items: center;
251
+ gap: 8px;
252
+ /* Side padding is what separates the metrics group from the url field
253
+ on its left and the toggle cluster on its right. */
254
+ padding: 0 8px;
255
+ }
256
+
257
+ .hexclave-clickmap .sdt-hm-toolbar-metric {
258
+ display: inline-flex;
259
+ align-items: center;
260
+ gap: 4px;
261
+ color: var(--sdt-text-secondary);
262
+ }
263
+
264
+ .hexclave-clickmap .sdt-hm-toolbar-metric-value {
265
+ font-size: 12px;
266
+ font-weight: 700;
267
+ color: var(--sdt-text);
268
+ font-variant-numeric: tabular-nums;
269
+ }
270
+
271
+ .hexclave-clickmap .sdt-hm-toolbar-metric-icon {
272
+ display: inline-flex;
273
+ align-items: center;
274
+ color: var(--sdt-text-tertiary);
275
+ }
276
+
277
+ .hexclave-clickmap .sdt-hm-icon-btn {
278
+ width: 28px;
279
+ height: 28px;
280
+ display: inline-flex;
281
+ align-items: center;
282
+ justify-content: center;
283
+ flex-shrink: 0;
284
+ border: 0;
285
+ border-radius: 999px;
286
+ background: transparent;
287
+ color: var(--sdt-text-secondary);
288
+ cursor: pointer;
289
+ }
290
+
291
+ .hexclave-clickmap .sdt-hm-icon-btn:hover {
292
+ background: var(--sdt-bg-hover);
293
+ color: var(--sdt-text);
294
+ }
295
+
296
+ /* Presses must always target the button itself: the chevron svg is replaced
297
+ when the panel toggles, and a press whose mousedown landed on a since-
298
+ detached svg never produces a click. */
299
+ .hexclave-clickmap .sdt-hm-icon-btn svg {
300
+ pointer-events: none;
301
+ }
302
+
303
+ /* Styled tooltips for toolbar controls, driven by a data-sdt-tip attribute
304
+ instead of native title so they match the overlay theme and also show on
305
+ keyboard focus. The hover transition-delay acts as a hover-intent gate so
306
+ tooltips don't flash while the pointer crosses the toolbar; hover-out has
307
+ no delay, so they dismiss instantly. */
308
+ .hexclave-clickmap [data-sdt-tip] {
309
+ position: relative;
310
+ }
311
+
312
+ .hexclave-clickmap [data-sdt-tip]::after {
313
+ content: attr(data-sdt-tip);
314
+ position: absolute;
315
+ bottom: calc(100% + 8px);
316
+ left: 50%;
317
+ transform: translateX(-50%) translateY(2px);
318
+ padding: 4px 8px;
319
+ border: 1px solid var(--sdt-border);
320
+ border-radius: var(--sdt-radius);
321
+ background: var(--sdt-overlay-bg);
322
+ backdrop-filter: blur(18px);
323
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
324
+ color: var(--sdt-text);
325
+ font-size: 11px;
326
+ font-weight: 600;
327
+ line-height: 1.2;
328
+ white-space: nowrap;
329
+ pointer-events: none;
330
+ opacity: 0;
331
+ transition: opacity 0.12s ease, transform 0.12s ease;
332
+ z-index: 3;
333
+ }
334
+
335
+ .hexclave-clickmap [data-sdt-tip]:hover::after,
336
+ .hexclave-clickmap [data-sdt-tip]:focus-visible::after {
337
+ opacity: 1;
338
+ transform: translateX(-50%) translateY(0);
339
+ transition-delay: 0.35s;
340
+ }
341
+
342
+ /* The info button's tooltip would sit on top of its own help popover. */
343
+ .hexclave-clickmap .sdt-hm-filter-info[aria-expanded="true"]::after {
344
+ opacity: 0;
345
+ }
346
+
347
+ .hexclave-clickmap .sdt-hm-details {
348
+ display: none;
349
+ position: relative;
350
+ z-index: 1;
351
+ max-height: min(460px, calc(100vh - 98px));
352
+ overflow: hidden;
353
+ border: 1px solid var(--sdt-border);
354
+ border-radius: var(--sdt-radius-lg);
355
+ background: var(--sdt-bg);
356
+ box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
357
+ }
358
+
359
+ .hexclave-clickmap .sdt-hm-expanded .sdt-hm-details {
360
+ display: flex;
361
+ flex-direction: column;
362
+ }
363
+
364
+ .hexclave-clickmap .sdt-hm-head {
365
+ flex-shrink: 0;
366
+ display: flex;
367
+ flex-direction: column;
368
+ gap: 14px;
369
+ padding: 16px;
370
+ border-bottom: 1px solid var(--sdt-border-subtle);
371
+ }
372
+
373
+ .hexclave-clickmap .sdt-hm-filters {
374
+ display: flex;
375
+ flex-direction: column;
376
+ gap: 12px;
377
+ }
378
+
379
+ .hexclave-clickmap .sdt-hm-filter-row {
380
+ display: grid;
381
+ grid-template-columns: repeat(2, minmax(0, 1fr));
382
+ gap: 12px;
383
+ }
384
+
385
+ .hexclave-clickmap .sdt-hm-seg {
386
+ position: relative;
387
+ display: flex;
388
+ align-items: stretch;
389
+ gap: 2px;
390
+ height: 30px;
391
+ padding: 3px;
392
+ border-radius: var(--sdt-radius);
393
+ border: 1px solid var(--sdt-border-subtle);
394
+ background: var(--sdt-bg-elevated);
395
+ box-sizing: border-box;
396
+ }
397
+
398
+ .hexclave-clickmap .sdt-hm-seg-thumb {
399
+ position: absolute;
400
+ top: 3px;
401
+ left: 0;
402
+ bottom: 3px;
403
+ width: 0;
404
+ border-radius: calc(var(--sdt-radius) - 2px);
405
+ background: var(--sdt-bg);
406
+ border: 1px solid var(--sdt-border);
407
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
408
+ transform: translateX(0);
409
+ transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), width 220ms cubic-bezier(0.22, 1, 0.36, 1);
410
+ pointer-events: none;
411
+ }
412
+
413
+ .hexclave-clickmap .sdt-hm-seg-btn {
414
+ position: relative;
415
+ z-index: 1;
416
+ flex: 1 1 0;
417
+ min-width: 0;
418
+ border: 0;
419
+ background: transparent;
420
+ color: var(--sdt-text-tertiary);
421
+ font: inherit;
422
+ font-family: var(--sdt-font);
423
+ font-size: 11px;
424
+ font-weight: 600;
425
+ line-height: 1;
426
+ padding: 0 4px;
427
+ border-radius: calc(var(--sdt-radius) - 2px);
428
+ cursor: pointer;
429
+ white-space: nowrap;
430
+ overflow: hidden;
431
+ text-overflow: ellipsis;
432
+ transition: color 160ms ease;
433
+ }
434
+
435
+ .hexclave-clickmap .sdt-hm-seg-btn:hover {
436
+ color: var(--sdt-text-secondary);
437
+ }
438
+
439
+ .hexclave-clickmap .sdt-hm-seg-btn[aria-checked="true"] {
440
+ color: var(--sdt-text);
441
+ }
442
+
443
+ .hexclave-clickmap .sdt-hm-seg-btn:focus-visible {
444
+ outline: 2px solid var(--sdt-accent);
445
+ outline-offset: -2px;
446
+ }
447
+
448
+ @media (prefers-reduced-motion: reduce) {
449
+ .hexclave-clickmap .sdt-hm-seg-thumb {
450
+ transition: none;
451
+ }
452
+ }
453
+
454
+ .hexclave-clickmap .sdt-hm-filter-field {
455
+ display: flex;
456
+ flex-direction: column;
457
+ gap: 5px;
458
+ min-width: 0;
459
+ }
460
+
461
+ .hexclave-clickmap .sdt-hm-filter-label-row {
462
+ display: flex;
463
+ align-items: center;
464
+ justify-content: space-between;
465
+ gap: 6px;
466
+ min-height: 13px;
467
+ }
468
+
469
+ .hexclave-clickmap .sdt-hm-filter-label {
470
+ font-size: 10px;
471
+ font-weight: 600;
472
+ text-transform: uppercase;
473
+ letter-spacing: 0.04em;
474
+ color: var(--sdt-text-tertiary);
475
+ }
476
+
477
+ .hexclave-clickmap .sdt-hm-filter-reset {
478
+ display: none;
479
+ flex-shrink: 0;
480
+ width: 20px;
481
+ height: 20px;
482
+ align-items: center;
483
+ justify-content: center;
484
+ border: 0;
485
+ border-radius: 999px;
486
+ background: transparent;
487
+ padding: 0;
488
+ color: var(--sdt-accent);
489
+ cursor: pointer;
490
+ }
491
+
492
+ .hexclave-clickmap .sdt-hm-filter-reset:hover {
493
+ background: var(--sdt-bg-hover);
494
+ color: var(--sdt-accent-hover);
495
+ }
496
+
497
+ .hexclave-clickmap .sdt-hm-filter-reset-visible {
498
+ display: inline-flex;
499
+ }
500
+
501
+ .hexclave-clickmap .sdt-hm-filter-input {
502
+ height: 30px;
503
+ border-radius: var(--sdt-radius);
504
+ border: 1px solid var(--sdt-border-subtle);
505
+ background: var(--sdt-bg-elevated);
506
+ color: var(--sdt-text);
507
+ padding: 0 9px;
508
+ font: inherit;
509
+ font-size: 12px;
510
+ font-family: var(--sdt-font);
511
+ min-width: 0;
512
+ width: 100%;
513
+ box-sizing: border-box;
514
+ }
515
+
516
+ .hexclave-clickmap .sdt-hm-filter-input:focus {
517
+ outline: none;
518
+ border-color: var(--sdt-accent);
519
+ }
520
+
521
+ .hexclave-clickmap .sdt-hm-actions {
522
+ display: flex;
523
+ align-items: stretch;
524
+ gap: 10px;
525
+ }
526
+
527
+ .hexclave-clickmap .sdt-hm-actions .sdt-hm-btn {
528
+ height: auto;
529
+ flex-shrink: 0;
530
+ white-space: nowrap;
531
+ padding: 0 16px;
532
+ }
533
+
534
+ .hexclave-clickmap .sdt-hm-btn {
535
+ height: 30px;
536
+ border-radius: var(--sdt-radius);
537
+ border: 1px solid var(--sdt-border-subtle);
538
+ background: var(--sdt-bg-elevated);
539
+ color: var(--sdt-text-secondary);
540
+ padding: 0 10px;
541
+ font: inherit;
542
+ font-size: 12px;
543
+ cursor: pointer;
544
+ transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
545
+ }
546
+
547
+ .hexclave-clickmap .sdt-hm-btn:hover {
548
+ background: var(--sdt-bg-hover);
549
+ color: var(--sdt-text);
550
+ transition: none;
551
+ }
552
+
553
+ .hexclave-clickmap .sdt-hm-btn-primary {
554
+ background: var(--sdt-accent);
555
+ border-color: var(--sdt-accent);
556
+ color: white;
557
+ }
558
+
559
+ .hexclave-clickmap .sdt-hm-btn-primary:hover {
560
+ background: var(--sdt-accent);
561
+ border-color: var(--sdt-accent);
562
+ color: white;
563
+ transition: none;
564
+ }
565
+
566
+ .hexclave-clickmap .sdt-hm-btn-sm {
567
+ height: 24px;
568
+ flex-shrink: 0;
569
+ border-radius: 999px;
570
+ padding: 0 10px;
571
+ font-size: 11px;
572
+ font-weight: 600;
573
+ white-space: nowrap;
574
+ }
575
+
576
+ .hexclave-clickmap .sdt-hm-btn:disabled {
577
+ opacity: 0.45;
578
+ pointer-events: none;
579
+ }
580
+
581
+ /* Dead-clicks-only filter toggle (toolbar icon button + expanded-panel
582
+ button). Active state borrows the error tint used by the dead chips so
583
+ the mode reads as "you are looking at failures". */
584
+ .hexclave-clickmap .sdt-hm-dead-toggle {
585
+ display: inline-flex;
586
+ align-items: center;
587
+ justify-content: center;
588
+ gap: 6px;
589
+ }
590
+
591
+ .hexclave-clickmap .sdt-hm-dead-toggle-icon {
592
+ display: inline-flex;
593
+ align-items: center;
594
+ }
595
+
596
+ .hexclave-clickmap .sdt-hm-dead-toggle-active,
597
+ .hexclave-clickmap .sdt-hm-dead-toggle-active:hover {
598
+ background: var(--sdt-error-muted);
599
+ border-color: var(--sdt-error);
600
+ color: var(--sdt-error);
601
+ transition: none;
602
+ }
603
+
604
+ /* Toolbar overlay toggle while the overlay is hidden: tinted so the off
605
+ state reads at a glance, eye-off icon carries the meaning. */
606
+ .hexclave-clickmap .sdt-hm-overlay-mini-off,
607
+ .hexclave-clickmap .sdt-hm-overlay-mini-off:hover {
608
+ background: var(--sdt-accent-muted);
609
+ color: var(--sdt-accent-hover);
610
+ }
611
+
612
+ .hexclave-clickmap .sdt-hm-stats {
613
+ flex: 1;
614
+ min-width: 0;
615
+ display: grid;
616
+ grid-template-columns: repeat(3, minmax(0, 1fr));
617
+ gap: 8px;
618
+ }
619
+
620
+ .hexclave-clickmap .sdt-hm-stat {
621
+ min-width: 0;
622
+ display: flex;
623
+ flex-direction: column;
624
+ gap: 2px;
625
+ border-radius: var(--sdt-radius);
626
+ background: var(--sdt-bg-elevated);
627
+ padding: 7px 10px;
628
+ }
629
+
630
+ .hexclave-clickmap .sdt-hm-stat-label {
631
+ font-size: 9.5px;
632
+ font-weight: 600;
633
+ text-transform: uppercase;
634
+ letter-spacing: 0.04em;
635
+ color: var(--sdt-text-tertiary);
636
+ }
637
+
638
+ .hexclave-clickmap .sdt-hm-stat-value {
639
+ font-size: 15px;
640
+ font-weight: 650;
641
+ color: var(--sdt-text);
642
+ font-variant-numeric: tabular-nums;
643
+ }
644
+
645
+ /* No top padding on the scroller: the sticky list header pins at top 0,
646
+ and scroller padding reads as a see-through strip above it while the
647
+ list scrolls (Chromium offsets sticky insets by the scroll container's
648
+ padding). The status line below carries the 12px instead. */
649
+ .hexclave-clickmap .sdt-hm-body {
650
+ flex: 1;
651
+ min-height: 0;
652
+ overflow: auto;
653
+ display: flex;
654
+ flex-direction: column;
655
+ gap: 10px;
656
+ padding: 0 16px 14px;
657
+ }
658
+
659
+ .hexclave-clickmap .sdt-hm-token-status {
660
+ color: var(--sdt-text-secondary);
661
+ padding: 12px 2px 0;
662
+ font-size: 11.5px;
663
+ line-height: 1.45;
664
+ }
665
+
666
+ .hexclave-clickmap .sdt-hm-token-status-error {
667
+ color: var(--sdt-error);
668
+ }
669
+
670
+ .hexclave-clickmap .sdt-hm-viewport-warning {
671
+ display: none;
672
+ gap: 8px;
673
+ padding: 10px;
674
+ border-radius: var(--sdt-radius);
675
+ border: 1px solid rgba(234, 179, 8, 0.24);
676
+ background: var(--sdt-warning-muted);
677
+ color: var(--sdt-text);
678
+ }
679
+
680
+ .hexclave-clickmap .sdt-hm-viewport-warning-visible {
681
+ display: flex;
682
+ flex-direction: column;
683
+ }
684
+
685
+ .hexclave-clickmap .sdt-hm-viewport-warning-title {
686
+ font-size: 12px;
687
+ font-weight: 650;
688
+ color: var(--sdt-text);
689
+ line-height: 1.2;
690
+ }
691
+
692
+ .hexclave-clickmap .sdt-hm-viewport-warning-body {
693
+ font-size: 11.5px;
694
+ line-height: 1.45;
695
+ color: var(--sdt-text-secondary);
696
+ }
697
+
698
+ .hexclave-clickmap .sdt-hm-viewport-warning-actions {
699
+ display: flex;
700
+ flex-wrap: wrap;
701
+ gap: 8px;
702
+ }
703
+
704
+ .hexclave-clickmap .sdt-hm-viewport-warning-action {
705
+ min-width: 0;
706
+ display: inline-flex;
707
+ align-items: center;
708
+ gap: 6px;
709
+ border-radius: var(--sdt-radius);
710
+ border: 1px solid var(--sdt-border-subtle);
711
+ background: var(--sdt-bg-elevated);
712
+ padding: 4px 5px 4px 8px;
713
+ }
714
+
715
+ .hexclave-clickmap .sdt-hm-viewport-warning-label {
716
+ font-size: 10px;
717
+ font-weight: 600;
718
+ text-transform: uppercase;
719
+ letter-spacing: 0.04em;
720
+ color: var(--sdt-text-tertiary);
721
+ }
722
+
723
+ .hexclave-clickmap .sdt-hm-viewport-warning-code {
724
+ font-family: var(--sdt-font-mono);
725
+ font-size: 11.5px;
726
+ font-weight: 650;
727
+ color: var(--sdt-text);
728
+ font-variant-numeric: tabular-nums;
729
+ }
730
+
731
+ .hexclave-clickmap .sdt-hm-copy-btn {
732
+ height: 22px;
733
+ border: 1px solid var(--sdt-border-subtle);
734
+ border-radius: 999px;
735
+ background: var(--sdt-bg);
736
+ color: var(--sdt-text-secondary);
737
+ padding: 0 8px;
738
+ font: inherit;
739
+ font-size: 10.5px;
740
+ font-weight: 600;
741
+ cursor: pointer;
742
+ transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
743
+ }
744
+
745
+ .hexclave-clickmap .sdt-hm-copy-btn:hover {
746
+ background: var(--sdt-bg-hover);
747
+ border-color: var(--sdt-border);
748
+ color: var(--sdt-text);
749
+ transition: none;
750
+ }
751
+
752
+ .hexclave-clickmap .sdt-hm-list {
753
+ display: flex;
754
+ flex-direction: column;
755
+ gap: 2px;
756
+ }
757
+
758
+ /* Datagrid-style header above the element list. Sticky inside the
759
+ scrolling body (full-bleed via negative margins) so select-all and the
760
+ bulk show/hide actions stay reachable while the list scrolls. The 24px
761
+ left padding lines its master checkbox up with the row checkboxes
762
+ (16px body padding + 8px row padding). */
763
+ .hexclave-clickmap .sdt-hm-list-header {
764
+ display: none;
765
+ position: sticky;
766
+ top: 0;
767
+ z-index: 2;
768
+ align-items: center;
769
+ gap: 8px;
770
+ margin: 0 -16px;
771
+ padding: 8px 24px;
772
+ background: var(--sdt-bg);
773
+ border-bottom: 1px solid var(--sdt-border-subtle);
774
+ }
775
+
776
+ .hexclave-clickmap .sdt-hm-list-header-visible {
777
+ display: flex;
778
+ }
779
+
780
+ .hexclave-clickmap .sdt-hm-list-header-summary {
781
+ flex: 1;
782
+ min-width: 0;
783
+ overflow: hidden;
784
+ text-overflow: ellipsis;
785
+ white-space: nowrap;
786
+ font-size: 11px;
787
+ font-weight: 600;
788
+ color: var(--sdt-text-secondary);
789
+ font-variant-numeric: tabular-nums;
790
+ }
791
+
792
+ /* Element search, compacted to header height. Shrinks before the summary
793
+ does, but never below a usable width. */
794
+ .hexclave-clickmap .sdt-hm-list-header .sdt-hm-filter-input {
795
+ flex: 0 1 220px;
796
+ width: auto;
797
+ min-width: 90px;
798
+ height: 24px;
799
+ border-radius: 999px;
800
+ font-size: 11px;
801
+ padding: 0 10px;
802
+ }
803
+
804
+ .hexclave-clickmap .sdt-hm-empty {
805
+ display: flex;
806
+ align-items: center;
807
+ justify-content: center;
808
+ min-height: 140px;
809
+ border-radius: var(--sdt-radius);
810
+ border: 1px dashed var(--sdt-border);
811
+ color: var(--sdt-text-tertiary);
812
+ font-size: 12px;
813
+ text-align: center;
814
+ padding: 0 16px;
815
+ }
816
+
817
+ .hexclave-clickmap .sdt-hm-row {
818
+ width: 100%;
819
+ display: grid;
820
+ grid-template-columns: 16px minmax(42px, auto) minmax(0, 1fr) 24px;
821
+ align-items: center;
822
+ gap: 10px;
823
+ border: 0;
824
+ border-radius: var(--sdt-radius);
825
+ background: transparent;
826
+ color: var(--sdt-text);
827
+ padding: 8px;
828
+ text-align: left;
829
+ cursor: pointer;
830
+ font-family: var(--sdt-font);
831
+ user-select: none;
832
+ }
833
+
834
+ .hexclave-clickmap .sdt-hm-row:hover {
835
+ background: var(--sdt-bg-hover);
836
+ transition: none;
837
+ }
838
+
839
+ .hexclave-clickmap .sdt-hm-row:focus-visible {
840
+ outline: 2px solid var(--sdt-accent);
841
+ outline-offset: 2px;
842
+ }
843
+
844
+ .hexclave-clickmap .sdt-hm-row-muted {
845
+ opacity: 0.52;
846
+ }
847
+
848
+ .hexclave-clickmap .sdt-hm-row-highlighted {
849
+ background: rgba(250, 204, 21, 0.12);
850
+ }
851
+
852
+ /* Declared after -highlighted and with a :hover pair so the selection tint
853
+ wins over both the lead-highlight wash and the plain hover background. */
854
+ .hexclave-clickmap .sdt-hm-row-selected,
855
+ .hexclave-clickmap .sdt-hm-row-selected:hover {
856
+ background: var(--sdt-accent-muted);
857
+ }
858
+
859
+ /* Row checkbox (also reused as the list header's master checkbox). A
860
+ button with role=checkbox instead of a native input so it can render the
861
+ overlay-themed check/indeterminate icons. */
862
+ .hexclave-clickmap .sdt-hm-row-check {
863
+ display: inline-flex;
864
+ align-items: center;
865
+ justify-content: center;
866
+ width: 16px;
867
+ height: 16px;
868
+ flex-shrink: 0;
869
+ border: 1px solid var(--sdt-border);
870
+ border-radius: calc(var(--sdt-radius) - 3px);
871
+ background: var(--sdt-bg-elevated);
872
+ color: white;
873
+ appearance: none;
874
+ padding: 0;
875
+ cursor: pointer;
876
+ }
877
+
878
+ .hexclave-clickmap .sdt-hm-row-check:hover {
879
+ border-color: var(--sdt-accent);
880
+ }
881
+
882
+ .hexclave-clickmap .sdt-hm-row-check[aria-checked="true"],
883
+ .hexclave-clickmap .sdt-hm-row-check[aria-checked="mixed"] {
884
+ background: var(--sdt-accent);
885
+ border-color: var(--sdt-accent);
886
+ }
887
+
888
+ .hexclave-clickmap .sdt-hm-row-check:focus-visible {
889
+ outline: 2px solid var(--sdt-accent);
890
+ outline-offset: 2px;
891
+ }
892
+
893
+ .hexclave-clickmap .sdt-hm-row-check svg {
894
+ pointer-events: none;
895
+ }
896
+
897
+ .hexclave-clickmap .sdt-hm-row-count {
898
+ display: inline-flex;
899
+ align-items: center;
900
+ justify-content: center;
901
+ height: 24px;
902
+ border-radius: calc(var(--sdt-radius) - 2px);
903
+ background: var(--sdt-accent-muted);
904
+ color: var(--sdt-accent-hover);
905
+ padding: 0 7px;
906
+ font-size: 12px;
907
+ font-weight: 700;
908
+ font-variant-numeric: tabular-nums;
909
+ font-family: var(--sdt-font);
910
+ }
911
+
912
+ .hexclave-clickmap .sdt-hm-row-muted .sdt-hm-row-count {
913
+ background: var(--sdt-bg-elevated);
914
+ color: var(--sdt-text-tertiary);
915
+ }
916
+
917
+ .hexclave-clickmap .sdt-hm-row-eye {
918
+ display: inline-flex;
919
+ align-items: center;
920
+ justify-content: center;
921
+ width: 24px;
922
+ height: 24px;
923
+ border: 1px solid var(--sdt-border-subtle);
924
+ border-radius: calc(var(--sdt-radius) - 2px);
925
+ background: var(--sdt-bg-elevated);
926
+ color: var(--sdt-text-secondary);
927
+ appearance: none;
928
+ padding: 0;
929
+ cursor: pointer;
930
+ opacity: 0;
931
+ pointer-events: none;
932
+ }
933
+
934
+ .hexclave-clickmap .sdt-hm-row:hover .sdt-hm-row-eye,
935
+ .hexclave-clickmap .sdt-hm-row:focus-within .sdt-hm-row-eye,
936
+ .hexclave-clickmap .sdt-hm-row-muted .sdt-hm-row-eye {
937
+ opacity: 1;
938
+ pointer-events: auto;
939
+ }
940
+
941
+ .hexclave-clickmap .sdt-hm-row-eye:hover {
942
+ background: var(--sdt-bg-hover);
943
+ border-color: var(--sdt-border);
944
+ color: var(--sdt-text);
945
+ transition: none;
946
+ }
947
+
948
+ .hexclave-clickmap .sdt-hm-row-eye:focus-visible {
949
+ outline: 2px solid var(--sdt-accent);
950
+ outline-offset: 2px;
951
+ }
952
+
953
+ .hexclave-clickmap .sdt-hm-row-meta {
954
+ min-width: 0;
955
+ display: flex;
956
+ flex-direction: column;
957
+ gap: 1px;
958
+ }
959
+
960
+ .hexclave-clickmap .sdt-hm-row-label-row {
961
+ display: flex;
962
+ align-items: center;
963
+ gap: 6px;
964
+ min-width: 0;
965
+ }
966
+
967
+ .hexclave-clickmap .sdt-hm-row-label {
968
+ overflow: hidden;
969
+ text-overflow: ellipsis;
970
+ white-space: nowrap;
971
+ min-width: 0;
972
+ font-size: 12px;
973
+ font-weight: 600;
974
+ }
975
+
976
+ .hexclave-clickmap .sdt-hm-row-dead {
977
+ display: none;
978
+ flex: none;
979
+ align-items: center;
980
+ height: 16px;
981
+ border-radius: calc(var(--sdt-radius) - 3px);
982
+ background: var(--sdt-error-muted);
983
+ color: var(--sdt-error);
984
+ padding: 0 5px;
985
+ font-size: 10px;
986
+ font-weight: 700;
987
+ font-variant-numeric: tabular-nums;
988
+ white-space: nowrap;
989
+ }
990
+
991
+ .hexclave-clickmap .sdt-hm-row-dead-visible {
992
+ display: inline-flex;
993
+ }
994
+
995
+ .hexclave-clickmap .sdt-hm-row-selector {
996
+ overflow: hidden;
997
+ text-overflow: ellipsis;
998
+ white-space: nowrap;
999
+ font-family: var(--sdt-font-mono);
1000
+ font-size: 10.5px;
1001
+ color: var(--sdt-text-tertiary);
1002
+ }
1003
+
1004
+ .sdt-hm-overlay-root {
1005
+ position: fixed;
1006
+ inset: 0;
1007
+ z-index: 2147483646;
1008
+ pointer-events: none;
1009
+ --resize-dur: 320ms;
1010
+ --resize-ease: cubic-bezier(0.22, 1, 0.36, 1);
1011
+ }
1012
+
1013
+ .sdt-hm-overlay-root .sdt-hm-marker {
1014
+ position: fixed;
1015
+ transform: translate(-50%, -50%);
1016
+ min-width: 28px;
1017
+ height: 24px;
1018
+ border-radius: 999px;
1019
+ padding: 0 8px;
1020
+ display: flex;
1021
+ align-items: center;
1022
+ justify-content: center;
1023
+ border: 0;
1024
+ color: rgba(10, 10, 11, 0.92);
1025
+ font: 700 12px/1 var(--sdt-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
1026
+ font-variant-numeric: tabular-nums;
1027
+ cursor: pointer;
1028
+ pointer-events: auto;
1029
+ transition: opacity 0.15s ease, transform 0.15s ease, filter 0.15s ease;
1030
+ }
1031
+
1032
+ .sdt-hm-overlay-root .sdt-hm-marker:hover {
1033
+ transform: translate(-50%, -50%) scale(1.06);
1034
+ transition: none;
1035
+ }
1036
+
1037
+ .sdt-hm-overlay-root .sdt-hm-marker-muted {
1038
+ opacity: 0.18;
1039
+ filter: saturate(0.25);
1040
+ text-decoration: line-through;
1041
+ }
1042
+
1043
+ .sdt-hm-overlay-root .sdt-hm-marker-highlighted {
1044
+ transform: translate(-50%, -50%) scale(1.08);
1045
+ }
1046
+
1047
+ .sdt-hm-overlay-root .sdt-hm-outline {
1048
+ position: fixed;
1049
+ border: 1px solid;
1050
+ border-radius: 4px;
1051
+ background: rgba(99, 102, 241, 0.04);
1052
+ transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease;
1053
+ }
1054
+
1055
+ .sdt-hm-overlay-root .sdt-hm-outline-muted {
1056
+ opacity: 0;
1057
+ }
1058
+
1059
+ .sdt-hm-overlay-root .sdt-hm-outline-highlighted {
1060
+ border-color: rgba(250, 204, 21, 0.92) !important;
1061
+ }
1062
+
1063
+ .sdt-hm-overlay-root .sdt-hm-highlight {
1064
+ position: fixed;
1065
+ border-radius: 5px;
1066
+ background: rgba(250, 204, 21, 0.28);
1067
+ box-shadow: 0 0 0 1px rgba(250, 204, 21, 0.7), 0 0 0 9999px rgba(0, 0, 0, 0.04);
1068
+ opacity: 0;
1069
+ will-change: top, left, width, height;
1070
+ transition: opacity 0.18s ease;
1071
+ }
1072
+
1073
+ .sdt-hm-overlay-root .sdt-hm-highlight-visible {
1074
+ opacity: 1;
1075
+ }
1076
+
1077
+ .sdt-hm-overlay-root .sdt-hm-highlight-animating {
1078
+ transition:
1079
+ top var(--resize-dur) var(--resize-ease),
1080
+ left var(--resize-dur) var(--resize-ease),
1081
+ width var(--resize-dur) var(--resize-ease),
1082
+ height var(--resize-dur) var(--resize-ease),
1083
+ opacity 0.18s ease;
1084
+ }
1085
+
1086
+ @media (prefers-reduced-motion: reduce) {
1087
+ .sdt-hm-overlay-root .sdt-hm-highlight-animating {
1088
+ transition: opacity 0.18s ease;
1089
+ }
1090
+ }
1091
+ `;
1092
+
1093
+ //#endregion
1094
+ exports.clickmapCSS = clickmapCSS;
1095
+ //# sourceMappingURL=clickmap-styles.js.map