@ohbug/extension-feedback 0.6.2 → 0.7.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.
package/README.md CHANGED
@@ -26,5 +26,21 @@ import Ohbug from '@ohbug/browser'
26
26
  import OhbugExtensionFeedback from '@ohbug/extension-feedback'
27
27
 
28
28
  const client = Ohbug.setup({ apiKey: 'YOUR_API_KEY' })
29
- client.use(OhbugExtensionFeedback)
29
+ client.use(OhbugExtensionFeedback())
30
+ ```
31
+
32
+ ## Parameters
33
+
34
+ ### target?: HTMLElement
35
+
36
+ You can customize the dom element to which the feedback popup is mounted, by default it will be mounted in the body.
37
+
38
+ example:
39
+
40
+ ```javascript
41
+ import Ohbug from '@ohbug/browser'
42
+ import OhbugExtensionFeedback from '@ohbug/extension-feedback'
43
+
44
+ const client = Ohbug.setup({ apiKey: 'YOUR_API_KEY' })
45
+ client.use(OhbugExtensionFeedback(document.querySelector('#xxx')))
30
46
  ```
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { OhbugExtension } from '@ohbug/types';
2
- declare const extension: OhbugExtension;
2
+ declare const extension: (target?: HTMLElement) => OhbugExtension;
3
3
  export default extension;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAIlD,QAAA,MAAM,SAAS,EAAE,cAShB,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAIlD,QAAA,MAAM,SAAS,YAAa,WAAW,KAAG,cASxC,CAAA;AAEF,eAAe,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -28,4 +28,4 @@
28
28
  height: ${y+r*2}px;
29
29
  top: ${E-r}px;
30
30
  left: ${P-r}px;
31
- `)}function u(f){var y;z({working:!0});const a=document.elementFromPoint(f.clientX,f.clientY);if(((y=a==null?void 0:a.dataset)==null?void 0:y.ohbugSelector)!==void 0||a.tagName==="HTML")return!1;c(a)}function g(){document.addEventListener("mousemove",u)}function m(){document.removeEventListener("mousemove",u)}function _(f){var y;const a=document.elementFromPoint(f.clientX,f.clientY);if(((y=a==null?void 0:a.dataset)==null?void 0:y.ohbugSelector)!==void 0||a.tagName==="HTML"||p.selectedElement&&p.working)return!1;t(a),h(e()),m()}function T(){document.addEventListener("mousedown",_)}function I(){document.removeEventListener("mousedown",_)}function O(){t(null),m(),I(),z({working:!1,selectedElement:null})}function q(){z({working:!0,selectedElement:null}),t(null),g()}return pe(()=>{p.working?(g(),T()):(m(),I())}),ze(O),(()=>{const f=rt(),a=f.firstChild,y=a.nextSibling,E=y.nextSibling,P=E.nextSibling,M=P.nextSibling;return v(f,x(U,{get when(){return!p.selectedElement&&p.working},get children(){const d=st(),Ce=d.firstChild,Ne=Ce.firstChild,ue=Ne.nextSibling;return ue.$$click=O,v(ue,x(ie,{})),d}}),a),D(d=>{n=d},a),D(d=>{l=d},y),D(d=>{s=d},E),D(d=>{o=d},P),D(d=>{i=d},M),v(M,x(U,{get when(){return p.selectedElement&&p.working},get children(){return[(()=>{const d=ot();return d.$$click=O,v(d,x(ie,{})),d})(),(()=>{const d=it();return d.$$click=q,d.style.setProperty("transform","translate(4px, -8px)"),d})()]}})),j(()=>Re(M,`fixed -z-1 bg-black bg-opacity-20 border-4 rounded-sm transition cursor-pointer box-border pointer-events-none ${e()?"border-red-500 border-solid":"border-blue-500 border-dashed"}`)),f})()};_e(["click"]);const ut=A('<button class="btn-main" data-ohbug-selector type="button">'),ft=A('<div class="bg-white flex flex-col h-60 shadow z-max right-8 bottom-20 w-80 fixed" data-ohbug-selector><div class="bg-gray-300 p-4" data-ohbug-selector><textarea autofocus class="bg-transparent outline-none w-full resize-none" data-ohbug-selector maxlength="1000" placeholder="Tell me how you feel..." rows="4"></textarea><button class="cursor-pointer" data-ohbug-selector type="button"></button></div><div class="flex flex-1 p-4 justify-between items-center" data-ohbug-selector><span class="text-sm" data-ohbug-selector>Try<a class="ml-1 underline" data-ohbug-selector href="https://ohbug.net" rel="noreferrer" target="_blank">Ohbug</a>?</span><button class="btn-send" data-ohbug-selector type="button"></button></div><button class="rounded-full cursor-pointer flex bg-blue-500 h-6 -top-2 -right-2 w-6 z-10 items-center justify-center absolute" data-ohbug-selector type="button">'),at=A('<div class="z-max relative" data-ohbug-selector><div>'),dt=()=>{const[e,t]=F(!1),[n,l]=F("");function s(){z({working:!0})}const[o,i]=F(!1);async function r(){i(!0);let c,h;const u=Ke().client;if(p.selectedElement){const g={target:p.selectedElement};c=Xe(g),h=p.selectedElement.outerHTML;const m=u.createEvent({category:"feedback",type:"feedback",detail:{selector:c,outerHTML:h,feedback:n()}});await u.notify(m)}else{const g=u.createEvent({category:"feedback",type:"feedback",detail:{feedback:n()}});await u.notify(g)}t(!1),l(""),z({working:!1,selectedElement:null}),i(!1)}return pe(()=>{p.working===!1&&p.selectedElement===null||p.working&&!p.selectedElement?t(!1):t(!0)}),(()=>{const c=at(),h=c.firstChild;return v(c,x(U,{get when(){return p.working},get children(){return x(ct,{})}}),h),v(h,x(U,{get when(){return!(p.working&&!p.selectedElement)},get children(){const u=ut();return u.$$click=()=>t(g=>!g),v(u,()=>e()?"😆":"🙂"),u}}),null),v(h,x(U,{get when(){return e()},get children(){const u=ft(),g=u.firstChild,m=g.firstChild,_=m.nextSibling,T=g.nextSibling,I=T.firstChild,O=I.nextSibling,q=T.nextSibling;return m.$$input=f=>l(f.currentTarget.value),_.$$click=s,v(_,x(lt,{})),O.$$click=r,v(O,()=>o()?"Sending...":"Send"),q.$$click=()=>t(f=>!f),v(q,x(ie,{})),j(f=>{const a=p.selectedElement?"blue":"gray",y=!n()||o();return a!==f._v$&&((f._v$=a)!=null?_.style.setProperty("--color",a):_.style.removeProperty("--color")),y!==f._v$2&&(O.disabled=f._v$2=y),f},{_v$:void 0,_v$2:void 0}),j(()=>m.value=n()),u}}),null),c})()};_e(["click","input"]);const ht={name:"OhbugExtensionFeedback",onSetup:()=>{const e=document.createElement("div");e.id="OhbugExtensionFeedback-ROOT",document.body.appendChild(e),Ue(()=>x(dt,{}),e)}};function styleInject(css,ref){if(ref===void 0){ref={}}var insertAt=ref.insertAt;if(!css||typeof document==="undefined"){return}var head=document.head||document.getElementsByTagName("head")[0];var style=document.createElement("style");style.type="text/css";if(insertAt==="top"){if(head.firstChild){head.insertBefore(style,head.firstChild)}else{head.appendChild(style)}}else{head.appendChild(style)}if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}};styleInject("/*\n! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.btn-main {\n z-index: 99999;\n position: fixed;\n right: 2rem;\n bottom: 2rem;\n display: flex;\n height: 2rem;\n width: 2.5rem;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: center;\n border-radius: 0.25rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-main:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.btn-send {\n border-radius: 0.125rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-send:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.tips {\n z-index: 99999;\n position: fixed;\n top: 0px;\n left: 50%;\n display: flex;\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n border-bottom-right-radius: 0.5rem;\n border-bottom-left-radius: 0.5rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding: 0.75rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.z-max {\n z-index: 99999;\n}\n.pointer-events-none {\n pointer-events: none;\n}\n.pointer-events-auto {\n pointer-events: auto;\n}\n.visible {\n visibility: visible;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.-bottom-full {\n bottom: -100%;\n}\n.-right-2 {\n right: -0.5rem;\n}\n.-right-3 {\n right: -0.75rem;\n}\n.-top-2 {\n top: -0.5rem;\n}\n.-top-3 {\n top: -0.75rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.bottom-20 {\n bottom: 5rem;\n}\n.left-0 {\n left: 0px;\n}\n.right-0 {\n right: 0px;\n}\n.right-8 {\n right: 2rem;\n}\n.top-0 {\n top: 0px;\n}\n.z-10 {\n z-index: 10;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.box-border {\n box-sizing: border-box;\n}\n.flex {\n display: flex;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-60 {\n height: 15rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-full {\n width: 100%;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.resize-none {\n resize: none;\n}\n.flex-col {\n flex-direction: column;\n}\n.items-center {\n align-items: center;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-sm {\n border-radius: 0.125rem;\n}\n.border-4 {\n border-width: 4px;\n}\n.border-solid {\n border-style: solid;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n.border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity));\n}\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.bg-opacity-20 {\n --tw-bg-opacity: 0.2;\n}\n.bg-opacity-40 {\n --tw-bg-opacity: 0.4;\n}\n.bg-none {\n background-image: none;\n}\n.p-4 {\n padding: 1rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.font-semibold {\n font-weight: 600;\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.underline {\n text-decoration-line: underline;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}");module.exports=ht;
31
+ `)}function u(f){var y;z({working:!0});const a=document.elementFromPoint(f.clientX,f.clientY);if(((y=a==null?void 0:a.dataset)==null?void 0:y.ohbugSelector)!==void 0||a.tagName==="HTML")return!1;c(a)}function g(){document.addEventListener("mousemove",u)}function m(){document.removeEventListener("mousemove",u)}function _(f){var y;const a=document.elementFromPoint(f.clientX,f.clientY);if(((y=a==null?void 0:a.dataset)==null?void 0:y.ohbugSelector)!==void 0||a.tagName==="HTML"||p.selectedElement&&p.working)return!1;t(a),h(e()),m()}function T(){document.addEventListener("mousedown",_)}function I(){document.removeEventListener("mousedown",_)}function O(){t(null),m(),I(),z({working:!1,selectedElement:null})}function q(){z({working:!0,selectedElement:null}),t(null),g()}return pe(()=>{p.working?(g(),T()):(m(),I())}),ze(O),(()=>{const f=rt(),a=f.firstChild,y=a.nextSibling,E=y.nextSibling,P=E.nextSibling,M=P.nextSibling;return v(f,x(U,{get when(){return!p.selectedElement&&p.working},get children(){const d=st(),Ce=d.firstChild,Ne=Ce.firstChild,ue=Ne.nextSibling;return ue.$$click=O,v(ue,x(ie,{})),d}}),a),D(d=>{n=d},a),D(d=>{l=d},y),D(d=>{s=d},E),D(d=>{o=d},P),D(d=>{i=d},M),v(M,x(U,{get when(){return p.selectedElement&&p.working},get children(){return[(()=>{const d=ot();return d.$$click=O,v(d,x(ie,{})),d})(),(()=>{const d=it();return d.$$click=q,d.style.setProperty("transform","translate(4px, -8px)"),d})()]}})),j(()=>Re(M,`fixed -z-1 bg-black bg-opacity-20 border-4 rounded-sm transition cursor-pointer box-border pointer-events-none ${e()?"border-red-500 border-solid":"border-blue-500 border-dashed"}`)),f})()};_e(["click"]);const ut=A('<button class="btn-main" data-ohbug-selector type="button">'),ft=A('<div class="bg-white flex flex-col h-60 shadow z-max right-8 bottom-20 w-80 fixed" data-ohbug-selector><div class="bg-gray-300 p-4" data-ohbug-selector><textarea autofocus class="bg-transparent outline-none w-full resize-none" data-ohbug-selector maxlength="1000" placeholder="Tell me how you feel..." rows="4"></textarea><button class="cursor-pointer" data-ohbug-selector type="button"></button></div><div class="flex flex-1 p-4 justify-between items-center" data-ohbug-selector><span class="text-sm" data-ohbug-selector>Try<a class="ml-1 underline" data-ohbug-selector href="https://ohbug.net" rel="noreferrer" target="_blank">Ohbug</a>?</span><button class="btn-send" data-ohbug-selector type="button"></button></div><button class="rounded-full cursor-pointer flex bg-blue-500 h-6 -top-2 -right-2 w-6 z-10 items-center justify-center absolute" data-ohbug-selector type="button">'),at=A('<div class="z-max relative" data-ohbug-selector><div>'),dt=()=>{const[e,t]=F(!1),[n,l]=F("");function s(){z({working:!0})}const[o,i]=F(!1);async function r(){i(!0);let c,h;const u=Ke().client;if(p.selectedElement){const g={target:p.selectedElement};c=Xe(g),h=p.selectedElement.outerHTML;const m=u.createEvent({category:"feedback",type:"feedback",detail:{selector:c,outerHTML:h,feedback:n()}});await u.notify(m)}else{const g=u.createEvent({category:"feedback",type:"feedback",detail:{feedback:n()}});await u.notify(g)}t(!1),l(""),z({working:!1,selectedElement:null}),i(!1)}return pe(()=>{p.working===!1&&p.selectedElement===null||p.working&&!p.selectedElement?t(!1):t(!0)}),(()=>{const c=at(),h=c.firstChild;return v(c,x(U,{get when(){return p.working},get children(){return x(ct,{})}}),h),v(h,x(U,{get when(){return!(p.working&&!p.selectedElement)},get children(){const u=ut();return u.$$click=()=>t(g=>!g),v(u,()=>e()?"😆":"🙂"),u}}),null),v(h,x(U,{get when(){return e()},get children(){const u=ft(),g=u.firstChild,m=g.firstChild,_=m.nextSibling,T=g.nextSibling,I=T.firstChild,O=I.nextSibling,q=T.nextSibling;return m.$$input=f=>l(f.currentTarget.value),_.$$click=s,v(_,x(lt,{})),O.$$click=r,v(O,()=>o()?"Sending...":"Send"),q.$$click=()=>t(f=>!f),v(q,x(ie,{})),j(f=>{const a=p.selectedElement?"blue":"gray",y=!n()||o();return a!==f._v$&&((f._v$=a)!=null?_.style.setProperty("--color",a):_.style.removeProperty("--color")),y!==f._v$2&&(O.disabled=f._v$2=y),f},{_v$:void 0,_v$2:void 0}),j(()=>m.value=n()),u}}),null),c})()};_e(["click","input"]);const ht=e=>({name:"OhbugExtensionFeedback",onSetup:()=>{const t=document.createElement("div");t.id="OhbugExtensionFeedback-ROOT",(e||document.body).appendChild(t),Ue(()=>x(dt,{}),t)}});function styleInject(css,ref){if(ref===void 0){ref={}}var insertAt=ref.insertAt;if(!css||typeof document==="undefined"){return}var head=document.head||document.getElementsByTagName("head")[0];var style=document.createElement("style");style.type="text/css";if(insertAt==="top"){if(head.firstChild){head.insertBefore(style,head.firstChild)}else{head.appendChild(style)}}else{head.appendChild(style)}if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}};styleInject("/*\n! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.btn-main {\n z-index: 99999;\n position: fixed;\n right: 2rem;\n bottom: 2rem;\n display: flex;\n height: 2rem;\n width: 2.5rem;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: center;\n border-radius: 0.25rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-main:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.btn-send {\n border-radius: 0.125rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-send:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.tips {\n z-index: 99999;\n position: fixed;\n top: 0px;\n left: 50%;\n display: flex;\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n border-bottom-right-radius: 0.5rem;\n border-bottom-left-radius: 0.5rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding: 0.75rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.z-max {\n z-index: 99999;\n}\n.pointer-events-none {\n pointer-events: none;\n}\n.pointer-events-auto {\n pointer-events: auto;\n}\n.visible {\n visibility: visible;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.-bottom-full {\n bottom: -100%;\n}\n.-right-2 {\n right: -0.5rem;\n}\n.-right-3 {\n right: -0.75rem;\n}\n.-top-2 {\n top: -0.5rem;\n}\n.-top-3 {\n top: -0.75rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.bottom-20 {\n bottom: 5rem;\n}\n.left-0 {\n left: 0px;\n}\n.right-0 {\n right: 0px;\n}\n.right-8 {\n right: 2rem;\n}\n.top-0 {\n top: 0px;\n}\n.z-10 {\n z-index: 10;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.box-border {\n box-sizing: border-box;\n}\n.flex {\n display: flex;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-60 {\n height: 15rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-full {\n width: 100%;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.resize-none {\n resize: none;\n}\n.flex-col {\n flex-direction: column;\n}\n.items-center {\n align-items: center;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-sm {\n border-radius: 0.125rem;\n}\n.border-4 {\n border-width: 4px;\n}\n.border-solid {\n border-style: solid;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n.border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity));\n}\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.bg-opacity-20 {\n --tw-bg-opacity: 0.2;\n}\n.bg-opacity-40 {\n --tw-bg-opacity: 0.4;\n}\n.bg-none {\n background-image: none;\n}\n.p-4 {\n padding: 1rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.font-semibold {\n font-weight: 600;\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.underline {\n text-decoration-line: underline;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}");module.exports=ht;
package/dist/index.mjs CHANGED
@@ -11,13 +11,13 @@ const k = 1, W = 2, be = {
11
11
  var w = null;
12
12
  let ne = null, b = null, $ = null, S = null, ee = 0;
13
13
  function Pe(e, t) {
14
- const n = b, l = w, s = e.length === 0, o = s ? be : {
14
+ const n = b, l = w, o = e.length === 0, s = o ? be : {
15
15
  owned: null,
16
16
  cleanups: null,
17
17
  context: null,
18
18
  owner: t === void 0 ? l : t
19
- }, i = s ? e : () => e(() => N(() => te(o)));
20
- w = o, b = null;
19
+ }, i = o ? e : () => e(() => N(() => te(s)));
20
+ w = s, b = null;
21
21
  try {
22
22
  return H(i, !0);
23
23
  } finally {
@@ -31,7 +31,7 @@ function F(e, t) {
31
31
  observers: null,
32
32
  observerSlots: null,
33
33
  comparator: t.equals || void 0
34
- }, l = (s) => (typeof s == "function" && (s = s(n.value)), $e(n, s));
34
+ }, l = (o) => (typeof o == "function" && (o = o(n.value)), $e(n, o));
35
35
  return [ye.bind(n), l];
36
36
  }
37
37
  function j(e, t, n) {
@@ -85,9 +85,9 @@ function ye() {
85
85
  function $e(e, t, n) {
86
86
  let l = e.value;
87
87
  return (!e.comparator || !e.comparator(l, t)) && (e.value = t, e.observers && e.observers.length && H(() => {
88
- for (let s = 0; s < e.observers.length; s += 1) {
89
- const o = e.observers[s], i = ne && ne.running;
90
- i && ne.disposed.has(o), (i ? !o.tState : !o.state) && (o.pure ? $.push(o) : S.push(o), o.observers && ve(o)), i || (o.state = k);
88
+ for (let o = 0; o < e.observers.length; o += 1) {
89
+ const s = e.observers[o], i = ne && ne.running;
90
+ i && ne.disposed.has(s), (i ? !s.tState : !s.state) && (s.pure ? $.push(s) : S.push(s), s.observers && ve(s)), i || (s.state = k);
91
91
  }
92
92
  if ($.length > 1e6)
93
93
  throw $ = [], new Error();
@@ -104,13 +104,13 @@ function je(e, t, n) {
104
104
  let l;
105
105
  try {
106
106
  l = e.fn(t);
107
- } catch (s) {
108
- return e.pure && (e.state = k, e.owned && e.owned.forEach(te), e.owned = null), e.updatedAt = n + 1, xe(s);
107
+ } catch (o) {
108
+ return e.pure && (e.state = k, e.owned && e.owned.forEach(te), e.owned = null), e.updatedAt = n + 1, xe(o);
109
109
  }
110
110
  (!e.updatedAt || e.updatedAt <= n) && (e.updatedAt != null && "observers" in e ? $e(e, l) : e.value = l, e.updatedAt = n);
111
111
  }
112
- function re(e, t, n, l = k, s) {
113
- const o = {
112
+ function re(e, t, n, l = k, o) {
113
+ const s = {
114
114
  fn: e,
115
115
  state: l,
116
116
  updatedAt: null,
@@ -123,7 +123,7 @@ function re(e, t, n, l = k, s) {
123
123
  context: null,
124
124
  pure: n
125
125
  };
126
- return w === null || w !== be && (w.owned ? w.owned.push(o) : w.owned = [o]), o;
126
+ return w === null || w !== be && (w.owned ? w.owned.push(s) : w.owned = [s]), s;
127
127
  }
128
128
  function X(e) {
129
129
  if (e.state === 0)
@@ -179,8 +179,8 @@ function Y(e, t) {
179
179
  for (let n = 0; n < e.sources.length; n += 1) {
180
180
  const l = e.sources[n];
181
181
  if (l.sources) {
182
- const s = l.state;
183
- s === k ? l !== t && (!l.updatedAt || l.updatedAt < ee) && X(l) : s === W && Y(l, t);
182
+ const o = l.state;
183
+ o === k ? l !== t && (!l.updatedAt || l.updatedAt < ee) && X(l) : o === W && Y(l, t);
184
184
  }
185
185
  }
186
186
  }
@@ -194,10 +194,10 @@ function te(e) {
194
194
  let t;
195
195
  if (e.sources)
196
196
  for (; e.sources.length; ) {
197
- const n = e.sources.pop(), l = e.sourceSlots.pop(), s = n.observers;
198
- if (s && s.length) {
199
- const o = s.pop(), i = n.observerSlots.pop();
200
- l < s.length && (o.sourceSlots[i] = l, s[l] = o, n.observerSlots[l] = i);
197
+ const n = e.sources.pop(), l = e.sourceSlots.pop(), o = n.observers;
198
+ if (o && o.length) {
199
+ const s = o.pop(), i = n.observerSlots.pop();
200
+ l < o.length && (s.sourceSlots[i] = l, o[l] = s, n.observerSlots[l] = i);
201
201
  }
202
202
  }
203
203
  if (e.owned) {
@@ -226,52 +226,52 @@ function x(e, t) {
226
226
  const Be = (e) => `Stale read from <${e}>.`;
227
227
  function U(e) {
228
228
  const t = e.keyed, n = ae(() => e.when, void 0, {
229
- equals: (l, s) => t ? l === s : !l == !s
229
+ equals: (l, o) => t ? l === o : !l == !o
230
230
  });
231
231
  return ae(() => {
232
232
  const l = n();
233
233
  if (l) {
234
- const s = e.children;
235
- return typeof s == "function" && s.length > 0 ? N(() => s(t ? l : () => {
234
+ const o = e.children;
235
+ return typeof o == "function" && o.length > 0 ? N(() => o(t ? l : () => {
236
236
  if (!N(n))
237
237
  throw Be("Show");
238
238
  return e.when;
239
- })) : s;
239
+ })) : o;
240
240
  }
241
241
  return e.fallback;
242
242
  }, void 0, void 0);
243
243
  }
244
244
  function Fe(e, t, n) {
245
- let l = n.length, s = t.length, o = l, i = 0, r = 0, c = t[s - 1].nextSibling, h = null;
246
- for (; i < s || r < o; ) {
245
+ let l = n.length, o = t.length, s = l, i = 0, r = 0, c = t[o - 1].nextSibling, h = null;
246
+ for (; i < o || r < s; ) {
247
247
  if (t[i] === n[r]) {
248
248
  i++, r++;
249
249
  continue;
250
250
  }
251
- for (; t[s - 1] === n[o - 1]; )
252
- s--, o--;
253
- if (s === i) {
254
- const u = o < l ? r ? n[r - 1].nextSibling : n[o - r] : c;
255
- for (; r < o; )
251
+ for (; t[o - 1] === n[s - 1]; )
252
+ o--, s--;
253
+ if (o === i) {
254
+ const u = s < l ? r ? n[r - 1].nextSibling : n[s - r] : c;
255
+ for (; r < s; )
256
256
  e.insertBefore(n[r++], u);
257
- } else if (o === r)
258
- for (; i < s; )
257
+ } else if (s === r)
258
+ for (; i < o; )
259
259
  (!h || !h.has(t[i])) && t[i].remove(), i++;
260
- else if (t[i] === n[o - 1] && n[r] === t[s - 1]) {
261
- const u = t[--s].nextSibling;
262
- e.insertBefore(n[r++], t[i++].nextSibling), e.insertBefore(n[--o], u), t[s] = n[o];
260
+ else if (t[i] === n[s - 1] && n[r] === t[o - 1]) {
261
+ const u = t[--o].nextSibling;
262
+ e.insertBefore(n[r++], t[i++].nextSibling), e.insertBefore(n[--s], u), t[o] = n[s];
263
263
  } else {
264
264
  if (!h) {
265
265
  h = /* @__PURE__ */ new Map();
266
266
  let g = r;
267
- for (; g < o; )
267
+ for (; g < s; )
268
268
  h.set(n[g], g++);
269
269
  }
270
270
  const u = h.get(t[i]);
271
271
  if (u != null)
272
- if (r < u && u < o) {
272
+ if (r < u && u < s) {
273
273
  let g = i, m = 1, _;
274
- for (; ++g < s && g < o && !((_ = h.get(t[g])) == null || _ !== u + m); )
274
+ for (; ++g < o && g < s && !((_ = h.get(t[g])) == null || _ !== u + m); )
275
275
  m++;
276
276
  if (m > u - r) {
277
277
  const T = t[i];
@@ -288,26 +288,26 @@ function Fe(e, t, n) {
288
288
  }
289
289
  const de = "_$DX_DELEGATE";
290
290
  function Ue(e, t, n, l = {}) {
291
- let s;
292
- return Pe((o) => {
293
- s = o, t === document ? e() : v(t, e(), t.firstChild ? null : void 0, n);
291
+ let o;
292
+ return Pe((s) => {
293
+ o = s, t === document ? e() : v(t, e(), t.firstChild ? null : void 0, n);
294
294
  }, l.owner), () => {
295
- s(), t.textContent = "";
295
+ o(), t.textContent = "";
296
296
  };
297
297
  }
298
298
  function A(e, t, n) {
299
299
  let l;
300
- const s = () => {
300
+ const o = () => {
301
301
  const i = document.createElement("template");
302
302
  return i.innerHTML = e, n ? i.content.firstChild.firstChild : i.content.firstChild;
303
- }, o = t ? () => N(() => document.importNode(l || (l = s()), !0)) : () => (l || (l = s())).cloneNode(!0);
304
- return o.cloneNode = o, o;
303
+ }, s = t ? () => N(() => document.importNode(l || (l = o()), !0)) : () => (l || (l = o())).cloneNode(!0);
304
+ return s.cloneNode = s, s;
305
305
  }
306
306
  function _e(e, t = window.document) {
307
307
  const n = t[de] || (t[de] = /* @__PURE__ */ new Set());
308
- for (let l = 0, s = e.length; l < s; l++) {
309
- const o = e[l];
310
- n.has(o) || (n.add(o), t.addEventListener(o, Ve));
308
+ for (let l = 0, o = e.length; l < o; l++) {
309
+ const s = e[l];
310
+ n.has(s) || (n.add(s), t.addEventListener(s, Ve));
311
311
  }
312
312
  }
313
313
  function Re(e, t) {
@@ -319,7 +319,7 @@ function D(e, t, n) {
319
319
  function v(e, t, n, l) {
320
320
  if (n !== void 0 && !l && (l = []), typeof t != "function")
321
321
  return J(e, t, l, n);
322
- j((s) => J(e, t(), s, n), l);
322
+ j((o) => J(e, t(), o, n), l);
323
323
  }
324
324
  function Ve(e) {
325
325
  const t = `$$${e.type}`;
@@ -335,29 +335,29 @@ function Ve(e) {
335
335
  }); n; ) {
336
336
  const l = n[t];
337
337
  if (l && !n.disabled) {
338
- const s = n[`${t}Data`];
339
- if (s !== void 0 ? l.call(n, s, e) : l.call(n, e), e.cancelBubble)
338
+ const o = n[`${t}Data`];
339
+ if (o !== void 0 ? l.call(n, o, e) : l.call(n, e), e.cancelBubble)
340
340
  return;
341
341
  }
342
342
  n = n._$host || n.parentNode || n.host;
343
343
  }
344
344
  }
345
- function J(e, t, n, l, s) {
345
+ function J(e, t, n, l, o) {
346
346
  for (; typeof n == "function"; )
347
347
  n = n();
348
348
  if (t === n)
349
349
  return n;
350
- const o = typeof t, i = l !== void 0;
351
- if (e = i && n[0] && n[0].parentNode || e, o === "string" || o === "number")
352
- if (o === "number" && (t = t.toString()), i) {
350
+ const s = typeof t, i = l !== void 0;
351
+ if (e = i && n[0] && n[0].parentNode || e, s === "string" || s === "number")
352
+ if (s === "number" && (t = t.toString()), i) {
353
353
  let r = n[0];
354
354
  r && r.nodeType === 3 ? r.data = t : r = document.createTextNode(t), n = L(e, n, l, r);
355
355
  } else
356
356
  n !== "" && typeof n == "string" ? n = e.firstChild.data = t : n = e.textContent = t;
357
- else if (t == null || o === "boolean")
357
+ else if (t == null || s === "boolean")
358
358
  n = L(e, n, l);
359
359
  else {
360
- if (o === "function")
360
+ if (s === "function")
361
361
  return j(() => {
362
362
  let r = t();
363
363
  for (; typeof r == "function"; )
@@ -366,7 +366,7 @@ function J(e, t, n, l, s) {
366
366
  }), () => n;
367
367
  if (Array.isArray(t)) {
368
368
  const r = [], c = n && Array.isArray(n);
369
- if (le(r, t, n, s))
369
+ if (le(r, t, n, o))
370
370
  return j(() => n = J(e, r, n, l, !0)), () => n;
371
371
  if (r.length === 0) {
372
372
  if (n = L(e, n, l), i)
@@ -388,57 +388,57 @@ function J(e, t, n, l, s) {
388
388
  return n;
389
389
  }
390
390
  function le(e, t, n, l) {
391
- let s = !1;
392
- for (let o = 0, i = t.length; o < i; o++) {
393
- let r = t[o], c = n && n[o], h;
391
+ let o = !1;
392
+ for (let s = 0, i = t.length; s < i; s++) {
393
+ let r = t[s], c = n && n[s], h;
394
394
  if (!(r == null || r === !0 || r === !1))
395
395
  if ((h = typeof r) == "object" && r.nodeType)
396
396
  e.push(r);
397
397
  else if (Array.isArray(r))
398
- s = le(e, r, c) || s;
398
+ o = le(e, r, c) || o;
399
399
  else if (h === "function")
400
400
  if (l) {
401
401
  for (; typeof r == "function"; )
402
402
  r = r();
403
- s = le(e, Array.isArray(r) ? r : [r], Array.isArray(c) ? c : [c]) || s;
403
+ o = le(e, Array.isArray(r) ? r : [r], Array.isArray(c) ? c : [c]) || o;
404
404
  } else
405
- e.push(r), s = !0;
405
+ e.push(r), o = !0;
406
406
  else {
407
407
  const u = String(r);
408
408
  c && c.nodeType === 3 && c.data === u ? e.push(c) : e.push(document.createTextNode(u));
409
409
  }
410
410
  }
411
- return s;
411
+ return o;
412
412
  }
413
413
  function he(e, t, n = null) {
414
- for (let l = 0, s = t.length; l < s; l++)
414
+ for (let l = 0, o = t.length; l < o; l++)
415
415
  e.insertBefore(t[l], n);
416
416
  }
417
417
  function L(e, t, n, l) {
418
418
  if (n === void 0)
419
419
  return e.textContent = "";
420
- const s = l || document.createTextNode("");
420
+ const o = l || document.createTextNode("");
421
421
  if (t.length) {
422
- let o = !1;
422
+ let s = !1;
423
423
  for (let i = t.length - 1; i >= 0; i--) {
424
424
  const r = t[i];
425
- if (s !== r) {
425
+ if (o !== r) {
426
426
  const c = r.parentNode === e;
427
- !o && !i ? c ? e.replaceChild(s, r) : e.insertBefore(s, n) : c && r.remove();
427
+ !s && !i ? c ? e.replaceChild(o, r) : e.insertBefore(o, n) : c && r.remove();
428
428
  } else
429
- o = !0;
429
+ s = !0;
430
430
  }
431
431
  } else
432
- e.insertBefore(s, n);
433
- return [s];
432
+ e.insertBefore(o, n);
433
+ return [o];
434
434
  }
435
435
  function Ge(e, t, ...n) {
436
436
  if (t === void 0)
437
437
  throw new Error("`Ohbug warning(condition, format, ...args)` requires a warning message argument");
438
438
  if (!e) {
439
439
  let l = 0;
440
- const s = t.replace(/%s/g, () => n[l++]);
441
- throw new Error(`Ohbug ${s}`);
440
+ const o = t.replace(/%s/g, () => n[l++]);
441
+ throw new Error(`Ohbug ${o}`);
442
442
  }
443
443
  }
444
444
  var Ie = {};
@@ -465,18 +465,18 @@ var Xe = (e) => {
465
465
  const l = [];
466
466
  for (let i = 0; n && n.nodeType === Node.ELEMENT_NODE && n.nodeType !== Node.DOCUMENT_TYPE_NODE; n = n.previousSibling)
467
467
  i && l.push(n), i += 1;
468
- const s = typeof e.path > "u" ? We(e.target) : e.path, { outerHTML: o } = t;
469
- return s.reverse().map((i) => (i.localName || "") + (i.id ? `#${i.id}` : "") + (i.className ? `.${i.className}` : "") + (i.outerHTML === o ? `:nth-child(${l.length})` : "")).filter((i) => !!i).join(" > ");
468
+ const o = typeof e.path > "u" ? We(e.target) : e.path, { outerHTML: s } = t;
469
+ return o.reverse().map((i) => (i.localName || "") + (i.id ? `#${i.id}` : "") + (i.className ? `.${i.className}` : "") + (i.outerHTML === s ? `:nth-child(${l.length})` : "")).filter((i) => !!i).join(" > ");
470
470
  };
471
- const se = Symbol("store-raw"), R = Symbol("store-node");
471
+ const oe = Symbol("store-raw"), R = Symbol("store-node");
472
472
  function Se(e) {
473
473
  let t = e[C];
474
474
  if (!t && (Object.defineProperty(e, C, {
475
475
  value: t = new Proxy(e, Qe)
476
476
  }), !Array.isArray(e))) {
477
477
  const n = Object.keys(e), l = Object.getOwnPropertyDescriptors(e);
478
- for (let s = 0, o = n.length; s < o; s++) {
479
- const i = n[s];
478
+ for (let o = 0, s = n.length; o < s; o++) {
479
+ const i = n[o];
480
480
  l[i].get && Object.defineProperty(e, i, {
481
481
  enumerable: l[i].enumerable,
482
482
  get: l[i].get.bind(t)
@@ -490,20 +490,20 @@ function Q(e) {
490
490
  return e != null && typeof e == "object" && (e[C] || !(t = Object.getPrototypeOf(e)) || t === Object.prototype || Array.isArray(e));
491
491
  }
492
492
  function V(e, t = /* @__PURE__ */ new Set()) {
493
- let n, l, s, o;
494
- if (n = e != null && e[se])
493
+ let n, l, o, s;
494
+ if (n = e != null && e[oe])
495
495
  return n;
496
496
  if (!Q(e) || t.has(e))
497
497
  return e;
498
498
  if (Array.isArray(e)) {
499
499
  Object.isFrozen(e) ? e = e.slice(0) : t.add(e);
500
500
  for (let i = 0, r = e.length; i < r; i++)
501
- s = e[i], (l = V(s, t)) !== s && (e[i] = l);
501
+ o = e[i], (l = V(o, t)) !== o && (e[i] = l);
502
502
  } else {
503
503
  Object.isFrozen(e) ? e = Object.assign({}, e) : t.add(e);
504
504
  const i = Object.keys(e), r = Object.getOwnPropertyDescriptors(e);
505
505
  for (let c = 0, h = i.length; c < h; c++)
506
- o = i[c], !r[o].get && (s = e[o], (l = V(s, t)) !== s && (e[o] = l));
506
+ s = i[c], !r[s].get && (o = e[s], (l = V(o, t)) !== o && (e[s] = l));
507
507
  }
508
508
  return e;
509
509
  }
@@ -513,7 +513,7 @@ function ce(e) {
513
513
  value: t = /* @__PURE__ */ Object.create(null)
514
514
  }), t;
515
515
  }
516
- function oe(e, t, n) {
516
+ function se(e, t, n) {
517
517
  return e[t] || (e[t] = ke(n));
518
518
  }
519
519
  function Ye(e, t) {
@@ -538,24 +538,24 @@ function ke(e) {
538
538
  }
539
539
  const Qe = {
540
540
  get(e, t, n) {
541
- if (t === se)
541
+ if (t === oe)
542
542
  return e;
543
543
  if (t === C)
544
544
  return n;
545
545
  if (t === fe)
546
546
  return Ae(e), n;
547
- const l = ce(e), s = l[t];
548
- let o = s ? s() : e[t];
547
+ const l = ce(e), o = l[t];
548
+ let s = o ? o() : e[t];
549
549
  if (t === R || t === "__proto__")
550
- return o;
551
- if (!s) {
550
+ return s;
551
+ if (!o) {
552
552
  const i = Object.getOwnPropertyDescriptor(e, t);
553
- we() && (typeof o != "function" || e.hasOwnProperty(t)) && !(i && i.get) && (o = oe(l, t, o)());
553
+ we() && (typeof s != "function" || e.hasOwnProperty(t)) && !(i && i.get) && (s = se(l, t, s)());
554
554
  }
555
- return Q(o) ? Se(o) : o;
555
+ return Q(s) ? Se(s) : s;
556
556
  },
557
557
  has(e, t) {
558
- return t === se || t === C || t === fe || t === R || t === "__proto__" ? !0 : (this.get(e, t, e), t in e);
558
+ return t === oe || t === C || t === fe || t === R || t === "__proto__" ? !0 : (this.get(e, t, e), t in e);
559
559
  },
560
560
  set() {
561
561
  return !0;
@@ -569,21 +569,21 @@ const Qe = {
569
569
  function Z(e, t, n, l = !1) {
570
570
  if (!l && e[t] === n)
571
571
  return;
572
- const s = e[t], o = e.length;
572
+ const o = e[t], s = e.length;
573
573
  n === void 0 ? delete e[t] : e[t] = n;
574
574
  let i = ce(e), r;
575
- if ((r = oe(i, t, s)) && r.$(() => n), Array.isArray(e) && e.length !== o) {
576
- for (let c = e.length; c < o; c++)
575
+ if ((r = se(i, t, o)) && r.$(() => n), Array.isArray(e) && e.length !== s) {
576
+ for (let c = e.length; c < s; c++)
577
577
  (r = i[c]) && r.$();
578
- (r = oe(i, "length", o)) && r.$(e.length);
578
+ (r = se(i, "length", s)) && r.$(e.length);
579
579
  }
580
580
  (r = i._) && r.$();
581
581
  }
582
582
  function Oe(e, t) {
583
583
  const n = Object.keys(t);
584
584
  for (let l = 0; l < n.length; l += 1) {
585
- const s = n[l];
586
- Z(e, s, t[s]);
585
+ const o = n[l];
586
+ Z(e, o, t[o]);
587
587
  }
588
588
  }
589
589
  function Ze(e, t) {
@@ -592,15 +592,15 @@ function Ze(e, t) {
592
592
  return;
593
593
  let n = 0, l = t.length;
594
594
  for (; n < l; n++) {
595
- const s = t[n];
596
- e[n] !== s && Z(e, n, s);
595
+ const o = t[n];
596
+ e[n] !== o && Z(e, n, o);
597
597
  }
598
598
  Z(e, "length", l);
599
599
  } else
600
600
  Oe(e, t);
601
601
  }
602
602
  function B(e, t, n = []) {
603
- let l, s = e;
603
+ let l, o = e;
604
604
  if (t.length > 1) {
605
605
  l = t.shift();
606
606
  const i = typeof l, r = Array.isArray(e);
@@ -625,26 +625,26 @@ function B(e, t, n = []) {
625
625
  B(e[l], t, [l].concat(n));
626
626
  return;
627
627
  }
628
- s = e[l], n = [l].concat(n);
628
+ o = e[l], n = [l].concat(n);
629
629
  }
630
- let o = t[0];
631
- typeof o == "function" && (o = o(s, n), o === s) || l === void 0 && o == null || (o = V(o), l === void 0 || Q(s) && Q(o) && !Array.isArray(o) ? Oe(s, o) : Z(e, l, o));
630
+ let s = t[0];
631
+ typeof s == "function" && (s = s(o, n), s === o) || l === void 0 && s == null || (s = V(s), l === void 0 || Q(o) && Q(s) && !Array.isArray(s) ? Oe(o, s) : Z(e, l, s));
632
632
  }
633
633
  function et(...[e, t]) {
634
- const n = V(e || {}), l = Array.isArray(n), s = Se(n);
635
- function o(...i) {
634
+ const n = V(e || {}), l = Array.isArray(n), o = Se(n);
635
+ function s(...i) {
636
636
  Le(() => {
637
637
  l && i.length === 1 ? Ze(n, i[0]) : B(n, i);
638
638
  });
639
639
  }
640
- return [s, o];
640
+ return [o, s];
641
641
  }
642
642
  const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */ A('<svg data-ohbug-selector height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" data-ohbug-selector fill="none"></path><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z" data-ohbug-selector fill="rgba(255,255,255,1)">'), nt = /* @__PURE__ */ A('<svg data-ohbug-selector height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" data-ohbug-selector fill="none"></path><path d="M3 3h2v2H3V3zm4 0h2v2H7V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm0 4h2v2h-2V7zM3 19h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3V7zm7.667 4l1.036-1.555A1 1 0 0 1 12.535 9h2.93a1 1 0 0 1 .832.445L17.333 11H20a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h2.667zM9 19h10v-6h-2.737l-1.333-2h-1.86l-1.333 2H9v6zm5-1a2 2 0 1 1 0-4 2 2 0 0 1 0 4z" data-ohbug-selector>'), ie = () => tt(), lt = () => (() => {
643
643
  const e = nt();
644
644
  return e.firstChild.nextSibling.style.setProperty("fill", "var(--color)"), e;
645
- })(), st = /* @__PURE__ */ A('<div class="bg-none border-solid border-4 border-blue-500 transition top-0 right-0 bottom-0 left-0 z-10 fixed pointer-events-none" data-ohbug-selector><div class="tips" data-ohbug-selector>Select element on the page<button class="stop-btn" type="button">'), ot = /* @__PURE__ */ A('<button class="rounded-full cursor-pointer flex bg-red-500 h-6 -top-3 -right-3 w-6 z-10 items-center justify-center absolute pointer-events-auto" data-ohbug-selector type="button">'), it = /* @__PURE__ */ A('<button class="border-solid cursor-pointer font-semibold bg-red-500 border-4 border-red-500 -bottom-full text-white right-0 absolute pointer-events-auto" data-ohbug-selector type="button">Change'), rt = /* @__PURE__ */ A('<div class="-z-1 fixed" data-ohbug-selector><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div data-ohbug-selector>'), ct = () => {
645
+ })(), ot = /* @__PURE__ */ A('<div class="bg-none border-solid border-4 border-blue-500 transition top-0 right-0 bottom-0 left-0 z-10 fixed pointer-events-none" data-ohbug-selector><div class="tips" data-ohbug-selector>Select element on the page<button class="stop-btn" type="button">'), st = /* @__PURE__ */ A('<button class="rounded-full cursor-pointer flex bg-red-500 h-6 -top-3 -right-3 w-6 z-10 items-center justify-center absolute pointer-events-auto" data-ohbug-selector type="button">'), it = /* @__PURE__ */ A('<button class="border-solid cursor-pointer font-semibold bg-red-500 border-4 border-red-500 -bottom-full text-white right-0 absolute pointer-events-auto" data-ohbug-selector type="button">Change'), rt = /* @__PURE__ */ A('<div class="-z-1 fixed" data-ohbug-selector><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div class="bg-black bg-opacity-40 transition -z-1 fixed pointer-events-none" data-ohbug-selector></div><div data-ohbug-selector>'), ct = () => {
646
646
  const [e, t] = F();
647
- let n, l, s, o, i;
647
+ let n, l, o, s, i;
648
648
  const r = 2;
649
649
  function c(f) {
650
650
  if (!f || f.tagName === "HTML")
@@ -672,12 +672,12 @@ const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */
672
672
  right: 0;
673
673
  bottom: 0;
674
674
  left: ${P}px;
675
- `), s == null || s.setAttribute("style", `
675
+ `), o == null || o.setAttribute("style", `
676
676
  width: ${a + d}px;
677
677
  top: ${M}px;
678
678
  bottom: 0;
679
679
  left: 0;
680
- `), o == null || o.setAttribute("style", `
680
+ `), s == null || s.setAttribute("style", `
681
681
  width: ${d}px;
682
682
  height: ${y}px;
683
683
  top: ${E}px;
@@ -752,7 +752,7 @@ const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */
752
752
  return !p.selectedElement && p.working;
753
753
  },
754
754
  get children() {
755
- const d = st(), Ce = d.firstChild, Ne = Ce.firstChild, ue = Ne.nextSibling;
755
+ const d = ot(), Ce = d.firstChild, Ne = Ce.firstChild, ue = Ne.nextSibling;
756
756
  return ue.$$click = O, v(ue, x(ie, {})), d;
757
757
  }
758
758
  }), a), D((d) => {
@@ -760,9 +760,9 @@ const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */
760
760
  }, a), D((d) => {
761
761
  l = d;
762
762
  }, y), D((d) => {
763
- s = d;
764
- }, E), D((d) => {
765
763
  o = d;
764
+ }, E), D((d) => {
765
+ s = d;
766
766
  }, P), D((d) => {
767
767
  i = d;
768
768
  }, M), v(M, x(U, {
@@ -771,7 +771,7 @@ const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */
771
771
  },
772
772
  get children() {
773
773
  return [(() => {
774
- const d = ot();
774
+ const d = st();
775
775
  return d.$$click = O, v(d, x(ie, {})), d;
776
776
  })(), (() => {
777
777
  const d = it();
@@ -784,12 +784,12 @@ const [p, z] = et({ working: !1, selectedElement: null }), tt = /* @__PURE__ */
784
784
  _e(["click"]);
785
785
  const ut = /* @__PURE__ */ A('<button class="btn-main" data-ohbug-selector type="button">'), ft = /* @__PURE__ */ A('<div class="bg-white flex flex-col h-60 shadow z-max right-8 bottom-20 w-80 fixed" data-ohbug-selector><div class="bg-gray-300 p-4" data-ohbug-selector><textarea autofocus class="bg-transparent outline-none w-full resize-none" data-ohbug-selector maxlength="1000" placeholder="Tell me how you feel..." rows="4"></textarea><button class="cursor-pointer" data-ohbug-selector type="button"></button></div><div class="flex flex-1 p-4 justify-between items-center" data-ohbug-selector><span class="text-sm" data-ohbug-selector>Try<a class="ml-1 underline" data-ohbug-selector href="https://ohbug.net" rel="noreferrer" target="_blank">Ohbug</a>?</span><button class="btn-send" data-ohbug-selector type="button"></button></div><button class="rounded-full cursor-pointer flex bg-blue-500 h-6 -top-2 -right-2 w-6 z-10 items-center justify-center absolute" data-ohbug-selector type="button">'), at = /* @__PURE__ */ A('<div class="z-max relative" data-ohbug-selector><div>'), dt = () => {
786
786
  const [e, t] = F(!1), [n, l] = F("");
787
- function s() {
787
+ function o() {
788
788
  z({
789
789
  working: !0
790
790
  });
791
791
  }
792
- const [o, i] = F(!1);
792
+ const [s, i] = F(!1);
793
793
  async function r() {
794
794
  i(!0);
795
795
  let c, h;
@@ -849,8 +849,8 @@ const ut = /* @__PURE__ */ A('<button class="btn-main" data-ohbug-selector type=
849
849
  },
850
850
  get children() {
851
851
  const u = ft(), g = u.firstChild, m = g.firstChild, _ = m.nextSibling, T = g.nextSibling, I = T.firstChild, O = I.nextSibling, q = T.nextSibling;
852
- return m.$$input = (f) => l(f.currentTarget.value), _.$$click = s, v(_, x(lt, {})), O.$$click = r, v(O, () => o() ? "Sending..." : "Send"), q.$$click = () => t((f) => !f), v(q, x(ie, {})), j((f) => {
853
- const a = p.selectedElement ? "blue" : "gray", y = !n() || o();
852
+ return m.$$input = (f) => l(f.currentTarget.value), _.$$click = o, v(_, x(lt, {})), O.$$click = r, v(O, () => s() ? "Sending..." : "Send"), q.$$click = () => t((f) => !f), v(q, x(ie, {})), j((f) => {
853
+ const a = p.selectedElement ? "blue" : "gray", y = !n() || s();
854
854
  return a !== f._v$ && ((f._v$ = a) != null ? _.style.setProperty("--color", a) : _.style.removeProperty("--color")), y !== f._v$2 && (O.disabled = f._v$2 = y), f;
855
855
  }, {
856
856
  _v$: void 0,
@@ -861,13 +861,13 @@ const ut = /* @__PURE__ */ A('<button class="btn-main" data-ohbug-selector type=
861
861
  })();
862
862
  };
863
863
  _e(["click", "input"]);
864
- const ht = {
864
+ const ht = (e) => ({
865
865
  name: "OhbugExtensionFeedback",
866
866
  onSetup: () => {
867
- const e = document.createElement("div");
868
- e.id = "OhbugExtensionFeedback-ROOT", document.body.appendChild(e), Ue(() => x(dt, {}), e);
867
+ const t = document.createElement("div");
868
+ t.id = "OhbugExtensionFeedback-ROOT", (e || document.body).appendChild(t), Ue(() => x(dt, {}), t);
869
869
  }
870
- };
870
+ });
871
871
  function styleInject(css,ref){if(ref===void 0){ref={}}var insertAt=ref.insertAt;if(!css||typeof document==="undefined"){return}var head=document.head||document.getElementsByTagName("head")[0];var style=document.createElement("style");style.type="text/css";if(insertAt==="top"){if(head.firstChild){head.insertBefore(style,head.firstChild)}else{head.appendChild(style)}}else{head.appendChild(style)}if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}};styleInject("/*\n! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.btn-main {\n z-index: 99999;\n position: fixed;\n right: 2rem;\n bottom: 2rem;\n display: flex;\n height: 2rem;\n width: 2.5rem;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: center;\n border-radius: 0.25rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-main:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.btn-send {\n border-radius: 0.125rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.btn-send:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.tips {\n z-index: 99999;\n position: fixed;\n top: 0px;\n left: 50%;\n display: flex;\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n border-bottom-right-radius: 0.5rem;\n border-bottom-left-radius: 0.5rem;\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n padding: 0.75rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.z-max {\n z-index: 99999;\n}\n.pointer-events-none {\n pointer-events: none;\n}\n.pointer-events-auto {\n pointer-events: auto;\n}\n.visible {\n visibility: visible;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.-bottom-full {\n bottom: -100%;\n}\n.-right-2 {\n right: -0.5rem;\n}\n.-right-3 {\n right: -0.75rem;\n}\n.-top-2 {\n top: -0.5rem;\n}\n.-top-3 {\n top: -0.75rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.bottom-20 {\n bottom: 5rem;\n}\n.left-0 {\n left: 0px;\n}\n.right-0 {\n right: 0px;\n}\n.right-8 {\n right: 2rem;\n}\n.top-0 {\n top: 0px;\n}\n.z-10 {\n z-index: 10;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.box-border {\n box-sizing: border-box;\n}\n.flex {\n display: flex;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-60 {\n height: 15rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-full {\n width: 100%;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.resize-none {\n resize: none;\n}\n.flex-col {\n flex-direction: column;\n}\n.items-center {\n align-items: center;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-sm {\n border-radius: 0.125rem;\n}\n.border-4 {\n border-width: 4px;\n}\n.border-solid {\n border-style: solid;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n.border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity));\n}\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.bg-opacity-20 {\n --tw-bg-opacity: 0.2;\n}\n.bg-opacity-40 {\n --tw-bg-opacity: 0.4;\n}\n.bg-none {\n background-image: none;\n}\n.p-4 {\n padding: 1rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.font-semibold {\n font-weight: 600;\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.underline {\n text-decoration-line: underline;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}");
872
872
  export {
873
873
  ht as default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohbug/extension-feedback",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "description": "Ohbug extension to collect user feedback",
5
5
  "license": "MIT",
6
6
  "author": "chenyueban <jasonchan0527@gmail.com>",