mesurer-solid 0.2.1-beta.2 → 0.2.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3069 -3020
- package/dist/inject-script.js +14 -14
- package/dist/inject.js +2611 -2562
- package/dist/plugins.js +488 -476
- package/package.json +1 -1
package/dist/plugins.js
CHANGED
|
@@ -3522,20 +3522,20 @@ Ba({}, !0);
|
|
|
3522
3522
|
var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-\\[2px\\] {\n gap: 2px;\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-center {\n align-self: center;\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-\\[2px\\] {\n padding: 2px;\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-0\\.5 {\n padding-top: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-0 {\n padding-right: 0px;\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-1\\.5 {\n padding-bottom: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:text-\\[14px\\] {\n font-size: 14px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n.mesurer-toolbar-mode-switch {\n position: relative;\n z-index: 1;\n isolation: isolate;\n border-radius: 5px;\n background: var(--msr-color-ink-50, #f8fafc);\n}\n.mesurer-toolbar-mode-switch-pill {\n position: absolute;\n top: 2px;\n left: 2px;\n z-index: 0;\n width: 28px;\n height: 28px;\n border-radius: 3px;\n background: var(--msr-color-ink-200, #e2e8f0);\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-switch[data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateX(30px);\n}\n.mesurer-toolbar-mode-switch > :not(.mesurer-toolbar-mode-switch-pill) {\n position: relative;\n z-index: 1;\n}\n.mesurer-toolbar-mode-button {\n display: flex;\n width: 28px;\n height: 28px;\n align-items: center;\n justify-content: center;\n border-radius: 3px;\n color: var(--msr-color-ink-700, #334155);\n outline: none;\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"true\"] {\n color: var(--msr-color-ink-900, #18181b);\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"false\"]:not(:disabled):hover {\n background: var(--msr-color-ink-200, #e2e8f0);\n @supports (color: color-mix(in lab, red, red)) {\n background: color-mix(in srgb, var(--msr-color-ink-200, #e2e8f0) 50%, transparent);\n }\n}\n.mesurer-toolbar-mode-button:focus-visible {\n outline: 1px solid var(--msr-color-ink-500, #64748b);\n outline-offset: 1px;\n}\n.mesurer-toolbar-mode-button:disabled {\n cursor: default;\n opacity: 0.35;\n}\n.mesurer-toolbar-mode-stage {\n --msr-select-mode-w: 0px;\n --msr-edit-mode-w: 0px;\n position: relative;\n flex: none;\n width: var(--msr-select-mode-w);\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-track {\n display: flex;\n width: max-content;\n align-items: stretch;\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] .mesurer-toolbar-mode-track {\n transform: translateX(calc(-1 * var(--msr-select-mode-w)));\n}\n.mesurer-toolbar-mode-slot {\n flex: none;\n width: var(--msr-select-mode-w);\n}\n.mesurer-toolbar-mode-slot[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-panel {\n display: flex;\n width: max-content;\n align-items: stretch;\n}\n.mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: hidden;\n pointer-events: none;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] {\n overflow: hidden;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] .mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: visible;\n}\n.mesurer-toolbar-mode-stage:has( .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"menu\"], .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"dialog\"] ) {\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"], .mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-duration: 150ms;\n transition-timing-function: ease;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] {\n transition-property: width;\n}\n.mesurer-toolbar-mode-stage[data-compact-motion=\"true\"] {\n transition-property: none;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-property: transform;\n}\n.mesurer-toolbar-mode-switch {\n --msr-toolbar-mode-motion: 150ms ease;\n}\n.mesurer-toolbar-mode-switch-pill {\n transition: transform var(--msr-toolbar-mode-motion);\n}\n@media (prefers-reduced-motion: reduce) {\n .mesurer-toolbar-mode-stage, .mesurer-toolbar-mode-track, .mesurer-toolbar-mode-switch-pill {\n transition: none !important;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", Ha = {
|
|
3523
3523
|
keepTextChanges: !1,
|
|
3524
3524
|
keepArrangeChanges: !1
|
|
3525
|
-
}, Ua = (e) => e.state.get("mesurer.presentation.preferences") ?? Ha, Wa = "mesurer.arrange", Ga = "arrange", Ka = "mesurer.arrange.intents", qa = "mesurer.arrange.active", Ja = "mesurer.arrange.settings", Ya = "runtime:solid", Xa = "builtin.select", Za = "arrange.toggle", Qa = "arrange.commit", $a = "arrange.clear", eo = "arrange.reset-selection", to = "arrange.reset-all", no = "mesurer.arrange.selection-available", ro = 1, io = 24, ao = 160, oo = 500, so = "#ef4444", co = 24, lo = 6, uo = 30, fo = .5, po = "[data-mesurer-text-editor='true']",
|
|
3525
|
+
}, Ua = (e) => e.state.get("mesurer.presentation.preferences") ?? Ha, Wa = "mesurer.arrange", Ga = "arrange", Ka = "mesurer.arrange.intents", qa = "mesurer.arrange.active", Ja = "mesurer.arrange.settings", Ya = "runtime:solid", Xa = "builtin.select", Za = "arrange.toggle", Qa = "arrange.commit", $a = "arrange.clear", eo = "arrange.reset-selection", to = "arrange.reset-all", no = "mesurer.arrange.selection-available", ro = 1, io = 24, ao = 160, oo = 500, so = "#ef4444", co = 24, lo = 6, uo = 30, fo = .5, po = 4, mo = "[data-mesurer-text-editor='true']", ho = {
|
|
3526
3526
|
viewBox: "0 0 24 24",
|
|
3527
3527
|
paths: ["M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z"]
|
|
3528
|
-
},
|
|
3528
|
+
}, go = (e, t) => ({
|
|
3529
3529
|
left: e.left + t.x,
|
|
3530
3530
|
top: e.top + t.y,
|
|
3531
3531
|
width: e.width,
|
|
3532
3532
|
height: e.height
|
|
3533
|
-
}),
|
|
3533
|
+
}), _o = (e, t) => ({
|
|
3534
3534
|
left: e.left - t.left,
|
|
3535
3535
|
top: e.top - t.top,
|
|
3536
3536
|
width: e.width - t.width,
|
|
3537
3537
|
height: e.height - t.height
|
|
3538
|
-
}),
|
|
3538
|
+
}), vo = (e) => {
|
|
3539
3539
|
if (!e.length) return null;
|
|
3540
3540
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
3541
3541
|
return {
|
|
@@ -3544,35 +3544,35 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3544
3544
|
width: r - t,
|
|
3545
3545
|
height: i - n
|
|
3546
3546
|
};
|
|
3547
|
-
},
|
|
3547
|
+
}, yo = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), bo = (e, t, n) => {
|
|
3548
3548
|
let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
|
|
3549
3549
|
return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
|
|
3550
3550
|
r,
|
|
3551
3551
|
r + i / 2,
|
|
3552
3552
|
a
|
|
3553
3553
|
];
|
|
3554
|
-
},
|
|
3554
|
+
}, xo = (e, t) => t === "x" ? {
|
|
3555
3555
|
start: e.top,
|
|
3556
3556
|
end: e.top + e.height
|
|
3557
3557
|
} : {
|
|
3558
3558
|
start: e.left,
|
|
3559
3559
|
end: e.left + e.width
|
|
3560
|
-
},
|
|
3561
|
-
let r =
|
|
3562
|
-
for (let a of n) if (a.axis === e && !(a.source === "element" &&
|
|
3560
|
+
}, So = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Co = (e, t, n) => {
|
|
3561
|
+
let r = xo(t, e), i = null;
|
|
3562
|
+
for (let a of n) if (a.axis === e && !(a.source === "element" && yo(r.start, r.end, a.start, a.end) > ao)) for (let n of bo(t, e, a.kind)) {
|
|
3563
3563
|
let e = a.position - n, t = Math.abs(e);
|
|
3564
3564
|
if (t > 10) continue;
|
|
3565
3565
|
let r = i ? Math.abs(i.delta) : Infinity;
|
|
3566
|
-
(t < r || t === r && (!i ||
|
|
3566
|
+
(t < r || t === r && (!i || So(a) > So(i))) && (i = {
|
|
3567
3567
|
...a,
|
|
3568
3568
|
delta: e
|
|
3569
3569
|
});
|
|
3570
3570
|
}
|
|
3571
3571
|
return i;
|
|
3572
|
-
},
|
|
3572
|
+
}, wo = (e) => {
|
|
3573
3573
|
let { origin: t, pathname: n, search: r } = e.location;
|
|
3574
3574
|
return `${t}${n}${r}`;
|
|
3575
|
-
},
|
|
3575
|
+
}, To = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Eo = (e) => ({
|
|
3576
3576
|
tag: e.fingerprintTag,
|
|
3577
3577
|
id: e.fingerprintId,
|
|
3578
3578
|
testId: e.fingerprintTestId,
|
|
@@ -3580,10 +3580,10 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3580
3580
|
ariaLabel: e.fingerprintAriaLabel,
|
|
3581
3581
|
classes: [...e.fingerprintClasses],
|
|
3582
3582
|
text: e.fingerprintText
|
|
3583
|
-
}),
|
|
3583
|
+
}), Do = (e) => ({
|
|
3584
3584
|
id: e.id,
|
|
3585
3585
|
selector: e.selector,
|
|
3586
|
-
fingerprint:
|
|
3586
|
+
fingerprint: Eo(e),
|
|
3587
3587
|
before: {
|
|
3588
3588
|
left: e.beforeLeft,
|
|
3589
3589
|
top: e.beforeTop,
|
|
@@ -3604,18 +3604,18 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3604
3604
|
x: e.desiredOffsetX,
|
|
3605
3605
|
y: e.desiredOffsetY
|
|
3606
3606
|
}
|
|
3607
|
-
}),
|
|
3607
|
+
}), Oo = (e) => ({
|
|
3608
3608
|
id: e.id,
|
|
3609
3609
|
createdAt: e.createdAt,
|
|
3610
3610
|
pageUrl: e.pageUrl,
|
|
3611
|
-
targets: e.targets.map(
|
|
3612
|
-
}),
|
|
3611
|
+
targets: e.targets.map(Do)
|
|
3612
|
+
}), ko = (e, t) => ({
|
|
3613
3613
|
value: e.style.getPropertyValue(t),
|
|
3614
3614
|
priority: e.style.getPropertyPriority(t)
|
|
3615
|
-
}),
|
|
3615
|
+
}), Ao = (e) => ko(e, "transform"), jo = (e, t) => e.value === t.value && e.priority === t.priority, Mo = jo, No = (e) => {
|
|
3616
3616
|
let { element: t, beforeTransform: n, appliedTransform: r } = e;
|
|
3617
|
-
|
|
3618
|
-
},
|
|
3617
|
+
Mo(Ao(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
|
|
3618
|
+
}, Po = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Fo = () => ar({
|
|
3619
3619
|
id: Wa,
|
|
3620
3620
|
version: "0.1.0",
|
|
3621
3621
|
requires: [Ya, "tool:select"],
|
|
@@ -3675,13 +3675,13 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3675
3675
|
...e,
|
|
3676
3676
|
...t
|
|
3677
3677
|
}));
|
|
3678
|
-
}, k = () =>
|
|
3678
|
+
}, k = () => wo(r), A = () => T().intents.filter((e) => e.pageUrl === k()), ee = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), j = (e) => qi(e, o) && !ee(e), te = (e) => {
|
|
3679
3679
|
let t = [];
|
|
3680
3680
|
o instanceof c.HTMLElement && o.matches(e) && !ee(o) && t.push(o);
|
|
3681
3681
|
for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && j(n) && t.push(n);
|
|
3682
3682
|
return t;
|
|
3683
3683
|
}, M = (e, t) => e.localName !== t.fingerprintTag || t.fingerprintId && e.id !== t.fingerprintId || t.fingerprintTestId && e.getAttribute("data-testid") !== t.fingerprintTestId || t.fingerprintRole && e.getAttribute("role") !== t.fingerprintRole || t.fingerprintAriaLabel && e.getAttribute("aria-label") !== t.fingerprintAriaLabel ? !1 : t.fingerprintClasses.every((t) => e.classList.contains(t)), N = (e) => {
|
|
3684
|
-
let t =
|
|
3684
|
+
let t = Eo(e), n = m.get(e.selector);
|
|
3685
3685
|
if (n && n.isConnected && j(n) && M(n, e)) return n;
|
|
3686
3686
|
if (n && m.delete(e.selector), !Zi(t)) return null;
|
|
3687
3687
|
let r = [];
|
|
@@ -3705,17 +3705,17 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3705
3705
|
value: "none",
|
|
3706
3706
|
priority: "important"
|
|
3707
3707
|
}, F = (e) => {
|
|
3708
|
-
let t =
|
|
3709
|
-
(!h.get(e) || !
|
|
3708
|
+
let t = ko(e, "transition-property");
|
|
3709
|
+
(!h.get(e) || !jo(t, P)) && h.set(e, t), jo(t, P) || e.style.setProperty("transition-property", P.value, P.priority);
|
|
3710
3710
|
}, I = (e) => {
|
|
3711
3711
|
let t = h.get(e);
|
|
3712
|
-
t && (
|
|
3712
|
+
t && (jo(ko(e, "transition-property"), P) && (t.value || t.priority ? e.style.setProperty("transition-property", t.value, t.priority) : e.style.removeProperty("transition-property")), h.delete(e));
|
|
3713
3713
|
}, L = (e) => {
|
|
3714
3714
|
for (let t of h.keys()) e.has(t) || I(t);
|
|
3715
3715
|
}, R = () => {
|
|
3716
3716
|
for (let e of h.keys()) I(e);
|
|
3717
3717
|
}, z = () => {
|
|
3718
|
-
for (let e of p.values())
|
|
3718
|
+
for (let e of p.values()) No(e);
|
|
3719
3719
|
p.clear();
|
|
3720
3720
|
}, B = () => {
|
|
3721
3721
|
z(), R();
|
|
@@ -3732,7 +3732,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3732
3732
|
d.style.display = "block", d.style.left = `${e}px`, d.style.top = `${t.position}px`, d.style.width = `${Math.max(1, r - e)}px`;
|
|
3733
3733
|
}
|
|
3734
3734
|
}
|
|
3735
|
-
}, re = () => !!(n.querySelector(
|
|
3735
|
+
}, re = () => !!(n.querySelector(mo) || s.querySelector(mo)), ie = () => {
|
|
3736
3736
|
for (let [e, t] of g) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
|
|
3737
3737
|
g.clear();
|
|
3738
3738
|
}, H = () => {
|
|
@@ -3837,11 +3837,11 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3837
3837
|
for (let { element: e } of t) F(e);
|
|
3838
3838
|
z();
|
|
3839
3839
|
for (let { element: e, offset: n } of t) {
|
|
3840
|
-
let t =
|
|
3840
|
+
let t = Ao(e), i = r.getComputedStyle(e).transform, a = i && i !== "none" ? ` ${i}` : "";
|
|
3841
3841
|
e.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(e, {
|
|
3842
3842
|
element: e,
|
|
3843
3843
|
beforeTransform: t,
|
|
3844
|
-
appliedTransform:
|
|
3844
|
+
appliedTransform: Ao(e)
|
|
3845
3845
|
});
|
|
3846
3846
|
}
|
|
3847
3847
|
L(n);
|
|
@@ -3860,7 +3860,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3860
3860
|
let me = () => e.state.get(no) ?? !1, he = () => {
|
|
3861
3861
|
let t = pe().length > 0;
|
|
3862
3862
|
t !== me() && e.state.update(no, () => t);
|
|
3863
|
-
}, ge = () =>
|
|
3863
|
+
}, ge = () => vo(pe().map((e) => ki(e))), _e = () => {
|
|
3864
3864
|
for (let e of _.values()) e.remove();
|
|
3865
3865
|
_.clear();
|
|
3866
3866
|
}, ve = (e) => {
|
|
@@ -4028,46 +4028,46 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4028
4028
|
if (!E() || e.button !== 0) return;
|
|
4029
4029
|
let r = pe();
|
|
4030
4030
|
if (!r.length) return;
|
|
4031
|
-
let a =
|
|
4031
|
+
let a = n.elementsFromPoint && (!(o instanceof c.ShadowRoot) || o.elementsFromPoint) ? Ji(t.rendererRoot ?? null, () => Ji(l, () => Ki({
|
|
4032
4032
|
x: e.clientX,
|
|
4033
4033
|
y: e.clientY
|
|
4034
|
-
}, o, n))) : null;
|
|
4035
|
-
if (e.shiftKey &&
|
|
4036
|
-
e.preventDefault(), e.stopPropagation(), i.toggleSelection(
|
|
4034
|
+
}, o, n))) : null, s = e.shiftKey ? a : null;
|
|
4035
|
+
if (e.shiftKey && s instanceof c.HTMLElement && j(s) && !r.includes(s)) {
|
|
4036
|
+
e.preventDefault(), e.stopPropagation(), i.toggleSelection(s);
|
|
4037
4037
|
return;
|
|
4038
4038
|
}
|
|
4039
4039
|
e.preventDefault(), e.stopPropagation(), v = {
|
|
4040
4040
|
intentId: null,
|
|
4041
4041
|
state: "desired"
|
|
4042
4042
|
}, de();
|
|
4043
|
-
let
|
|
4043
|
+
let u = W(A()), d = ce(A()), p = new Set(r);
|
|
4044
4044
|
z();
|
|
4045
|
-
let
|
|
4046
|
-
let n = ki(e), r = ae(e,
|
|
4045
|
+
let m = r.map((e, t) => {
|
|
4046
|
+
let n = ki(e), r = ae(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? oe(a) : null) ?? {
|
|
4047
4047
|
x: i.x - r.x,
|
|
4048
4048
|
y: i.y - r.y
|
|
4049
|
-
},
|
|
4049
|
+
}, s = go(n, i), c = Xi(e);
|
|
4050
4050
|
return {
|
|
4051
4051
|
element: e,
|
|
4052
|
-
movesDirectly: se(e,
|
|
4052
|
+
movesDirectly: se(e, p) === null,
|
|
4053
4053
|
target: {
|
|
4054
4054
|
id: `target-${t + 1}`,
|
|
4055
4055
|
selector: Yi(e),
|
|
4056
|
-
fingerprintTag:
|
|
4057
|
-
fingerprintId:
|
|
4058
|
-
fingerprintTestId:
|
|
4059
|
-
fingerprintRole:
|
|
4060
|
-
fingerprintAriaLabel:
|
|
4061
|
-
fingerprintClasses: [...
|
|
4062
|
-
fingerprintText:
|
|
4063
|
-
beforeLeft:
|
|
4064
|
-
beforeTop:
|
|
4065
|
-
beforeWidth:
|
|
4066
|
-
beforeHeight:
|
|
4067
|
-
desiredLeft:
|
|
4068
|
-
desiredTop:
|
|
4069
|
-
desiredWidth:
|
|
4070
|
-
desiredHeight:
|
|
4056
|
+
fingerprintTag: c.tag,
|
|
4057
|
+
fingerprintId: c.id,
|
|
4058
|
+
fingerprintTestId: c.testId,
|
|
4059
|
+
fingerprintRole: c.role,
|
|
4060
|
+
fingerprintAriaLabel: c.ariaLabel,
|
|
4061
|
+
fingerprintClasses: [...c.classes],
|
|
4062
|
+
fingerprintText: c.text,
|
|
4063
|
+
beforeLeft: s.left,
|
|
4064
|
+
beforeTop: s.top,
|
|
4065
|
+
beforeWidth: s.width,
|
|
4066
|
+
beforeHeight: s.height,
|
|
4067
|
+
desiredLeft: s.left,
|
|
4068
|
+
desiredTop: s.top,
|
|
4069
|
+
desiredWidth: s.width,
|
|
4070
|
+
desiredHeight: s.height,
|
|
4071
4071
|
beforeOffsetX: i.x,
|
|
4072
4072
|
beforeOffsetY: i.y,
|
|
4073
4073
|
desiredOffsetX: i.x,
|
|
@@ -4079,13 +4079,13 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4079
4079
|
desiredLocalOffsetY: o.y
|
|
4080
4080
|
}
|
|
4081
4081
|
};
|
|
4082
|
-
}),
|
|
4082
|
+
}), h = vo(m.map(({ target: e }) => ({
|
|
4083
4083
|
left: e.beforeLeft,
|
|
4084
4084
|
top: e.beforeTop,
|
|
4085
4085
|
width: e.beforeWidth,
|
|
4086
4086
|
height: e.beforeHeight
|
|
4087
4087
|
})));
|
|
4088
|
-
if (!
|
|
4088
|
+
if (!h) {
|
|
4089
4089
|
de();
|
|
4090
4090
|
return;
|
|
4091
4091
|
}
|
|
@@ -4093,13 +4093,15 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4093
4093
|
pointerId: e.pointerId,
|
|
4094
4094
|
originX: e.clientX,
|
|
4095
4095
|
originY: e.clientY,
|
|
4096
|
-
targets:
|
|
4097
|
-
groupBefore:
|
|
4096
|
+
targets: m,
|
|
4097
|
+
groupBefore: h,
|
|
4098
4098
|
snapCandidates: Se(r),
|
|
4099
|
-
|
|
4099
|
+
pressTarget: a instanceof c.HTMLElement && j(a) ? a : null,
|
|
4100
|
+
shiftToggleElement: e.shiftKey && s instanceof c.HTMLElement && r.includes(s) ? s : null,
|
|
4101
|
+
moved: !1,
|
|
4100
4102
|
dx: 0,
|
|
4101
4103
|
dy: 0
|
|
4102
|
-
}, Ce(
|
|
4104
|
+
}, Ce(h), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
|
|
4103
4105
|
}, Ae = (e, t, n) => {
|
|
4104
4106
|
let r = /* @__PURE__ */ new Map();
|
|
4105
4107
|
for (let i of e.targets) {
|
|
@@ -4116,15 +4118,19 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4116
4118
|
}, je = (e) => {
|
|
4117
4119
|
if (!y || e.pointerId !== y.pointerId) return;
|
|
4118
4120
|
let t = e.clientX - y.originX, n = e.clientY - y.originY, r = null;
|
|
4121
|
+
if (!y.moved) {
|
|
4122
|
+
if (Math.hypot(t, n) < po) return;
|
|
4123
|
+
y.moved = !0;
|
|
4124
|
+
}
|
|
4119
4125
|
e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
|
|
4120
|
-
let i =
|
|
4126
|
+
let i = go(y.groupBefore, {
|
|
4121
4127
|
x: t,
|
|
4122
4128
|
y: n
|
|
4123
|
-
}), a = r === "y" ? null :
|
|
4129
|
+
}), a = r === "y" ? null : Co("x", i, y.snapCandidates), o = r === "x" ? null : Co("y", i, y.snapCandidates);
|
|
4124
4130
|
t += a?.delta ?? 0, n += o?.delta ?? 0, y.dx = t, y.dy = n;
|
|
4125
4131
|
let s = ce(A(), Ae(y, t, n));
|
|
4126
4132
|
ue(s);
|
|
4127
|
-
let c =
|
|
4133
|
+
let c = go(y.groupBefore, {
|
|
4128
4134
|
x: t,
|
|
4129
4135
|
y: n
|
|
4130
4136
|
});
|
|
@@ -4137,13 +4143,19 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4137
4143
|
if (!y || t.pointerId !== y.pointerId) return;
|
|
4138
4144
|
t.preventDefault(), t.stopPropagation();
|
|
4139
4145
|
let n = y;
|
|
4140
|
-
if (y = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", V(), n.
|
|
4141
|
-
n.shiftToggleElement
|
|
4146
|
+
if (y = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", V(), !n.moved) {
|
|
4147
|
+
if (n.shiftToggleElement) i.toggleSelection(n.shiftToggleElement);
|
|
4148
|
+
else if (n.pressTarget && !n.targets.some(({ element: e }) => e === n.pressTarget)) try {
|
|
4149
|
+
i.select([Yi(n.pressTarget)]);
|
|
4150
|
+
} catch {
|
|
4151
|
+
i.clearSelection(), i.toggleSelection(n.pressTarget);
|
|
4152
|
+
}
|
|
4153
|
+
we(), Ce();
|
|
4142
4154
|
return;
|
|
4143
4155
|
}
|
|
4144
4156
|
let a = ce(A(), Ae(n, n.dx, n.dy));
|
|
4145
4157
|
b = {
|
|
4146
|
-
id:
|
|
4158
|
+
id: To(r, "arrange"),
|
|
4147
4159
|
createdAt: Date.now(),
|
|
4148
4160
|
pageUrl: k(),
|
|
4149
4161
|
targets: n.targets.map(({ element: e, movesDirectly: t, target: r }) => {
|
|
@@ -4188,7 +4200,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4188
4200
|
let r = Fe(e);
|
|
4189
4201
|
i.setHover(r instanceof c.HTMLElement && j(r) ? r : null);
|
|
4190
4202
|
}, Le = (t) => {
|
|
4191
|
-
if (t.key !== "Escape" || !E() && !y ||
|
|
4203
|
+
if (t.key !== "Escape" || !E() && !y || Po(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
|
|
4192
4204
|
if (t.preventDefault(), t.stopImmediatePropagation(), y) {
|
|
4193
4205
|
Me();
|
|
4194
4206
|
return;
|
|
@@ -4218,17 +4230,17 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4218
4230
|
he(), De();
|
|
4219
4231
|
}), ze = e.state.subscribe(De), Be = (e) => T().intents.find((t) => t.id === e) ?? null, Ve = (e, t) => {
|
|
4220
4232
|
let n = null;
|
|
4221
|
-
if (n = t === "before" ?
|
|
4233
|
+
if (n = t === "before" ? vo(e.targets.map((e) => ({
|
|
4222
4234
|
left: e.beforeLeft,
|
|
4223
4235
|
top: e.beforeTop,
|
|
4224
4236
|
width: e.beforeWidth,
|
|
4225
4237
|
height: e.beforeHeight
|
|
4226
|
-
}))) : t === "desired" ?
|
|
4238
|
+
}))) : t === "desired" ? vo(e.targets.map((e) => ({
|
|
4227
4239
|
left: e.desiredLeft,
|
|
4228
4240
|
top: e.desiredTop,
|
|
4229
4241
|
width: e.desiredWidth,
|
|
4230
4242
|
height: e.desiredHeight
|
|
4231
|
-
}))) : fe(() =>
|
|
4243
|
+
}))) : fe(() => vo(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => ki(e)))), !n) throw Error(`Edit movement intent has no resolvable capture region: ${e.id}`);
|
|
4232
4244
|
let i = Math.max(0, n.left - io), a = Math.max(0, n.top - io), o = Math.min(r.innerWidth, n.left + n.width + io), s = Math.min(r.innerHeight, n.top + n.height + io);
|
|
4233
4245
|
return {
|
|
4234
4246
|
left: i,
|
|
@@ -4238,10 +4250,10 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4238
4250
|
};
|
|
4239
4251
|
}, He = {
|
|
4240
4252
|
active: E,
|
|
4241
|
-
intents: () => T().intents.map(
|
|
4253
|
+
intents: () => T().intents.map(Oo),
|
|
4242
4254
|
intent(e) {
|
|
4243
4255
|
let t = Be(e);
|
|
4244
|
-
return t ?
|
|
4256
|
+
return t ? Oo(t) : null;
|
|
4245
4257
|
},
|
|
4246
4258
|
show(e, t) {
|
|
4247
4259
|
if (!Be(e)) throw Error(`Edit intent not found: ${e}`);
|
|
@@ -4292,7 +4304,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4292
4304
|
delta: null,
|
|
4293
4305
|
matched: !1
|
|
4294
4306
|
};
|
|
4295
|
-
let i = ki(n), a =
|
|
4307
|
+
let i = ki(n), a = _o(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
|
|
4296
4308
|
return {
|
|
4297
4309
|
targetId: e.id,
|
|
4298
4310
|
selector: e.selector,
|
|
@@ -4329,7 +4341,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4329
4341
|
command: Za,
|
|
4330
4342
|
toolbarMode: "edit",
|
|
4331
4343
|
modeSwitch: !0,
|
|
4332
|
-
icon:
|
|
4344
|
+
icon: ho,
|
|
4333
4345
|
active: E,
|
|
4334
4346
|
menu: {
|
|
4335
4347
|
label: "Edit options",
|
|
@@ -4466,7 +4478,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4466
4478
|
S = !0, C && r.cancelAnimationFrame(C), w?.disconnect(), w = null, f.removeEventListener("pointerdown", ke), f.removeEventListener("pointermove", je), f.removeEventListener("pointerup", Ne), f.removeEventListener("pointercancel", Pe), r.removeEventListener("pointermove", Ie, !0), r.removeEventListener("keydown", Le, !0), r.removeEventListener("resize", De), r.removeEventListener("scroll", De, !0), o.removeEventListener("scroll", De, !0), Re(), ze.dispose(), B(), _e(), V(), ie(), i.dispose(), a.dispose();
|
|
4467
4479
|
});
|
|
4468
4480
|
}
|
|
4469
|
-
}),
|
|
4481
|
+
}), Io = (e, t, n) => {
|
|
4470
4482
|
let r = !1, i = 0, a = null, o = null, s = () => ({
|
|
4471
4483
|
visible: (e.state.get("mesurer.arrange.active") ?? !1) || Ua(e).keepArrangeChanges,
|
|
4472
4484
|
intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
|
|
@@ -4489,27 +4501,27 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4489
4501
|
l(s()), e.lifecycle.onDispose(() => {
|
|
4490
4502
|
r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
|
|
4491
4503
|
});
|
|
4492
|
-
},
|
|
4504
|
+
}, Lo = [
|
|
4493
4505
|
"[data-mesurer-measurement='true']",
|
|
4494
4506
|
"[data-mesurer-selected-measurement='true']",
|
|
4495
4507
|
"[data-mesurer-inspector-ui='true']"
|
|
4496
|
-
].join(""),
|
|
4508
|
+
].join(""), Ro = "[data-mesurer-text-edit-runtime='true']", zo = "[data-mesurer-text-editor='true']", Bo = (e, t) => {
|
|
4497
4509
|
let n = t.ownerDocument.body;
|
|
4498
4510
|
if (!n) return;
|
|
4499
|
-
let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = [], s = null, c = (e) => e.matches(
|
|
4511
|
+
let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = [], s = null, c = (e) => e.matches(Lo) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
|
|
4500
4512
|
for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
|
|
4501
4513
|
i.clear();
|
|
4502
|
-
}, u = () => o.some((e) => e.isConnected && !!e.querySelector(
|
|
4514
|
+
}, u = () => o.some((e) => e.isConnected && !!e.querySelector(zo)), d = (e) => {
|
|
4503
4515
|
!a || u() || !c(e) || (i.has(e) || i.set(e, {
|
|
4504
4516
|
value: e.style.getPropertyValue("visibility"),
|
|
4505
4517
|
priority: e.style.getPropertyPriority("visibility")
|
|
4506
4518
|
}), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
|
|
4507
4519
|
}, f = () => {
|
|
4508
|
-
if (!(!a || u())) for (let e of n.querySelectorAll(
|
|
4520
|
+
if (!(!a || u())) for (let e of n.querySelectorAll(Lo)) e instanceof r.HTMLElement && d(e);
|
|
4509
4521
|
}, p = () => {
|
|
4510
4522
|
!a || u() ? l() : f();
|
|
4511
4523
|
}, m = () => {
|
|
4512
|
-
let e = Array.from(n.querySelectorAll(
|
|
4524
|
+
let e = Array.from(n.querySelectorAll(Ro));
|
|
4513
4525
|
if (!(e.length === o.length && e.every((e, t) => e === o[t]))) {
|
|
4514
4526
|
if (s?.disconnect(), s = null, o = e, e.length > 0) {
|
|
4515
4527
|
s = new r.MutationObserver(p);
|
|
@@ -4525,8 +4537,8 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4525
4537
|
let h = new r.MutationObserver((e) => {
|
|
4526
4538
|
let t = !1;
|
|
4527
4539
|
for (let n of e) {
|
|
4528
|
-
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(
|
|
4529
|
-
for (let e of n.removedNodes) e instanceof r.HTMLElement && e.matches(
|
|
4540
|
+
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(Ro) && (t = !0), d(e));
|
|
4541
|
+
for (let e of n.removedNodes) e instanceof r.HTMLElement && e.matches(Ro) && (t = !0);
|
|
4530
4542
|
}
|
|
4531
4543
|
t && m();
|
|
4532
4544
|
});
|
|
@@ -4538,8 +4550,8 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4538
4550
|
p(), e.lifecycle.onDispose(() => {
|
|
4539
4551
|
h.disconnect(), s?.disconnect(), s = null, o = [], g.dispose(), l();
|
|
4540
4552
|
});
|
|
4541
|
-
},
|
|
4542
|
-
let e =
|
|
4553
|
+
}, Vo = () => {
|
|
4554
|
+
let e = Fo();
|
|
4543
4555
|
return {
|
|
4544
4556
|
...e,
|
|
4545
4557
|
async setup(t) {
|
|
@@ -4548,10 +4560,10 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4548
4560
|
if (!n) throw Error("Edit movement presentation policy requires the movement service.");
|
|
4549
4561
|
let r = t.service.get("runtime:solid");
|
|
4550
4562
|
if (!r) throw Error("Edit movement presentation policy requires the Solid renderer runtime.");
|
|
4551
|
-
|
|
4563
|
+
Io(t, n, r.ownerWindow), Bo(t, r);
|
|
4552
4564
|
}
|
|
4553
4565
|
};
|
|
4554
|
-
},
|
|
4566
|
+
}, Ho = (e, t, n, r) => ar({
|
|
4555
4567
|
id: `mesurer.${e}`,
|
|
4556
4568
|
version: "0.1.0",
|
|
4557
4569
|
provides: [`tool:${e}`],
|
|
@@ -4565,7 +4577,7 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4565
4577
|
command: `builtin.${e}`
|
|
4566
4578
|
});
|
|
4567
4579
|
}
|
|
4568
|
-
}),
|
|
4580
|
+
}), Uo = () => Ho("select", "Select", "S", 10), Wo = () => Ho("xray", "X-ray", "X", 20), Go = () => Ho("color-picker", "Color picker", "P", 30), Ko = () => Ho("rulers", "Rulers", "R", 40), qo = () => Ho("text-inspector", "Typography", "A", 50), Jo = () => Ho("guides", "Guides", "G", 60), Yo = () => Ho("settings", "Settings", "⌘/Ctrl+,", 90), Xo = () => ar({
|
|
4569
4581
|
id: "mesurer.distance",
|
|
4570
4582
|
version: "0.1.0",
|
|
4571
4583
|
provides: ["overlay:distance", "settings:selection-spacing"],
|
|
@@ -4581,21 +4593,21 @@ var Va = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4581
4593
|
order: 30
|
|
4582
4594
|
});
|
|
4583
4595
|
}
|
|
4584
|
-
}),
|
|
4585
|
-
Ho(),
|
|
4596
|
+
}), Zo = () => [
|
|
4586
4597
|
Uo(),
|
|
4587
4598
|
Wo(),
|
|
4588
4599
|
Go(),
|
|
4589
4600
|
Ko(),
|
|
4590
4601
|
qo(),
|
|
4591
|
-
|
|
4592
|
-
|
|
4602
|
+
Jo(),
|
|
4603
|
+
Xo(),
|
|
4604
|
+
Yo()
|
|
4593
4605
|
];
|
|
4594
|
-
function
|
|
4606
|
+
function Qo(e = [], t = []) {
|
|
4595
4607
|
let n = new Set(t.map((e) => `mesurer.${e}`));
|
|
4596
|
-
return [...
|
|
4608
|
+
return [...Zo().filter((e) => !n.has(e.id)), ...e];
|
|
4597
4609
|
}
|
|
4598
|
-
var
|
|
4610
|
+
var $o = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), es = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), ts = (e, t, n, r, i) => {
|
|
4599
4611
|
let a = e.left + e.width, o = e.top + e.height, s = [
|
|
4600
4612
|
{
|
|
4601
4613
|
axis: "vertical",
|
|
@@ -4643,7 +4655,7 @@ var Qo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), $o = (e, t, n =
|
|
|
4643
4655
|
}
|
|
4644
4656
|
];
|
|
4645
4657
|
return i ? s.sort((e, t) => t.space - e.space) : s;
|
|
4646
|
-
},
|
|
4658
|
+
}, ns = (e, t, n) => {
|
|
4647
4659
|
let r = [];
|
|
4648
4660
|
for (let i = 0; i <= n; i += 1) {
|
|
4649
4661
|
let n = i * t;
|
|
@@ -4669,14 +4681,14 @@ var Qo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), $o = (e, t, n =
|
|
|
4669
4681
|
}
|
|
4670
4682
|
return r;
|
|
4671
4683
|
};
|
|
4672
|
-
function
|
|
4684
|
+
function rs(e, t, n = {}) {
|
|
4673
4685
|
let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
|
|
4674
4686
|
for (let n of e) {
|
|
4675
|
-
let e = /* @__PURE__ */ new Set(), _ = [], v =
|
|
4676
|
-
for (let t of
|
|
4687
|
+
let e = /* @__PURE__ */ new Set(), _ = [], v = ts(n.rect, t, r, a, u);
|
|
4688
|
+
for (let t of ns(v, d, l)) {
|
|
4677
4689
|
let n = u ? {
|
|
4678
|
-
left:
|
|
4679
|
-
top:
|
|
4690
|
+
left: $o(t.left, s, f),
|
|
4691
|
+
top: $o(t.top, s, p)
|
|
4680
4692
|
} : t, r = `${n.left}:${n.top}`;
|
|
4681
4693
|
e.has(r) || (e.add(r), _.push(n));
|
|
4682
4694
|
}
|
|
@@ -4686,21 +4698,21 @@ function ns(e, t, n = {}) {
|
|
|
4686
4698
|
width: r,
|
|
4687
4699
|
height: r
|
|
4688
4700
|
};
|
|
4689
|
-
return h.every((e) =>
|
|
4701
|
+
return h.every((e) => !es(t, e, o)) && c.every((e) => !es(t, e, i));
|
|
4690
4702
|
}), b = y.find((e) => {
|
|
4691
4703
|
let t = {
|
|
4692
4704
|
...e,
|
|
4693
4705
|
width: r,
|
|
4694
4706
|
height: r
|
|
4695
4707
|
};
|
|
4696
|
-
return m.every((e) =>
|
|
4708
|
+
return m.every((e) => !es(t, e, i));
|
|
4697
4709
|
}) ?? y.find((e) => {
|
|
4698
4710
|
let t = {
|
|
4699
4711
|
...e,
|
|
4700
4712
|
width: r,
|
|
4701
4713
|
height: r
|
|
4702
4714
|
};
|
|
4703
|
-
return m.every((e) =>
|
|
4715
|
+
return m.every((e) => !es(t, e));
|
|
4704
4716
|
}) ?? y[0] ?? _[0] ?? {
|
|
4705
4717
|
left: s,
|
|
4706
4718
|
top: s
|
|
@@ -4716,20 +4728,20 @@ function ns(e, t, n = {}) {
|
|
|
4716
4728
|
}
|
|
4717
4729
|
return g;
|
|
4718
4730
|
}
|
|
4719
|
-
var
|
|
4731
|
+
var is = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), as = 0, os = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), ss = (e) => {
|
|
4720
4732
|
let t = e.ownerDocument.defaultView?.HTMLElement;
|
|
4721
4733
|
return !!(t && e instanceof t);
|
|
4722
|
-
},
|
|
4723
|
-
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i =
|
|
4734
|
+
}, cs = (e, t) => {
|
|
4735
|
+
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = os(n);
|
|
4724
4736
|
i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
|
|
4725
4737
|
let a = !1;
|
|
4726
4738
|
return () => {
|
|
4727
4739
|
if (a) return;
|
|
4728
4740
|
a = !0;
|
|
4729
|
-
let i =
|
|
4741
|
+
let i = os(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
|
|
4730
4742
|
i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
|
|
4731
4743
|
};
|
|
4732
|
-
},
|
|
4744
|
+
}, ls = (e) => {
|
|
4733
4745
|
if (!e.length) return null;
|
|
4734
4746
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
4735
4747
|
return {
|
|
@@ -4738,14 +4750,14 @@ var rs = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), is = 0, as = (e)
|
|
|
4738
4750
|
width: r - t,
|
|
4739
4751
|
height: i - n
|
|
4740
4752
|
};
|
|
4741
|
-
},
|
|
4753
|
+
}, us = (e, t, n, r, i = 8) => {
|
|
4742
4754
|
let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
|
|
4743
4755
|
return {
|
|
4744
|
-
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c :
|
|
4745
|
-
top:
|
|
4756
|
+
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : is(e.left + e.width - t, 8, a),
|
|
4757
|
+
top: is(e.top, 8, o)
|
|
4746
4758
|
};
|
|
4747
|
-
},
|
|
4748
|
-
let a = r.innerWidth - t - 8, o =
|
|
4759
|
+
}, ds = (e, t, n, r, i = 8) => {
|
|
4760
|
+
let a = r.innerWidth - t - 8, o = is(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
|
|
4749
4761
|
if (s + n <= r.innerHeight - 8) return {
|
|
4750
4762
|
left: o,
|
|
4751
4763
|
top: s
|
|
@@ -4754,10 +4766,10 @@ var rs = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), is = 0, as = (e)
|
|
|
4754
4766
|
return c >= 8 ? {
|
|
4755
4767
|
left: o,
|
|
4756
4768
|
top: c
|
|
4757
|
-
} :
|
|
4769
|
+
} : us(e, t, n, r, i);
|
|
4758
4770
|
};
|
|
4759
|
-
function
|
|
4760
|
-
let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++
|
|
4771
|
+
function fs(e) {
|
|
4772
|
+
let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++as}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, ee = null, j = null, te, M, N = null, P = null, F = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => te?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", ne = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", re = (e) => {
|
|
4761
4773
|
if (V()) return e;
|
|
4762
4774
|
let t = B();
|
|
4763
4775
|
return {
|
|
@@ -4792,7 +4804,7 @@ function ds(e) {
|
|
|
4792
4804
|
}, ue = (t) => {
|
|
4793
4805
|
let n = e.runtime.annotation(t);
|
|
4794
4806
|
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
4795
|
-
}, de = (e) => !!(
|
|
4807
|
+
}, de = (e) => !!(ss(e) && V() && te && ae() && e.getRootNode() === te.getRootNode()), fe = (e) => {
|
|
4796
4808
|
let t = ue(e), n = z.get(e);
|
|
4797
4809
|
if (!t) {
|
|
4798
4810
|
n && (le(e), i((e) => e + 1));
|
|
@@ -4806,12 +4818,12 @@ function ds(e) {
|
|
|
4806
4818
|
le(e);
|
|
4807
4819
|
let a = t.ownerDocument.defaultView;
|
|
4808
4820
|
if (a) {
|
|
4809
|
-
if (r &&
|
|
4810
|
-
let n = `--mesurer-annotation-${++
|
|
4821
|
+
if (r && ss(t)) {
|
|
4822
|
+
let n = `--mesurer-annotation-${++as}`;
|
|
4811
4823
|
z.set(e, {
|
|
4812
4824
|
target: t,
|
|
4813
4825
|
anchorName: n,
|
|
4814
|
-
releaseAnchor:
|
|
4826
|
+
releaseAnchor: cs(t, n),
|
|
4815
4827
|
scroll: ii(a, t, () => ce(e), { trackWindow: !1 })
|
|
4816
4828
|
});
|
|
4817
4829
|
} else z.set(e, {
|
|
@@ -4837,7 +4849,7 @@ function ds(e) {
|
|
|
4837
4849
|
e.initialTriggerFallback && (O = W());
|
|
4838
4850
|
let ge = () => {
|
|
4839
4851
|
I?.release(), I = null, F?.(), F = null, N = null, P = null;
|
|
4840
|
-
}, _e = (e) => !!(
|
|
4852
|
+
}, _e = (e) => !!(ss(e) && V() && te && e !== O && ae() && e.getRootNode() === te.getRootNode()), ve = () => {
|
|
4841
4853
|
let e = W();
|
|
4842
4854
|
O && e !== O && (O = null);
|
|
4843
4855
|
let t = N, n = !!(e?.isConnected && _e(e)), r = P === e;
|
|
@@ -4845,13 +4857,13 @@ function ds(e) {
|
|
|
4845
4857
|
I?.sync();
|
|
4846
4858
|
return;
|
|
4847
4859
|
}
|
|
4848
|
-
let i = e === t ? D : `--mesurer-annotation-trigger-${++
|
|
4860
|
+
let i = e === t ? D : `--mesurer-annotation-trigger-${++as}`;
|
|
4849
4861
|
if (ge(), !e?.isConnected) return;
|
|
4850
4862
|
N = e;
|
|
4851
4863
|
let a = e.ownerDocument.defaultView;
|
|
4852
4864
|
if (a) {
|
|
4853
|
-
if (n &&
|
|
4854
|
-
F =
|
|
4865
|
+
if (n && ss(e)) {
|
|
4866
|
+
F = cs(e, i), P = e, D = i, I = ii(a, e, se, { trackWindow: !1 });
|
|
4855
4867
|
return;
|
|
4856
4868
|
}
|
|
4857
4869
|
D = i, I = ii(a, e, se, { trackWindow: V() });
|
|
@@ -4920,7 +4932,7 @@ function ds(e) {
|
|
|
4920
4932
|
};
|
|
4921
4933
|
});
|
|
4922
4934
|
return e.region && t.push({ ...e.region }), t;
|
|
4923
|
-
}), Ne = Gt(() =>
|
|
4935
|
+
}), Ne = Gt(() => ls(Me())), Pe = () => {
|
|
4924
4936
|
let e = we().elements.length;
|
|
4925
4937
|
return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
|
|
4926
4938
|
}, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
|
|
@@ -4942,7 +4954,7 @@ function ds(e) {
|
|
|
4942
4954
|
top: e.top,
|
|
4943
4955
|
width: 24,
|
|
4944
4956
|
height: 24
|
|
4945
|
-
})), [a] =
|
|
4957
|
+
})), [a] = rs([{
|
|
4946
4958
|
id: "selection-note-trigger",
|
|
4947
4959
|
rect: n
|
|
4948
4960
|
}], {
|
|
@@ -4951,7 +4963,7 @@ function ds(e) {
|
|
|
4951
4963
|
}, {
|
|
4952
4964
|
obstacles: i,
|
|
4953
4965
|
maxShiftRings: 1
|
|
4954
|
-
}), o = a?.left ??
|
|
4966
|
+
}), o = a?.left ?? is(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? is(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = V() && !c;
|
|
4955
4967
|
return {
|
|
4956
4968
|
left: c || l ? o : o + r.scrollX,
|
|
4957
4969
|
top: c || l ? s : s + r.scrollY,
|
|
@@ -4969,7 +4981,7 @@ function ds(e) {
|
|
|
4969
4981
|
rect: n
|
|
4970
4982
|
}] : [];
|
|
4971
4983
|
});
|
|
4972
|
-
return new Map(
|
|
4984
|
+
return new Map(rs(i, {
|
|
4973
4985
|
width: n.innerWidth,
|
|
4974
4986
|
height: n.innerHeight
|
|
4975
4987
|
}, { obstacles: Me() }).map((e) => [e.id, e]));
|
|
@@ -4993,7 +5005,7 @@ function ds(e) {
|
|
|
4993
5005
|
return n && e ? {
|
|
4994
5006
|
left: e.left + n.left,
|
|
4995
5007
|
top: e.top + n.top
|
|
4996
|
-
} : e ?
|
|
5008
|
+
} : e ? ds(e, 272, 168, t) : {
|
|
4997
5009
|
left: 8,
|
|
4998
5010
|
top: 8
|
|
4999
5011
|
};
|
|
@@ -5014,7 +5026,7 @@ function ds(e) {
|
|
|
5014
5026
|
};
|
|
5015
5027
|
}, Ue = (e, t) => {
|
|
5016
5028
|
let n = B(), r = Re(), i = r.get(e);
|
|
5017
|
-
if (!i) return
|
|
5029
|
+
if (!i) return us(t, 272, 176, n);
|
|
5018
5030
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
5019
5031
|
left: e.left,
|
|
5020
5032
|
top: e.top,
|
|
@@ -5040,8 +5052,8 @@ function ds(e) {
|
|
|
5040
5052
|
}
|
|
5041
5053
|
]) {
|
|
5042
5054
|
let t = {
|
|
5043
|
-
left:
|
|
5044
|
-
top:
|
|
5055
|
+
left: is(e.left, 8, a),
|
|
5056
|
+
top: is(e.top, 8, o)
|
|
5045
5057
|
}, n = `${t.left}:${t.top}`;
|
|
5046
5058
|
l.has(n) || (l.add(n), u.push(t));
|
|
5047
5059
|
}
|
|
@@ -5057,7 +5069,7 @@ function ds(e) {
|
|
|
5057
5069
|
targetOverlap: c(r, t),
|
|
5058
5070
|
index: n
|
|
5059
5071
|
};
|
|
5060
|
-
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ??
|
|
5072
|
+
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? us(t, 272, 176, n);
|
|
5061
5073
|
}, We = (t) => {
|
|
5062
5074
|
let n = e.runtime.annotationRect(t);
|
|
5063
5075
|
if (!n) return {
|
|
@@ -5105,8 +5117,8 @@ function ds(e) {
|
|
|
5105
5117
|
let u = (t) => {
|
|
5106
5118
|
if (!ee || t.pointerId !== ee.pointerId) return;
|
|
5107
5119
|
let r = ee, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
|
|
5108
|
-
left:
|
|
5109
|
-
top:
|
|
5120
|
+
left: is(r.originLeft + t.clientX - r.startX, 8, i),
|
|
5121
|
+
top: is(r.originTop + t.clientY - r.startY, 8, a)
|
|
5110
5122
|
};
|
|
5111
5123
|
if (n === "composer") {
|
|
5112
5124
|
let e = Ne();
|
|
@@ -5151,7 +5163,7 @@ function ds(e) {
|
|
|
5151
5163
|
k = !1, A = ie(), v(""), b(null), w(null), o(null);
|
|
5152
5164
|
let e = Ne();
|
|
5153
5165
|
if (e) {
|
|
5154
|
-
let t =
|
|
5166
|
+
let t = ds(e, 272, 168, B());
|
|
5155
5167
|
m({
|
|
5156
5168
|
left: t.left - e.left,
|
|
5157
5169
|
top: t.top - e.top
|
|
@@ -5515,11 +5527,11 @@ function ds(e) {
|
|
|
5515
5527
|
})
|
|
5516
5528
|
];
|
|
5517
5529
|
}
|
|
5518
|
-
function
|
|
5530
|
+
function ps(e) {
|
|
5519
5531
|
let t = null;
|
|
5520
5532
|
return St(sa(e.ownerWindow, () => {
|
|
5521
5533
|
t?.abandonNoteComposer();
|
|
5522
|
-
})), J(
|
|
5534
|
+
})), J(fs, {
|
|
5523
5535
|
get runtime() {
|
|
5524
5536
|
return e.runtime;
|
|
5525
5537
|
},
|
|
@@ -5537,8 +5549,8 @@ function fs(e) {
|
|
|
5537
5549
|
}
|
|
5538
5550
|
});
|
|
5539
5551
|
}
|
|
5540
|
-
var
|
|
5541
|
-
function
|
|
5552
|
+
var ms = "2147482950", hs = "2147483646", gs = "2147483647";
|
|
5553
|
+
function _s(e) {
|
|
5542
5554
|
let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
|
|
5543
5555
|
if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
|
|
5544
5556
|
da(Va, i);
|
|
@@ -5559,17 +5571,17 @@ function gs(e) {
|
|
|
5559
5571
|
s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
|
|
5560
5572
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
|
|
5561
5573
|
position: absolute !important;
|
|
5562
|
-
z-index: ${
|
|
5574
|
+
z-index: ${ms} !important;
|
|
5563
5575
|
}
|
|
5564
5576
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
|
|
5565
5577
|
position: absolute !important;
|
|
5566
|
-
z-index: ${
|
|
5578
|
+
z-index: ${hs} !important;
|
|
5567
5579
|
}
|
|
5568
5580
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
|
|
5569
5581
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
|
|
5570
5582
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
|
|
5571
5583
|
position: absolute !important;
|
|
5572
|
-
z-index: ${
|
|
5584
|
+
z-index: ${gs} !important;
|
|
5573
5585
|
}
|
|
5574
5586
|
`, t.head.append(s), i.append(a);
|
|
5575
5587
|
let c = !1;
|
|
@@ -5580,8 +5592,8 @@ function gs(e) {
|
|
|
5580
5592
|
}
|
|
5581
5593
|
};
|
|
5582
5594
|
}
|
|
5583
|
-
var
|
|
5584
|
-
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i =
|
|
5595
|
+
var vs = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, ys = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", bs = (e) => {
|
|
5596
|
+
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = ys(e.align);
|
|
5585
5597
|
return {
|
|
5586
5598
|
position: "absolute",
|
|
5587
5599
|
inset: "0",
|
|
@@ -5602,7 +5614,7 @@ var _s = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
|
|
|
5602
5614
|
transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
|
|
5603
5615
|
};
|
|
5604
5616
|
};
|
|
5605
|
-
function
|
|
5617
|
+
function xs(e) {
|
|
5606
5618
|
let t = () => e.guides.filter((e) => e.visible);
|
|
5607
5619
|
return J(Xt, {
|
|
5608
5620
|
get when() {
|
|
@@ -5637,7 +5649,7 @@ function bs(e) {
|
|
|
5637
5649
|
"min-height": "0",
|
|
5638
5650
|
width: "100%",
|
|
5639
5651
|
height: "100%",
|
|
5640
|
-
"background-color":
|
|
5652
|
+
"background-color": vs(e)
|
|
5641
5653
|
}), (e, n) => {
|
|
5642
5654
|
Q(t, "style", e, n);
|
|
5643
5655
|
}), t;
|
|
@@ -5645,7 +5657,7 @@ function bs(e) {
|
|
|
5645
5657
|
})), q(() => ({
|
|
5646
5658
|
e: e.id,
|
|
5647
5659
|
t: e.kind,
|
|
5648
|
-
a:
|
|
5660
|
+
a: bs(e)
|
|
5649
5661
|
}), ({ e, t: n, a: r }, i) => {
|
|
5650
5662
|
e !== i?.e && Q(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && Q(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && Q(t, "style", r, i?.a);
|
|
5651
5663
|
}), t;
|
|
@@ -5658,7 +5670,7 @@ function bs(e) {
|
|
|
5658
5670
|
return q(() => ({
|
|
5659
5671
|
e: e.id,
|
|
5660
5672
|
t: {
|
|
5661
|
-
"background-image": `linear-gradient(to right, ${
|
|
5673
|
+
"background-image": `linear-gradient(to right, ${vs(e)} 1px, transparent 1px), linear-gradient(to bottom, ${vs(e)} 1px, transparent 1px)`,
|
|
5662
5674
|
"background-size": `${e.size}px ${e.size}px`
|
|
5663
5675
|
}
|
|
5664
5676
|
}), ({ e, t: n }, r) => {
|
|
@@ -5670,34 +5682,34 @@ function bs(e) {
|
|
|
5670
5682
|
}
|
|
5671
5683
|
});
|
|
5672
5684
|
}
|
|
5673
|
-
var
|
|
5685
|
+
var Ss = "#FF0000", Cs = .1, ws = /* @__PURE__ */ new Set([
|
|
5674
5686
|
"columns",
|
|
5675
5687
|
"rows",
|
|
5676
5688
|
"grid"
|
|
5677
|
-
]),
|
|
5689
|
+
]), Ts = /* @__PURE__ */ new Set([
|
|
5678
5690
|
"stretch",
|
|
5679
5691
|
"min",
|
|
5680
5692
|
"center",
|
|
5681
5693
|
"max"
|
|
5682
|
-
]),
|
|
5683
|
-
let t = e.kind &&
|
|
5694
|
+
]), Es = (e, t, n) => Math.min(n, Math.max(t, e)), Ds = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Os = (e = {}) => {
|
|
5695
|
+
let t = e.kind && ws.has(e.kind) ? e.kind : "columns", n = e.align && Ts.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
|
|
5684
5696
|
return {
|
|
5685
5697
|
id: r || Wr(),
|
|
5686
5698
|
kind: t,
|
|
5687
5699
|
visible: e.visible ?? !0,
|
|
5688
5700
|
color: i || "#FF0000",
|
|
5689
|
-
opacity:
|
|
5690
|
-
count:
|
|
5691
|
-
size:
|
|
5692
|
-
gutter:
|
|
5693
|
-
offset:
|
|
5701
|
+
opacity: Es(Ds(e.opacity, Cs), 0, 1),
|
|
5702
|
+
count: Es(Math.round(Ds(e.count, 5)), 1, 24),
|
|
5703
|
+
size: Es(Ds(e.size, 72), 1, 4096),
|
|
5704
|
+
gutter: Es(Ds(e.gutter, 20), 0, 800),
|
|
5705
|
+
offset: Es(Ds(e.offset, 0), 0, 4096),
|
|
5694
5706
|
align: n
|
|
5695
5707
|
};
|
|
5696
|
-
},
|
|
5708
|
+
}, ks = (e) => (e ?? []).map(Os), As = (e) => {
|
|
5697
5709
|
if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
|
|
5698
5710
|
let t = e.kind === "columns" ? "columns" : "rows";
|
|
5699
5711
|
return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
|
|
5700
|
-
},
|
|
5712
|
+
}, js = (e) => (() => {
|
|
5701
5713
|
var t = Y("svg", {
|
|
5702
5714
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5703
5715
|
viewBox: "0 0 24 24",
|
|
@@ -5716,10 +5728,10 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5716
5728
|
}), ({ e, t: n }, r) => {
|
|
5717
5729
|
e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
|
|
5718
5730
|
}), t;
|
|
5719
|
-
})(),
|
|
5731
|
+
})(), Ms = (e) => e.kind === "rows" ? J(_i, { size: 14 }) : e.kind === "grid" ? J(hi, { size: 14 }) : J(gi, { size: 14 }), Ns = "msr:grid-cols-[78px_minmax(0,1fr)]", Ps = (e) => (() => {
|
|
5720
5732
|
var t = Y("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = Y("span");
|
|
5721
5733
|
return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
|
|
5722
|
-
})(),
|
|
5734
|
+
})(), Fs = (e) => (() => {
|
|
5723
5735
|
var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
|
|
5724
5736
|
class: oi,
|
|
5725
5737
|
onPointerDown: (e) => e.stopPropagation(),
|
|
@@ -5731,7 +5743,7 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5731
5743
|
}), ({ e, t }, r) => {
|
|
5732
5744
|
e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
|
|
5733
5745
|
}), t;
|
|
5734
|
-
})(),
|
|
5746
|
+
})(), Is = (e) => {
|
|
5735
5747
|
let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
|
|
5736
5748
|
let n = Number(t.replace(/[^\d.-]/g, ""));
|
|
5737
5749
|
if (!Number.isFinite(n)) {
|
|
@@ -5772,7 +5784,7 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5772
5784
|
e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
|
|
5773
5785
|
}), a;
|
|
5774
5786
|
} });
|
|
5775
|
-
},
|
|
5787
|
+
}, Ls = (e) => e === "rows" || e === "grid" ? e : "columns", Rs = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", zs = (e) => {
|
|
5776
5788
|
let t = Gt(() => e.guide.kind === "rows" ? {
|
|
5777
5789
|
stretch: "Stretch",
|
|
5778
5790
|
min: "Top",
|
|
@@ -5789,13 +5801,13 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5789
5801
|
"aria-label": "Back to layout guides",
|
|
5790
5802
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
|
|
5791
5803
|
});
|
|
5792
|
-
return X(r, i), X(i, a), Z(i, J(
|
|
5804
|
+
return X(r, i), X(i, a), Z(i, J(Fs, {
|
|
5793
5805
|
label: "Layout guide type",
|
|
5794
5806
|
get value() {
|
|
5795
5807
|
return e.guide.kind;
|
|
5796
5808
|
},
|
|
5797
5809
|
onChange: (t) => {
|
|
5798
|
-
let n =
|
|
5810
|
+
let n = Ls(t);
|
|
5799
5811
|
e.onUpdate({
|
|
5800
5812
|
kind: n,
|
|
5801
5813
|
align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
|
|
@@ -5817,15 +5829,15 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5817
5829
|
})()
|
|
5818
5830
|
];
|
|
5819
5831
|
}
|
|
5820
|
-
}), a), Z(a, J(
|
|
5832
|
+
}), a), Z(a, J(js, {})), Z(r, J(Xt, {
|
|
5821
5833
|
get when() {
|
|
5822
5834
|
return e.guide.kind !== "grid";
|
|
5823
5835
|
},
|
|
5824
5836
|
get children() {
|
|
5825
|
-
return J(
|
|
5837
|
+
return J(Ps, {
|
|
5826
5838
|
label: "Count",
|
|
5827
5839
|
get children() {
|
|
5828
|
-
return J(
|
|
5840
|
+
return J(Is, {
|
|
5829
5841
|
label: "Count",
|
|
5830
5842
|
get value() {
|
|
5831
5843
|
return e.guide.count;
|
|
@@ -5839,14 +5851,14 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5839
5851
|
}
|
|
5840
5852
|
}), null), Z(r, J(li, {
|
|
5841
5853
|
label: "Color",
|
|
5842
|
-
columns:
|
|
5854
|
+
columns: Ns,
|
|
5843
5855
|
get value() {
|
|
5844
5856
|
return dr({
|
|
5845
5857
|
...lr(e.guide.color) ?? lr("#FF0000"),
|
|
5846
5858
|
alpha: e.guide.opacity
|
|
5847
5859
|
});
|
|
5848
5860
|
},
|
|
5849
|
-
fallback:
|
|
5861
|
+
fallback: Ss,
|
|
5850
5862
|
get ownerWindow() {
|
|
5851
5863
|
return e.ownerWindow;
|
|
5852
5864
|
},
|
|
@@ -5865,15 +5877,15 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5865
5877
|
return e.guide.kind !== "grid";
|
|
5866
5878
|
},
|
|
5867
5879
|
get children() {
|
|
5868
|
-
return J(
|
|
5880
|
+
return J(Ps, {
|
|
5869
5881
|
label: "Type",
|
|
5870
5882
|
get children() {
|
|
5871
|
-
return J(
|
|
5883
|
+
return J(Fs, {
|
|
5872
5884
|
label: "Alignment",
|
|
5873
5885
|
get value() {
|
|
5874
5886
|
return e.guide.align;
|
|
5875
5887
|
},
|
|
5876
|
-
onChange: (t) => e.onUpdate({ align:
|
|
5888
|
+
onChange: (t) => e.onUpdate({ align: Rs(t) }),
|
|
5877
5889
|
get children() {
|
|
5878
5890
|
return J(Yt, {
|
|
5879
5891
|
each: [
|
|
@@ -5897,12 +5909,12 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5897
5909
|
return e.guide.kind === "grid" || e.guide.align !== "stretch";
|
|
5898
5910
|
},
|
|
5899
5911
|
get children() {
|
|
5900
|
-
return J(
|
|
5912
|
+
return J(Ps, {
|
|
5901
5913
|
get label() {
|
|
5902
5914
|
return n();
|
|
5903
5915
|
},
|
|
5904
5916
|
get children() {
|
|
5905
|
-
return J(
|
|
5917
|
+
return J(Is, {
|
|
5906
5918
|
get label() {
|
|
5907
5919
|
return n();
|
|
5908
5920
|
},
|
|
@@ -5921,10 +5933,10 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5921
5933
|
return e.guide.kind !== "grid";
|
|
5922
5934
|
},
|
|
5923
5935
|
get children() {
|
|
5924
|
-
return [J(
|
|
5936
|
+
return [J(Ps, {
|
|
5925
5937
|
label: "Offset",
|
|
5926
5938
|
get children() {
|
|
5927
|
-
return J(
|
|
5939
|
+
return J(Is, {
|
|
5928
5940
|
label: "Offset",
|
|
5929
5941
|
get value() {
|
|
5930
5942
|
return e.guide.offset;
|
|
@@ -5934,10 +5946,10 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5934
5946
|
onChange: (t) => e.onUpdate({ offset: t })
|
|
5935
5947
|
});
|
|
5936
5948
|
}
|
|
5937
|
-
}), J(
|
|
5949
|
+
}), J(Ps, {
|
|
5938
5950
|
label: "Gutter",
|
|
5939
5951
|
get children() {
|
|
5940
|
-
return J(
|
|
5952
|
+
return J(Is, {
|
|
5941
5953
|
label: "Gutter",
|
|
5942
5954
|
get value() {
|
|
5943
5955
|
return e.guide.gutter;
|
|
@@ -5953,7 +5965,7 @@ var xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
|
|
|
5953
5965
|
Q(a, "onClick", e, t);
|
|
5954
5966
|
}), r;
|
|
5955
5967
|
};
|
|
5956
|
-
function
|
|
5968
|
+
function Bs(e) {
|
|
5957
5969
|
let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
|
|
5958
5970
|
var i = Y("div", {
|
|
5959
5971
|
"data-mesurer-layout-guides-panel": "true",
|
|
@@ -6002,9 +6014,9 @@ function zs(e) {
|
|
|
6002
6014
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
|
|
6003
6015
|
onClick: () => e.onRemove(t.id)
|
|
6004
6016
|
});
|
|
6005
|
-
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(
|
|
6017
|
+
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Ms, { get kind() {
|
|
6006
6018
|
return t.kind;
|
|
6007
|
-
} })), Z(o, () =>
|
|
6019
|
+
} })), Z(o, () => As(t)), Z(i, J(di, {
|
|
6008
6020
|
size: 8,
|
|
6009
6021
|
class: "msr:block msr:-rotate-90 msr:text-ink-400"
|
|
6010
6022
|
}), null), Z(s, (() => {
|
|
@@ -6014,10 +6026,10 @@ function zs(e) {
|
|
|
6014
6026
|
size: 10,
|
|
6015
6027
|
class: "msr:block"
|
|
6016
6028
|
})), q(() => ({
|
|
6017
|
-
e: t.visible ? `Hide ${
|
|
6029
|
+
e: t.visible ? `Hide ${As(t)}` : `Show ${As(t)}`,
|
|
6018
6030
|
t: t.visible ? "true" : "false",
|
|
6019
6031
|
a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
|
|
6020
|
-
o: `Remove ${
|
|
6032
|
+
o: `Remove ${As(t)}`
|
|
6021
6033
|
}), ({ e, t, a: n, o: r }, i) => {
|
|
6022
6034
|
e !== i?.e && Q(s, "aria-label", e, i?.e), t !== i?.t && Q(s, "aria-pressed", t, i?.t), n !== i?.a && Q(s, "class", n, i?.a), r !== i?.o && Q(c, "aria-label", r, i?.o);
|
|
6023
6035
|
}), r;
|
|
@@ -6028,7 +6040,7 @@ function zs(e) {
|
|
|
6028
6040
|
Q(a, "onClick", e, t);
|
|
6029
6041
|
}), t;
|
|
6030
6042
|
},
|
|
6031
|
-
children: (t) => J(
|
|
6043
|
+
children: (t) => J(zs, {
|
|
6032
6044
|
get guide() {
|
|
6033
6045
|
return t();
|
|
6034
6046
|
},
|
|
@@ -6040,56 +6052,56 @@ function zs(e) {
|
|
|
6040
6052
|
})
|
|
6041
6053
|
})), i;
|
|
6042
6054
|
}
|
|
6043
|
-
var
|
|
6055
|
+
var Vs = "mesurer.layout-guides", Hs = "layout-guides:v1", Us = "mesurer.layout-guides.pages", Ws = "mesurer.layout-guides.active", Gs = "runtime:solid", Ks = "layout-guides.toggle", qs = "layout-guides.add", Js = "layout-guides.update", Ys = "layout-guides.remove", Xs = "layout-guides.clear", Zs = 240, Qs = 8, $s = 8, ec = () => ({ pages: {} }), tc = (e, t) => e.pages[t] ?? [], nc = (e) => typeof e == "object" && !!e && !Array.isArray(e), rc = (e) => typeof e == "string", ic = (e) => typeof e == "boolean", ac = (e) => typeof e == "number", oc = (e) => e === "columns" || e === "rows" || e === "grid", sc = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", cc = (e) => ({ ...e }), lc = (e) => e.map(cc), uc = (e) => nc(e) ? e : null, dc = (e) => {
|
|
6044
6056
|
if (!e) return {};
|
|
6045
6057
|
let t = {};
|
|
6046
|
-
return
|
|
6047
|
-
},
|
|
6058
|
+
return rc(e.id) && (t.id = e.id), oc(e.kind) && (t.kind = e.kind), ic(e.visible) && (t.visible = e.visible), rc(e.color) && (t.color = e.color), ac(e.opacity) && (t.opacity = e.opacity), ac(e.count) && (t.count = e.count), ac(e.size) && (t.size = e.size), ac(e.gutter) && (t.gutter = e.gutter), ac(e.offset) && (t.offset = e.offset), sc(e.align) && (t.align = e.align), t;
|
|
6059
|
+
}, fc = (e) => {
|
|
6048
6060
|
let t = {};
|
|
6049
6061
|
return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
|
|
6050
|
-
},
|
|
6062
|
+
}, pc = {
|
|
6051
6063
|
viewBox: "0 0 256 256",
|
|
6052
6064
|
paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
|
|
6053
|
-
},
|
|
6054
|
-
id:
|
|
6065
|
+
}, mc = () => ar({
|
|
6066
|
+
id: Vs,
|
|
6055
6067
|
version: "0.1.0",
|
|
6056
|
-
requires: [
|
|
6057
|
-
provides: [
|
|
6068
|
+
requires: [Gs],
|
|
6069
|
+
provides: [Hs, "tool:layout-guides"],
|
|
6058
6070
|
setup(e) {
|
|
6059
|
-
let t = e.service.get(
|
|
6071
|
+
let t = e.service.get(Gs);
|
|
6060
6072
|
if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
|
|
6061
6073
|
let n = t.rendererRoot;
|
|
6062
6074
|
if (!n) throw Error("Layout Guides requires a mounted renderer root.");
|
|
6063
6075
|
e.state.register({
|
|
6064
|
-
id:
|
|
6065
|
-
initial:
|
|
6076
|
+
id: Us,
|
|
6077
|
+
initial: ec(),
|
|
6066
6078
|
history: !0,
|
|
6067
6079
|
persist: !0
|
|
6068
6080
|
}), e.state.register({
|
|
6069
|
-
id:
|
|
6081
|
+
id: Ws,
|
|
6070
6082
|
initial: !1
|
|
6071
6083
|
});
|
|
6072
|
-
let r = Zr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ??
|
|
6073
|
-
e.state.update(
|
|
6084
|
+
let r = Zr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? ec(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => ks(tc(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
|
|
6085
|
+
e.state.update(Ws, () => t);
|
|
6074
6086
|
}, m = (t) => {
|
|
6075
|
-
e.state.update(
|
|
6087
|
+
e.state.update(Us, (e) => ({
|
|
6076
6088
|
...e,
|
|
6077
6089
|
pages: {
|
|
6078
6090
|
...e.pages,
|
|
6079
|
-
[r]:
|
|
6091
|
+
[r]: lc(t(ks(e.pages[r])))
|
|
6080
6092
|
}
|
|
6081
6093
|
}));
|
|
6082
6094
|
};
|
|
6083
|
-
e.command.register(
|
|
6095
|
+
e.command.register(Ks, () => {
|
|
6084
6096
|
let e = !u();
|
|
6085
|
-
return e && d().length === 0 && m(() => [
|
|
6086
|
-
}), e.command.register(Ks, (e) => {
|
|
6087
|
-
let t = Ds(uc(lc(e)));
|
|
6088
|
-
return m((e) => [...e, t]), { ...t };
|
|
6097
|
+
return e && d().length === 0 && m(() => [Os()]), i = e, p(e), u();
|
|
6089
6098
|
}), e.command.register(qs, (e) => {
|
|
6090
|
-
let t =
|
|
6099
|
+
let t = Os(dc(uc(e)));
|
|
6100
|
+
return m((e) => [...e, t]), { ...t };
|
|
6101
|
+
}), e.command.register(Js, (e) => {
|
|
6102
|
+
let t = uc(e), n = t && rc(t.id) ? t.id : null, r = dc(uc(t?.patch));
|
|
6091
6103
|
if (!n) throw Error("layout-guides.update requires a guide id.");
|
|
6092
|
-
m((e) => e.map((e) => e.id === n ?
|
|
6104
|
+
m((e) => e.map((e) => e.id === n ? Os({
|
|
6093
6105
|
...e,
|
|
6094
6106
|
...r,
|
|
6095
6107
|
id: e.id
|
|
@@ -6097,30 +6109,30 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6097
6109
|
let i = d().find((e) => e.id === n);
|
|
6098
6110
|
if (!i) throw Error(`Layout guide not found: ${n}`);
|
|
6099
6111
|
return { ...i };
|
|
6100
|
-
}), e.command.register(
|
|
6101
|
-
let t =
|
|
6112
|
+
}), e.command.register(Ys, (e) => {
|
|
6113
|
+
let t = uc(e), n = t && rc(t.id) ? t.id : null;
|
|
6102
6114
|
if (!n) throw Error("layout-guides.remove requires a guide id.");
|
|
6103
6115
|
let r = d().length;
|
|
6104
6116
|
return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
|
|
6105
|
-
}), e.command.register(
|
|
6117
|
+
}), e.command.register(Xs, () => {
|
|
6106
6118
|
m(() => []);
|
|
6107
6119
|
});
|
|
6108
6120
|
let h = async (t, n) => {
|
|
6109
|
-
let r =
|
|
6121
|
+
let r = uc(await e.command.execute(t, n));
|
|
6110
6122
|
if (!r) throw Error(`${t} did not return a layout guide.`);
|
|
6111
|
-
return
|
|
6123
|
+
return Os(dc(r));
|
|
6112
6124
|
}, g = {
|
|
6113
6125
|
list: () => d().map((e) => ({ ...e })),
|
|
6114
|
-
add: (e = {}) => h(
|
|
6115
|
-
update: (e, t) => h(
|
|
6126
|
+
add: (e = {}) => h(qs, fc(e)),
|
|
6127
|
+
update: (e, t) => h(Js, {
|
|
6116
6128
|
id: e,
|
|
6117
|
-
patch:
|
|
6129
|
+
patch: fc(t)
|
|
6118
6130
|
}),
|
|
6119
6131
|
async remove(t) {
|
|
6120
|
-
return await e.command.execute(
|
|
6132
|
+
return await e.command.execute(Ys, { id: t }) === !0;
|
|
6121
6133
|
},
|
|
6122
6134
|
async clear() {
|
|
6123
|
-
await e.command.execute(
|
|
6135
|
+
await e.command.execute(Xs);
|
|
6124
6136
|
},
|
|
6125
6137
|
subscribe(e) {
|
|
6126
6138
|
s.add(e);
|
|
@@ -6130,26 +6142,26 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6130
6142
|
};
|
|
6131
6143
|
}
|
|
6132
6144
|
};
|
|
6133
|
-
e.service.provide(
|
|
6145
|
+
e.service.provide(Hs, g), e.tool.register({
|
|
6134
6146
|
id: "layout-guides",
|
|
6135
6147
|
label: "Layout guides",
|
|
6136
6148
|
shortcut: "L",
|
|
6137
|
-
command:
|
|
6149
|
+
command: Ks,
|
|
6138
6150
|
order: 38,
|
|
6139
6151
|
toolbarMode: "select",
|
|
6140
|
-
icon:
|
|
6152
|
+
icon: pc,
|
|
6141
6153
|
active: u
|
|
6142
6154
|
});
|
|
6143
6155
|
let _ = t.ownerDocument.createElement("div");
|
|
6144
6156
|
_.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
|
|
6145
|
-
let v = Xn(() => J(
|
|
6157
|
+
let v = Xn(() => J(xs, { get guides() {
|
|
6146
6158
|
return f();
|
|
6147
6159
|
} }), _), y = t.createInspectorMount();
|
|
6148
6160
|
y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
|
|
6149
6161
|
position: "fixed",
|
|
6150
6162
|
left: "0",
|
|
6151
6163
|
top: "0",
|
|
6152
|
-
width: `${
|
|
6164
|
+
width: `${Zs}px`,
|
|
6153
6165
|
zIndex: "100",
|
|
6154
6166
|
pointerEvents: "none",
|
|
6155
6167
|
display: "none"
|
|
@@ -6158,13 +6170,13 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6158
6170
|
if (c = 0, !i) return;
|
|
6159
6171
|
let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
|
|
6160
6172
|
if (!e) return;
|
|
6161
|
-
let n = e.getBoundingClientRect(), r = Math.min(Math.max(
|
|
6173
|
+
let n = e.getBoundingClientRect(), r = Math.min(Math.max($s, n.right - Zs), Math.max($s, t.ownerWindow.innerWidth - Zs - $s)), a = t.ownerWindow.innerHeight - n.bottom - Qs - $s, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + Qs : Math.max($s, n.top - Qs - o);
|
|
6162
6174
|
y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
|
|
6163
6175
|
}, x = () => {
|
|
6164
6176
|
c ||= t.ownerWindow.requestAnimationFrame(b);
|
|
6165
6177
|
}, S = () => {
|
|
6166
6178
|
y.element.style.display = i ? "block" : "none", i && x();
|
|
6167
|
-
}, C = Xn(() => J(
|
|
6179
|
+
}, C = Xn(() => J(Bs, {
|
|
6168
6180
|
get guides() {
|
|
6169
6181
|
return f();
|
|
6170
6182
|
},
|
|
@@ -6199,14 +6211,14 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6199
6211
|
t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
|
|
6200
6212
|
});
|
|
6201
6213
|
}
|
|
6202
|
-
}),
|
|
6214
|
+
}), hc = 144, gc = 96, _c = 8, vc = 4, yc = 1800, bc = (e, t) => {
|
|
6203
6215
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
6204
|
-
},
|
|
6205
|
-
left: Math.min(Math.max(
|
|
6206
|
-
top: Math.min(Math.max(
|
|
6207
|
-
}),
|
|
6216
|
+
}, xc = (e, t) => ({
|
|
6217
|
+
left: Math.min(Math.max(_c, e.left), Math.max(_c, t.innerWidth - hc - _c)),
|
|
6218
|
+
top: Math.min(Math.max(_c, e.top), Math.max(_c, t.innerHeight - gc - _c))
|
|
6219
|
+
}), Sc = (e, t) => {
|
|
6208
6220
|
let n = e.createElement("button");
|
|
6209
|
-
return n.type = "button", n.textContent = t,
|
|
6221
|
+
return n.type = "button", n.textContent = t, bc(n, {
|
|
6210
6222
|
height: "32px",
|
|
6211
6223
|
padding: "0 12px",
|
|
6212
6224
|
border: "1px solid rgb(255 255 255 / 18%)",
|
|
@@ -6218,11 +6230,11 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6218
6230
|
"font-weight": "500",
|
|
6219
6231
|
cursor: "pointer"
|
|
6220
6232
|
}), n;
|
|
6221
|
-
},
|
|
6233
|
+
}, Cc = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", wc = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Tc = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
|
|
6222
6234
|
let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
|
|
6223
|
-
if (!
|
|
6235
|
+
if (!wc(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
|
|
6224
6236
|
let a = e.createElement("div");
|
|
6225
|
-
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true",
|
|
6237
|
+
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", bc(a, {
|
|
6226
6238
|
position: "fixed",
|
|
6227
6239
|
left: "0",
|
|
6228
6240
|
top: "0",
|
|
@@ -6234,12 +6246,12 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6234
6246
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
6235
6247
|
}), i.append(a);
|
|
6236
6248
|
let o = e.createElement("div");
|
|
6237
|
-
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0,
|
|
6249
|
+
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, bc(o, {
|
|
6238
6250
|
position: "fixed",
|
|
6239
6251
|
display: "none",
|
|
6240
6252
|
"z-index": "96",
|
|
6241
|
-
width: `${
|
|
6242
|
-
height: `${
|
|
6253
|
+
width: `${hc}px`,
|
|
6254
|
+
height: `${gc}px`,
|
|
6243
6255
|
"box-sizing": "border-box",
|
|
6244
6256
|
overflow: "hidden",
|
|
6245
6257
|
"border-radius": "10px",
|
|
@@ -6252,7 +6264,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6252
6264
|
"touch-action": "none"
|
|
6253
6265
|
});
|
|
6254
6266
|
let s = e.createElement("img");
|
|
6255
|
-
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions",
|
|
6267
|
+
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", bc(s, {
|
|
6256
6268
|
display: "block",
|
|
6257
6269
|
width: "100%",
|
|
6258
6270
|
height: "100%",
|
|
@@ -6260,7 +6272,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6260
6272
|
"background-color": "white"
|
|
6261
6273
|
}), o.append(s);
|
|
6262
6274
|
let c = e.createElement("button");
|
|
6263
|
-
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss",
|
|
6275
|
+
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", bc(c, {
|
|
6264
6276
|
position: "absolute",
|
|
6265
6277
|
top: "8px",
|
|
6266
6278
|
right: "8px",
|
|
@@ -6286,7 +6298,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6286
6298
|
let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
6287
6299
|
u.setAttribute("d", "m4 4 8 8M12 4l-8 8"), u.setAttribute("stroke", "currentColor"), u.setAttribute("stroke-width", "1.75"), u.setAttribute("stroke-linecap", "round"), l.append(u), c.append(l), o.append(c), a.append(o);
|
|
6288
6300
|
let d = e.createElement("div");
|
|
6289
|
-
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"),
|
|
6301
|
+
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), bc(d, {
|
|
6290
6302
|
position: "fixed",
|
|
6291
6303
|
inset: "0",
|
|
6292
6304
|
display: "none",
|
|
@@ -6300,7 +6312,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6300
6312
|
"pointer-events": "auto"
|
|
6301
6313
|
});
|
|
6302
6314
|
let f = e.createElement("img");
|
|
6303
|
-
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot",
|
|
6315
|
+
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", bc(f, {
|
|
6304
6316
|
display: "block",
|
|
6305
6317
|
"max-width": "calc(100vw - 96px)",
|
|
6306
6318
|
"max-height": "calc(100vh - 112px)",
|
|
@@ -6311,7 +6323,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6311
6323
|
"box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
|
|
6312
6324
|
}), d.append(f);
|
|
6313
6325
|
let p = e.createElement("div");
|
|
6314
|
-
p.dataset.mesurerScreenshotViewerControls = "true",
|
|
6326
|
+
p.dataset.mesurerScreenshotViewerControls = "true", bc(p, {
|
|
6315
6327
|
position: "fixed",
|
|
6316
6328
|
top: "16px",
|
|
6317
6329
|
right: "16px",
|
|
@@ -6319,14 +6331,14 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6319
6331
|
gap: "8px",
|
|
6320
6332
|
"pointer-events": "auto"
|
|
6321
6333
|
});
|
|
6322
|
-
let m =
|
|
6334
|
+
let m = Sc(e, "Copy");
|
|
6323
6335
|
m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
|
|
6324
|
-
let h =
|
|
6336
|
+
let h = Sc(e, "Save");
|
|
6325
6337
|
h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
|
|
6326
|
-
let g =
|
|
6338
|
+
let g = Sc(e, "Close");
|
|
6327
6339
|
g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
|
|
6328
6340
|
let _ = e.createElement("div");
|
|
6329
|
-
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"),
|
|
6341
|
+
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), bc(_, {
|
|
6330
6342
|
position: "fixed",
|
|
6331
6343
|
left: "50%",
|
|
6332
6344
|
bottom: "20px",
|
|
@@ -6348,18 +6360,18 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6348
6360
|
}, D = (e, n = !1) => {
|
|
6349
6361
|
E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
|
|
6350
6362
|
C = 0, _.style.display = "none";
|
|
6351
|
-
},
|
|
6363
|
+
}, yc);
|
|
6352
6364
|
}, O = () => {
|
|
6353
6365
|
d.style.display = "none";
|
|
6354
6366
|
}, k = () => {
|
|
6355
6367
|
y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
|
|
6356
6368
|
}, A = () => {
|
|
6357
6369
|
T(), O(), o.style.display = "none", k();
|
|
6358
|
-
}, ee = () =>
|
|
6359
|
-
left: t.innerWidth -
|
|
6360
|
-
top: t.innerHeight -
|
|
6370
|
+
}, ee = () => xc({
|
|
6371
|
+
left: t.innerWidth - hc - _c,
|
|
6372
|
+
top: t.innerHeight - gc - _c
|
|
6361
6373
|
}, t), j = (e) => {
|
|
6362
|
-
let n =
|
|
6374
|
+
let n = xc(e, t);
|
|
6363
6375
|
b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
|
|
6364
6376
|
}, te = () => {
|
|
6365
6377
|
!v || !y || (T(), d.style.display = "flex", g.focus());
|
|
@@ -6393,7 +6405,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6393
6405
|
let n = x;
|
|
6394
6406
|
if (!n) return;
|
|
6395
6407
|
let r = e - n.startX, i = t - n.startY;
|
|
6396
|
-
!n.moved && Math.hypot(r, i) >=
|
|
6408
|
+
!n.moved && Math.hypot(r, i) >= vc && (n.moved = !0), n.moved && j({
|
|
6397
6409
|
left: n.left + r,
|
|
6398
6410
|
top: n.top + i
|
|
6399
6411
|
});
|
|
@@ -6437,25 +6449,25 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6437
6449
|
if (w) return;
|
|
6438
6450
|
T(), O(), k(), v = e;
|
|
6439
6451
|
let i = globalThis.URL.createObjectURL(e);
|
|
6440
|
-
y = i, s.src = i, f.src = i, o.style.display = "block", j(b ?? ee()), D(
|
|
6452
|
+
y = i, s.src = i, f.src = i, o.style.display = "block", j(b ?? ee()), D(Cc(n)), r > 0 && (S = t.setTimeout(A, r));
|
|
6441
6453
|
},
|
|
6442
6454
|
dismiss: A,
|
|
6443
6455
|
dispose() {
|
|
6444
6456
|
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", ne, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", ie, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", R), o.removeEventListener("pointerdown", V), o.removeEventListener("keydown", H), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
|
|
6445
6457
|
}
|
|
6446
6458
|
};
|
|
6447
|
-
},
|
|
6459
|
+
}, Ec = "mesurer.screenshot", Dc = "screenshot", Oc = "mesurer.screenshot.settings", kc = "mesurer.screenshot.active", Ac = "runtime:solid", jc = "screenshot.toggle", Mc = 2500, Nc = 0, Pc = [
|
|
6448
6460
|
"[data-mesurer-measurement='true']",
|
|
6449
6461
|
"[data-mesurer-selected-measurement='true']",
|
|
6450
6462
|
"[data-mesurer-selection-spacing-target='true']",
|
|
6451
6463
|
"[data-mesurer-guide='true']",
|
|
6452
6464
|
"[data-mesurer-distance='true']"
|
|
6453
|
-
].join(","),
|
|
6465
|
+
].join(","), Fc = `${Pc},[data-mesurer-rulers='true']`, Ic = {
|
|
6454
6466
|
viewBox: "0 0 256 256",
|
|
6455
6467
|
paths: ["m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z", "m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z"]
|
|
6456
|
-
}, Ic = (e, t) => {
|
|
6457
|
-
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
6458
6468
|
}, Lc = (e, t) => {
|
|
6469
|
+
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
6470
|
+
}, Rc = (e, t) => {
|
|
6459
6471
|
for (let n of [
|
|
6460
6472
|
"left",
|
|
6461
6473
|
"top",
|
|
@@ -6467,63 +6479,63 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6467
6479
|
let r = t[n];
|
|
6468
6480
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
6469
6481
|
}
|
|
6470
|
-
},
|
|
6471
|
-
let t = e(
|
|
6482
|
+
}, zc = (e) => {
|
|
6483
|
+
let t = e(Oc);
|
|
6472
6484
|
return {
|
|
6473
6485
|
toolEnabled: t?.toolEnabled ?? !0,
|
|
6474
6486
|
copy: t?.copy ?? !0,
|
|
6475
6487
|
download: t?.download ?? !1,
|
|
6476
6488
|
includeMeasurements: t?.includeMeasurements ?? !1
|
|
6477
6489
|
};
|
|
6478
|
-
},
|
|
6490
|
+
}, Bc = (e) => ({
|
|
6479
6491
|
value: e.style.getPropertyValue("display"),
|
|
6480
6492
|
priority: e.style.getPropertyPriority("display")
|
|
6481
|
-
}),
|
|
6493
|
+
}), Vc = (e, t) => {
|
|
6482
6494
|
t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
6483
|
-
},
|
|
6495
|
+
}, Hc = (e, t) => {
|
|
6484
6496
|
let n = e;
|
|
6485
6497
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
6486
6498
|
return n.parentElement === t ? n : null;
|
|
6487
|
-
},
|
|
6499
|
+
}, Uc = (e) => {
|
|
6488
6500
|
let t = e.querySelector("[data-mesurer-root='true']");
|
|
6489
6501
|
if (!t) return () => void 0;
|
|
6490
6502
|
let n = /* @__PURE__ */ new Set();
|
|
6491
6503
|
for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
|
|
6492
|
-
let r =
|
|
6504
|
+
let r = Hc(e, t);
|
|
6493
6505
|
r && n.add(r);
|
|
6494
6506
|
}
|
|
6495
|
-
for (let e of t.querySelectorAll(
|
|
6496
|
-
let r =
|
|
6507
|
+
for (let e of t.querySelectorAll(Pc)) {
|
|
6508
|
+
let r = Hc(e, t);
|
|
6497
6509
|
r && n.add(r);
|
|
6498
6510
|
}
|
|
6499
6511
|
let r = [];
|
|
6500
6512
|
for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
|
|
6501
6513
|
element: e,
|
|
6502
|
-
display:
|
|
6514
|
+
display: Bc(e)
|
|
6503
6515
|
}), e.style.setProperty("display", "none", "important"));
|
|
6504
6516
|
return () => {
|
|
6505
|
-
for (let e of r)
|
|
6517
|
+
for (let e of r) Vc(e.element, e.display);
|
|
6506
6518
|
};
|
|
6507
|
-
},
|
|
6519
|
+
}, Wc = (e) => Array.from(e.querySelectorAll(Fc)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
|
|
6508
6520
|
element: e,
|
|
6509
|
-
display:
|
|
6510
|
-
})),
|
|
6511
|
-
for (let t of e) t.element.isConnected &&
|
|
6512
|
-
},
|
|
6513
|
-
id:
|
|
6521
|
+
display: Bc(e)
|
|
6522
|
+
})), Gc = (e) => {
|
|
6523
|
+
for (let t of e) t.element.isConnected && Vc(t.element, t.display);
|
|
6524
|
+
}, Kc = (e = {}) => ar({
|
|
6525
|
+
id: Ec,
|
|
6514
6526
|
version: "0.1.0",
|
|
6515
|
-
requires: [
|
|
6527
|
+
requires: [Ac],
|
|
6516
6528
|
provides: [
|
|
6517
6529
|
"tool:screenshot",
|
|
6518
6530
|
"capture:screenshot",
|
|
6519
6531
|
"settings:screenshot"
|
|
6520
6532
|
],
|
|
6521
6533
|
setup(t) {
|
|
6522
|
-
let n = t.service.get(
|
|
6534
|
+
let n = t.service.get(Ac);
|
|
6523
6535
|
if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
|
|
6524
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ??
|
|
6536
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Nc;
|
|
6525
6537
|
t.state.register({
|
|
6526
|
-
id:
|
|
6538
|
+
id: Oc,
|
|
6527
6539
|
initial: {
|
|
6528
6540
|
toolEnabled: e.toolEnabled ?? !0,
|
|
6529
6541
|
copy: e.copy ?? !0,
|
|
@@ -6532,11 +6544,11 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6532
6544
|
},
|
|
6533
6545
|
persist: !0
|
|
6534
6546
|
}), t.state.register({
|
|
6535
|
-
id:
|
|
6547
|
+
id: kc,
|
|
6536
6548
|
initial: !1
|
|
6537
6549
|
});
|
|
6538
6550
|
let u = o.element;
|
|
6539
|
-
u.dataset.mesurerScreenshot = "true",
|
|
6551
|
+
u.dataset.mesurerScreenshot = "true", Lc(u, {
|
|
6540
6552
|
position: "fixed",
|
|
6541
6553
|
inset: "0",
|
|
6542
6554
|
"z-index": "85",
|
|
@@ -6544,7 +6556,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6544
6556
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
6545
6557
|
});
|
|
6546
6558
|
let d = r.createElement("div");
|
|
6547
|
-
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"),
|
|
6559
|
+
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), Lc(d, {
|
|
6548
6560
|
position: "fixed",
|
|
6549
6561
|
inset: "0",
|
|
6550
6562
|
display: "none",
|
|
@@ -6556,13 +6568,13 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6556
6568
|
}), u.append(d);
|
|
6557
6569
|
let f = Array.from({ length: 4 }, () => {
|
|
6558
6570
|
let e = r.createElement("div");
|
|
6559
|
-
return
|
|
6571
|
+
return Lc(e, {
|
|
6560
6572
|
position: "fixed",
|
|
6561
6573
|
"background-color": "rgb(0 0 0 / 40%)",
|
|
6562
6574
|
"pointer-events": "none"
|
|
6563
6575
|
}), d.append(e), e;
|
|
6564
6576
|
}), p = r.createElement("div");
|
|
6565
|
-
|
|
6577
|
+
Lc(p, {
|
|
6566
6578
|
position: "fixed",
|
|
6567
6579
|
display: "none",
|
|
6568
6580
|
border: "1px solid #0d99ff",
|
|
@@ -6570,7 +6582,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6570
6582
|
"pointer-events": "none"
|
|
6571
6583
|
}), d.append(p);
|
|
6572
6584
|
let m = r.createElement("div");
|
|
6573
|
-
|
|
6585
|
+
Lc(m, {
|
|
6574
6586
|
position: "fixed",
|
|
6575
6587
|
display: "none",
|
|
6576
6588
|
"z-index": "86",
|
|
@@ -6584,7 +6596,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6584
6596
|
"pointer-events": "none"
|
|
6585
6597
|
}), d.append(m);
|
|
6586
6598
|
let h = r.createElement("div");
|
|
6587
|
-
h.textContent = "Drag to select · Esc to cancel",
|
|
6599
|
+
h.textContent = "Drag to select · Esc to cancel", Lc(h, {
|
|
6588
6600
|
position: "fixed",
|
|
6589
6601
|
left: "50%",
|
|
6590
6602
|
bottom: "16px",
|
|
@@ -6597,7 +6609,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6597
6609
|
"pointer-events": "none"
|
|
6598
6610
|
}), d.append(h);
|
|
6599
6611
|
let g = r.createElement("div");
|
|
6600
|
-
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot",
|
|
6612
|
+
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", Lc(g, {
|
|
6601
6613
|
position: "fixed",
|
|
6602
6614
|
display: "none",
|
|
6603
6615
|
"z-index": "97",
|
|
@@ -6608,8 +6620,8 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6608
6620
|
"font-size": "11px",
|
|
6609
6621
|
"pointer-events": "none"
|
|
6610
6622
|
}), u.append(g);
|
|
6611
|
-
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () =>
|
|
6612
|
-
t.state.update(
|
|
6623
|
+
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => zc(t.state.get), E = (e) => {
|
|
6624
|
+
t.state.update(Oc, (t) => {
|
|
6613
6625
|
let n = { ...t };
|
|
6614
6626
|
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), e.copy !== void 0 && (n.copy = e.copy), e.download !== void 0 && (n.download = e.download), e.includeMeasurements !== void 0 && (n.includeMeasurements = e.includeMeasurements), n;
|
|
6615
6627
|
});
|
|
@@ -6632,13 +6644,13 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6632
6644
|
}, A = (e) => {
|
|
6633
6645
|
let t = i.innerWidth, n = i.innerHeight;
|
|
6634
6646
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
6635
|
-
|
|
6647
|
+
Rc(f[0], {
|
|
6636
6648
|
left: 0,
|
|
6637
6649
|
top: 0,
|
|
6638
6650
|
width: t,
|
|
6639
6651
|
height: n
|
|
6640
6652
|
});
|
|
6641
|
-
for (let e of f.slice(1))
|
|
6653
|
+
for (let e of f.slice(1)) Rc(e, {
|
|
6642
6654
|
left: 0,
|
|
6643
6655
|
top: 0,
|
|
6644
6656
|
width: 0,
|
|
@@ -6647,31 +6659,31 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6647
6659
|
p.style.display = "none", m.style.display = "none";
|
|
6648
6660
|
return;
|
|
6649
6661
|
}
|
|
6650
|
-
|
|
6662
|
+
Rc(f[0], {
|
|
6651
6663
|
left: 0,
|
|
6652
6664
|
top: 0,
|
|
6653
6665
|
width: t,
|
|
6654
6666
|
height: e.top
|
|
6655
|
-
}),
|
|
6667
|
+
}), Rc(f[1], {
|
|
6656
6668
|
left: 0,
|
|
6657
6669
|
top: e.top,
|
|
6658
6670
|
width: e.left,
|
|
6659
6671
|
height: e.height
|
|
6660
|
-
}),
|
|
6672
|
+
}), Rc(f[2], {
|
|
6661
6673
|
left: e.left + e.width,
|
|
6662
6674
|
top: e.top,
|
|
6663
6675
|
width: Math.max(0, t - e.left - e.width),
|
|
6664
6676
|
height: e.height
|
|
6665
|
-
}),
|
|
6677
|
+
}), Rc(f[3], {
|
|
6666
6678
|
left: 0,
|
|
6667
6679
|
top: e.top + e.height,
|
|
6668
6680
|
width: t,
|
|
6669
6681
|
height: Math.max(0, n - e.top - e.height)
|
|
6670
|
-
}), p.style.display = "block",
|
|
6682
|
+
}), p.style.display = "block", Rc(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, Rc(m, {
|
|
6671
6683
|
left: e.left + e.width / 2,
|
|
6672
6684
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
6673
6685
|
});
|
|
6674
|
-
}, ee = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, j =
|
|
6686
|
+
}, ee = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, j = Tc({
|
|
6675
6687
|
ownerDocument: r,
|
|
6676
6688
|
ownerWindow: i,
|
|
6677
6689
|
root: u,
|
|
@@ -6682,7 +6694,7 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6682
6694
|
}, M = () => {
|
|
6683
6695
|
y && i.clearTimeout(y), g.style.display = "block", te(g), y = i.setTimeout(() => {
|
|
6684
6696
|
y = 0, g.style.display = "none";
|
|
6685
|
-
},
|
|
6697
|
+
}, Mc);
|
|
6686
6698
|
}, N = () => {
|
|
6687
6699
|
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
6688
6700
|
}, P = () => {
|
|
@@ -6691,8 +6703,8 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6691
6703
|
if (x) throw Error("A screenshot capture is already running.");
|
|
6692
6704
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
6693
6705
|
x = !0;
|
|
6694
|
-
let o = ++b, s = T(), l = s.includeMeasurements ?
|
|
6695
|
-
a.prepareCapture(), s.includeMeasurements &&
|
|
6706
|
+
let o = ++b, s = T(), l = s.includeMeasurements ? Wc(r) : [], u = s.includeMeasurements ? () => void 0 : Uc(n.portalTarget);
|
|
6707
|
+
a.prepareCapture(), s.includeMeasurements && Gc(l);
|
|
6696
6708
|
try {
|
|
6697
6709
|
d.style.visibility = "hidden", await Cr(i);
|
|
6698
6710
|
let n = await yr(await c({
|
|
@@ -6800,9 +6812,9 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6800
6812
|
label: "Screenshot",
|
|
6801
6813
|
shortcut: "Shift+S",
|
|
6802
6814
|
order: 70,
|
|
6803
|
-
command:
|
|
6815
|
+
command: jc,
|
|
6804
6816
|
toolbarMode: "select",
|
|
6805
|
-
icon:
|
|
6817
|
+
icon: Ic,
|
|
6806
6818
|
active: w,
|
|
6807
6819
|
hidden: () => !T().toolEnabled,
|
|
6808
6820
|
menu: {
|
|
@@ -6868,14 +6880,14 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6868
6880
|
set: (e) => E({ includeMeasurements: e })
|
|
6869
6881
|
}
|
|
6870
6882
|
]
|
|
6871
|
-
}), t.command.register(
|
|
6883
|
+
}), t.command.register(jc, I), t.service.provide(Dc, ne), t.lifecycle.onDispose(() => {
|
|
6872
6884
|
C = !0, b += 1, d.removeEventListener("pointerdown", L), d.removeEventListener("pointermove", R), d.removeEventListener("pointerup", z), d.removeEventListener("pointercancel", B), i.removeEventListener("keydown", V, !0), y && i.clearTimeout(y), j.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
6873
6885
|
});
|
|
6874
6886
|
}
|
|
6875
|
-
}),
|
|
6876
|
-
...
|
|
6877
|
-
version:
|
|
6878
|
-
}),
|
|
6887
|
+
}), qc = "0.2.1-beta.3", Jc = qa, Yc = Wa, Xc = Ga, Zc = Ja, Qc = Ka, $c = () => ({
|
|
6888
|
+
...Vo(),
|
|
6889
|
+
version: qc
|
|
6890
|
+
}), el = $c, tl = Jc, nl = Yc, rl = Xc, il = Zc, al = Qc, ol = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, sl = (e) => {
|
|
6879
6891
|
if (!e.length) return null;
|
|
6880
6892
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
6881
6893
|
return {
|
|
@@ -6884,43 +6896,43 @@ var Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-
|
|
|
6884
6896
|
width: r - t,
|
|
6885
6897
|
height: i - n
|
|
6886
6898
|
};
|
|
6887
|
-
},
|
|
6888
|
-
function
|
|
6899
|
+
}, cl = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), ll = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
|
|
6900
|
+
function ul(e) {
|
|
6889
6901
|
let { workspace: t, scope: n, guideTolerance: r } = e;
|
|
6890
6902
|
if (n.kind === "workspace") return {
|
|
6891
6903
|
guides: t.guides.map((e) => ({ ...e })),
|
|
6892
|
-
measurements:
|
|
6904
|
+
measurements: ll(t),
|
|
6893
6905
|
distances: [...t.distances]
|
|
6894
6906
|
};
|
|
6895
|
-
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) =>
|
|
6907
|
+
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => ol(e, t));
|
|
6896
6908
|
return {
|
|
6897
|
-
guides: t.guides.filter((e) =>
|
|
6898
|
-
measurements:
|
|
6909
|
+
guides: t.guides.filter((e) => cl(e, n.regions, r)).map((e) => ({ ...e })),
|
|
6910
|
+
measurements: ll(t).filter((e) => a(e.elementRef) || o(e.rect)),
|
|
6899
6911
|
distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
|
|
6900
6912
|
};
|
|
6901
6913
|
}
|
|
6902
6914
|
//#endregion
|
|
6903
6915
|
//#region ../mesurer-core/dist/domain.js
|
|
6904
|
-
var
|
|
6916
|
+
var dl = {
|
|
6905
6917
|
opacity: 1,
|
|
6906
6918
|
width: 1,
|
|
6907
6919
|
pattern: "solid",
|
|
6908
6920
|
dashLength: 6,
|
|
6909
6921
|
gap: 4
|
|
6910
|
-
},
|
|
6922
|
+
}, fl = {
|
|
6911
6923
|
opacity: 1,
|
|
6912
6924
|
edgeReveal: !1
|
|
6913
6925
|
};
|
|
6914
|
-
({ ...
|
|
6926
|
+
({ ...dl }), { ...fl };
|
|
6915
6927
|
//#endregion
|
|
6916
6928
|
//#region ../mesurer-dom/dist/index.js
|
|
6917
|
-
var
|
|
6929
|
+
var pl = (e) => Number.parseFloat(e) || 0, ml = 0, hl = (e, t) => {
|
|
6918
6930
|
let n = t.CSS;
|
|
6919
6931
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
6920
6932
|
};
|
|
6921
|
-
function
|
|
6933
|
+
function gl(e) {
|
|
6922
6934
|
let t = e.ownerDocument.defaultView ?? window;
|
|
6923
|
-
if (e.id) return `#${
|
|
6935
|
+
if (e.id) return `#${hl(e.id, t)}`;
|
|
6924
6936
|
let n = e.getAttribute("data-testid");
|
|
6925
6937
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
6926
6938
|
let r = [], i = e;
|
|
@@ -6934,17 +6946,17 @@ function hl(e) {
|
|
|
6934
6946
|
}
|
|
6935
6947
|
return r.join(" > ");
|
|
6936
6948
|
}
|
|
6937
|
-
function
|
|
6949
|
+
function _l(e, t, n = `dom-inspection-${++ml}`) {
|
|
6938
6950
|
let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
|
|
6939
|
-
top:
|
|
6940
|
-
right:
|
|
6941
|
-
bottom:
|
|
6942
|
-
left:
|
|
6951
|
+
top: pl(i.paddingTop),
|
|
6952
|
+
right: pl(i.paddingRight),
|
|
6953
|
+
bottom: pl(i.paddingBottom),
|
|
6954
|
+
left: pl(i.paddingLeft)
|
|
6943
6955
|
}, o = {
|
|
6944
|
-
top:
|
|
6945
|
-
right:
|
|
6946
|
-
bottom:
|
|
6947
|
-
left:
|
|
6956
|
+
top: pl(i.marginTop),
|
|
6957
|
+
right: pl(i.marginRight),
|
|
6958
|
+
bottom: pl(i.marginBottom),
|
|
6959
|
+
left: pl(i.marginLeft)
|
|
6948
6960
|
}, s = {
|
|
6949
6961
|
left: r.left + a.left,
|
|
6950
6962
|
top: r.top + a.top,
|
|
@@ -6972,8 +6984,8 @@ function gl(e, t, n = `dom-inspection-${++pl}`) {
|
|
|
6972
6984
|
elementRef: e
|
|
6973
6985
|
};
|
|
6974
6986
|
}
|
|
6975
|
-
function
|
|
6976
|
-
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ?
|
|
6987
|
+
function vl(e) {
|
|
6988
|
+
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? _l(r, t) : null, o = (e) => {
|
|
6977
6989
|
let t = Number.parseFloat(e);
|
|
6978
6990
|
return Number.isFinite(t) ? t : 0;
|
|
6979
6991
|
}, s = (e) => ({
|
|
@@ -6983,7 +6995,7 @@ function _l(e) {
|
|
|
6983
6995
|
left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
|
|
6984
6996
|
});
|
|
6985
6997
|
return {
|
|
6986
|
-
selector:
|
|
6998
|
+
selector: gl(e),
|
|
6987
6999
|
tag: e.localName,
|
|
6988
7000
|
id: e.id || null,
|
|
6989
7001
|
classes: [...e.classList],
|
|
@@ -7045,17 +7057,17 @@ function _l(e) {
|
|
|
7045
7057
|
}
|
|
7046
7058
|
//#endregion
|
|
7047
7059
|
//#region src/context.ts
|
|
7048
|
-
var
|
|
7060
|
+
var yl = 10, bl = (e) => ({
|
|
7049
7061
|
left: e.left,
|
|
7050
7062
|
top: e.top,
|
|
7051
7063
|
width: e.width,
|
|
7052
7064
|
height: e.height
|
|
7053
|
-
}),
|
|
7065
|
+
}), xl = (e) => {
|
|
7054
7066
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
7055
7067
|
for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
|
|
7056
7068
|
return n;
|
|
7057
|
-
},
|
|
7058
|
-
function
|
|
7069
|
+
}, Sl = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
7070
|
+
function Cl(e) {
|
|
7059
7071
|
let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
|
|
7060
7072
|
if (!a) throw Error("Mesurer workspace is not ready yet.");
|
|
7061
7073
|
let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
|
|
@@ -7063,7 +7075,7 @@ function Sl(e) {
|
|
|
7063
7075
|
let e = t.annotation(i.annotation);
|
|
7064
7076
|
if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
|
|
7065
7077
|
for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
|
|
7066
|
-
o =
|
|
7078
|
+
o = xl(e.resolvedTargets.map((e) => e.element));
|
|
7067
7079
|
let n = t.annotationRect(e.id);
|
|
7068
7080
|
n && (s = [n]);
|
|
7069
7081
|
let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, u = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
|
|
@@ -7075,15 +7087,15 @@ function Sl(e) {
|
|
|
7075
7087
|
};
|
|
7076
7088
|
} else if (i.scope === "selection") {
|
|
7077
7089
|
let e = t.currentSelection();
|
|
7078
|
-
if (o =
|
|
7079
|
-
s = e.region ? [e.region] : o.map((e) =>
|
|
7080
|
-
} else o =
|
|
7090
|
+
if (o = xl(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
|
|
7091
|
+
s = e.region ? [e.region] : o.map((e) => bl(e.getBoundingClientRect())), c = { kind: "selection" };
|
|
7092
|
+
} else o = xl([
|
|
7081
7093
|
...t.currentSelection().elements,
|
|
7082
7094
|
...a.measurements.map((e) => e.elementRef),
|
|
7083
7095
|
a.activeMeasurement?.elementRef,
|
|
7084
7096
|
...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
7085
7097
|
]);
|
|
7086
|
-
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) =>
|
|
7098
|
+
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => bl(e.getBoundingClientRect())), d = ul({
|
|
7087
7099
|
workspace: {
|
|
7088
7100
|
guides: a.guides,
|
|
7089
7101
|
measurements: a.measurements,
|
|
@@ -7095,8 +7107,8 @@ function Sl(e) {
|
|
|
7095
7107
|
elements: o,
|
|
7096
7108
|
regions: u
|
|
7097
7109
|
},
|
|
7098
|
-
guideTolerance: a.guideRelevanceTolerance ??
|
|
7099
|
-
}), f = d.measurements, p = d.distances, m = d.guides, h =
|
|
7110
|
+
guideTolerance: a.guideRelevanceTolerance ?? yl
|
|
7111
|
+
}), f = d.measurements, p = d.distances, m = d.guides, h = xl([
|
|
7100
7112
|
...o,
|
|
7101
7113
|
...f.map((e) => e.elementRef),
|
|
7102
7114
|
...p.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
@@ -7108,12 +7120,12 @@ function Sl(e) {
|
|
|
7108
7120
|
let t = l.get(e) ?? y();
|
|
7109
7121
|
return g.set(e, t), {
|
|
7110
7122
|
ref: t,
|
|
7111
|
-
inspection:
|
|
7123
|
+
inspection: vl(e)
|
|
7112
7124
|
};
|
|
7113
7125
|
}), x = f.map((e) => {
|
|
7114
7126
|
let t = {
|
|
7115
7127
|
id: e.id,
|
|
7116
|
-
rect:
|
|
7128
|
+
rect: bl(e.rect),
|
|
7117
7129
|
deltaX: e.deltaX,
|
|
7118
7130
|
deltaY: e.deltaY
|
|
7119
7131
|
};
|
|
@@ -7123,8 +7135,8 @@ function Sl(e) {
|
|
|
7123
7135
|
}), S = p.map((e) => {
|
|
7124
7136
|
let t = {
|
|
7125
7137
|
id: e.id,
|
|
7126
|
-
rectA:
|
|
7127
|
-
rectB:
|
|
7138
|
+
rectA: bl(e.rectA),
|
|
7139
|
+
rectB: bl(e.rectB),
|
|
7128
7140
|
horizontal: e.horizontal ? { ...e.horizontal } : null,
|
|
7129
7141
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
7130
7142
|
}, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
|
|
@@ -7132,7 +7144,7 @@ function Sl(e) {
|
|
|
7132
7144
|
});
|
|
7133
7145
|
return {
|
|
7134
7146
|
schema: "mesurer.context/v1",
|
|
7135
|
-
id:
|
|
7147
|
+
id: Sl(r),
|
|
7136
7148
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
7137
7149
|
scope: c,
|
|
7138
7150
|
page: {
|
|
@@ -7147,7 +7159,7 @@ function Sl(e) {
|
|
|
7147
7159
|
scrollY: r.scrollY
|
|
7148
7160
|
},
|
|
7149
7161
|
coordinateSpace: "viewport-css-px",
|
|
7150
|
-
regions: c.kind === "workspace" ? [] : s.map(
|
|
7162
|
+
regions: c.kind === "workspace" ? [] : s.map(bl),
|
|
7151
7163
|
visualState: {
|
|
7152
7164
|
rulersVisible: a.rulersVisible,
|
|
7153
7165
|
xrayVisible: a.xrayVisible
|
|
@@ -7161,19 +7173,19 @@ function Sl(e) {
|
|
|
7161
7173
|
}
|
|
7162
7174
|
};
|
|
7163
7175
|
}
|
|
7164
|
-
var $ = (e) => `${Math.round(e * 100) / 100}px`,
|
|
7165
|
-
function
|
|
7176
|
+
var $ = (e) => `${Math.round(e * 100) / 100}px`, wl = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
|
|
7177
|
+
function Tl(e) {
|
|
7166
7178
|
let t = [
|
|
7167
7179
|
"Mesurer visual context",
|
|
7168
7180
|
"",
|
|
7169
7181
|
`Page: ${e.page.url}`,
|
|
7170
7182
|
`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
|
|
7171
7183
|
];
|
|
7172
|
-
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${
|
|
7184
|
+
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${wl(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
|
|
7173
7185
|
t.push("", "Targets");
|
|
7174
7186
|
for (let n of e.targets) {
|
|
7175
7187
|
let e = n.inspection;
|
|
7176
|
-
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${
|
|
7188
|
+
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${wl(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
|
|
7177
7189
|
}
|
|
7178
7190
|
}
|
|
7179
7191
|
if (e.visualContext.guides.length) {
|
|
@@ -7190,7 +7202,7 @@ function wl(e) {
|
|
|
7190
7202
|
}
|
|
7191
7203
|
if (e.visualContext.measurements.length) {
|
|
7192
7204
|
t.push("", "Relevant measurements");
|
|
7193
|
-
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${
|
|
7205
|
+
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${wl(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
|
|
7194
7206
|
}
|
|
7195
7207
|
if (e.visualContext.distances.length) {
|
|
7196
7208
|
t.push("", "Relevant distances");
|
|
@@ -7201,8 +7213,8 @@ function wl(e) {
|
|
|
7201
7213
|
}
|
|
7202
7214
|
return t.join("\n").trimEnd();
|
|
7203
7215
|
}
|
|
7204
|
-
function
|
|
7205
|
-
let t =
|
|
7216
|
+
function El(e) {
|
|
7217
|
+
let t = sl([
|
|
7206
7218
|
...e.regions,
|
|
7207
7219
|
...e.targets.map((e) => e.inspection.rect),
|
|
7208
7220
|
...e.visualContext.measurements.map((e) => e.rect),
|
|
@@ -7232,7 +7244,7 @@ function Tl(e) {
|
|
|
7232
7244
|
captures: n
|
|
7233
7245
|
};
|
|
7234
7246
|
}
|
|
7235
|
-
var
|
|
7247
|
+
var Dl = (e, t, n, r, i) => {
|
|
7236
7248
|
!Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
|
|
7237
7249
|
kind: t,
|
|
7238
7250
|
label: n,
|
|
@@ -7241,16 +7253,16 @@ var El = (e, t, n, r, i) => {
|
|
|
7241
7253
|
delta: i - r,
|
|
7242
7254
|
unit: "px"
|
|
7243
7255
|
});
|
|
7244
|
-
},
|
|
7256
|
+
}, Ol = (e, t, n, r) => e.push({
|
|
7245
7257
|
kind: "missing",
|
|
7246
7258
|
evidence: t,
|
|
7247
7259
|
id: n,
|
|
7248
7260
|
label: r
|
|
7249
|
-
}),
|
|
7250
|
-
function
|
|
7261
|
+
}), kl = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
|
|
7262
|
+
function Al(e) {
|
|
7251
7263
|
let t = e.runtime.annotation(e.annotationId);
|
|
7252
7264
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
7253
|
-
let n =
|
|
7265
|
+
let n = Cl({
|
|
7254
7266
|
runtime: e.runtime,
|
|
7255
7267
|
ownerDocument: e.ownerDocument,
|
|
7256
7268
|
ownerWindow: e.ownerWindow,
|
|
@@ -7260,42 +7272,42 @@ function kl(e) {
|
|
|
7260
7272
|
if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
|
|
7261
7273
|
let r = e.runtime.snapshot();
|
|
7262
7274
|
if (!r) throw Error("Mesurer workspace is not ready yet.");
|
|
7263
|
-
let i =
|
|
7275
|
+
let i = ll({
|
|
7264
7276
|
measurements: r.measurements,
|
|
7265
7277
|
activeMeasurement: r.activeMeasurement
|
|
7266
7278
|
}), a = [];
|
|
7267
7279
|
for (let e of t.baseline.targets) {
|
|
7268
7280
|
let t = n.targets.find((t) => t.ref === e.id);
|
|
7269
7281
|
if (!t) {
|
|
7270
|
-
|
|
7282
|
+
Ol(a, "target", e.id, e.selector);
|
|
7271
7283
|
continue;
|
|
7272
7284
|
}
|
|
7273
|
-
|
|
7285
|
+
Dl(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), Dl(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), Dl(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), Dl(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
|
|
7274
7286
|
}
|
|
7275
7287
|
for (let e of t.baseline.guides) {
|
|
7276
7288
|
let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
|
|
7277
7289
|
if (!t) {
|
|
7278
|
-
|
|
7290
|
+
Ol(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
|
|
7279
7291
|
continue;
|
|
7280
7292
|
}
|
|
7281
|
-
|
|
7293
|
+
Dl(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
7282
7294
|
}
|
|
7283
7295
|
for (let e of t.baseline.measurements) {
|
|
7284
7296
|
let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
7285
7297
|
if (!r) {
|
|
7286
|
-
let r = t.baseline.targets.find((t) =>
|
|
7287
|
-
r && n.targets.some((e) => e.ref === r.id) ||
|
|
7298
|
+
let r = t.baseline.targets.find((t) => kl(t.rect, e.rect));
|
|
7299
|
+
r && n.targets.some((e) => e.ref === r.id) || Ol(a, "measurement", e.id, e.id);
|
|
7288
7300
|
continue;
|
|
7289
7301
|
}
|
|
7290
|
-
|
|
7302
|
+
Dl(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), Dl(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
|
|
7291
7303
|
}
|
|
7292
7304
|
for (let e of t.baseline.distances) {
|
|
7293
7305
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
7294
7306
|
if (!t) {
|
|
7295
|
-
|
|
7307
|
+
Ol(a, "distance", e.id, e.id);
|
|
7296
7308
|
continue;
|
|
7297
7309
|
}
|
|
7298
|
-
e.horizontal && t.horizontal ?
|
|
7310
|
+
e.horizontal && t.horizontal ? Dl(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Ol(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? Dl(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Ol(a, "distance", e.id, `${e.id} vertical`);
|
|
7299
7311
|
}
|
|
7300
7312
|
return {
|
|
7301
7313
|
schema: "mesurer.review/v1",
|
|
@@ -7307,7 +7319,7 @@ function kl(e) {
|
|
|
7307
7319
|
changes: a
|
|
7308
7320
|
};
|
|
7309
7321
|
}
|
|
7310
|
-
async function
|
|
7322
|
+
async function jl(e, t, n) {
|
|
7311
7323
|
try {
|
|
7312
7324
|
if (t.navigator.clipboard?.writeText) {
|
|
7313
7325
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -7321,43 +7333,43 @@ async function Al(e, t, n) {
|
|
|
7321
7333
|
}
|
|
7322
7334
|
//#endregion
|
|
7323
7335
|
//#region src/layout-guides.ts
|
|
7324
|
-
var
|
|
7325
|
-
...
|
|
7326
|
-
version:
|
|
7327
|
-
}),
|
|
7336
|
+
var Ml = Vs, Nl = Hs, Pl = Us, Fl = Ws, Il = () => ({
|
|
7337
|
+
...mc(),
|
|
7338
|
+
version: qc
|
|
7339
|
+
}), Ll = "mesurer.context", Rl = "context:v1", zl = "mesurer.context.settings", Bl = "context.ui", Vl = "data-mesurer-direct-text-edit-active", Hl = {
|
|
7328
7340
|
viewBox: "0 0 256 256",
|
|
7329
7341
|
paths: ["M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"]
|
|
7330
|
-
},
|
|
7342
|
+
}, Ul = {
|
|
7331
7343
|
viewBox: "0 0 256 256",
|
|
7332
7344
|
paths: ["M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z"]
|
|
7333
|
-
},
|
|
7345
|
+
}, Wl = {
|
|
7334
7346
|
viewBox: "0 0 256 256",
|
|
7335
7347
|
paths: ["M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z"]
|
|
7336
|
-
},
|
|
7348
|
+
}, Gl = async (e, t, n = 1) => {
|
|
7337
7349
|
await e.fonts?.ready;
|
|
7338
7350
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
7339
|
-
},
|
|
7340
|
-
let i = async (i) =>
|
|
7351
|
+
}, Kl = (e, t, n, r) => {
|
|
7352
|
+
let i = async (i) => Cl({
|
|
7341
7353
|
runtime: e,
|
|
7342
7354
|
ownerDocument: t,
|
|
7343
7355
|
ownerWindow: n,
|
|
7344
7356
|
request: i,
|
|
7345
7357
|
layoutGuides: r()
|
|
7346
|
-
}), a = async (e) =>
|
|
7358
|
+
}), a = async (e) => Tl(await i(e));
|
|
7347
7359
|
return {
|
|
7348
7360
|
context: i,
|
|
7349
7361
|
contextText: a,
|
|
7350
|
-
copyContext: async (e) =>
|
|
7362
|
+
copyContext: async (e) => jl(t, n, await a(e)),
|
|
7351
7363
|
select: async (r) => {
|
|
7352
7364
|
let a = Array.isArray(r) ? [...r] : [String(r)];
|
|
7353
|
-
return e.select(a), await
|
|
7365
|
+
return e.select(a), await Gl(t, n), i({ scope: "selection" });
|
|
7354
7366
|
},
|
|
7355
7367
|
annotations: async () => e.annotations(),
|
|
7356
7368
|
removeAnnotation: async (r) => {
|
|
7357
|
-
e.removeAnnotation(r), await
|
|
7369
|
+
e.removeAnnotation(r), await Gl(t, n);
|
|
7358
7370
|
},
|
|
7359
7371
|
review: async (i) => {
|
|
7360
|
-
if (await
|
|
7372
|
+
if (await Gl(t, n), i) return Al({
|
|
7361
7373
|
runtime: e,
|
|
7362
7374
|
ownerDocument: t,
|
|
7363
7375
|
ownerWindow: n,
|
|
@@ -7365,7 +7377,7 @@ var jl = Bs, Ml = Vs, Nl = Hs, Pl = Us, Fl = () => ({
|
|
|
7365
7377
|
layoutGuides: r()
|
|
7366
7378
|
});
|
|
7367
7379
|
let a = r();
|
|
7368
|
-
return e.annotations().map((r) =>
|
|
7380
|
+
return e.annotations().map((r) => Al({
|
|
7369
7381
|
runtime: e,
|
|
7370
7382
|
ownerDocument: t,
|
|
7371
7383
|
ownerWindow: n,
|
|
@@ -7373,38 +7385,38 @@ var jl = Bs, Ml = Vs, Nl = Hs, Pl = Us, Fl = () => ({
|
|
|
7373
7385
|
layoutGuides: a
|
|
7374
7386
|
}));
|
|
7375
7387
|
},
|
|
7376
|
-
capturePlan: async (e) =>
|
|
7388
|
+
capturePlan: async (e) => El(await i(e)),
|
|
7377
7389
|
prepareCapture: async () => {
|
|
7378
|
-
e.prepareCapture(), await
|
|
7390
|
+
e.prepareCapture(), await Gl(t, n);
|
|
7379
7391
|
},
|
|
7380
7392
|
finishCapture: async () => {
|
|
7381
|
-
e.finishCapture(), await
|
|
7393
|
+
e.finishCapture(), await Gl(t, n);
|
|
7382
7394
|
}
|
|
7383
7395
|
};
|
|
7384
|
-
},
|
|
7396
|
+
}, ql = (e) => {
|
|
7385
7397
|
let t = e.currentSelection();
|
|
7386
7398
|
return t.elements.length > 0 || t.region !== null;
|
|
7387
7399
|
};
|
|
7388
|
-
function
|
|
7400
|
+
function Jl(e = {}) {
|
|
7389
7401
|
return {
|
|
7390
|
-
id:
|
|
7391
|
-
version:
|
|
7402
|
+
id: Ll,
|
|
7403
|
+
version: qc,
|
|
7392
7404
|
requires: ["runtime:solid"],
|
|
7393
|
-
provides: [
|
|
7405
|
+
provides: [Rl],
|
|
7394
7406
|
setup(t) {
|
|
7395
7407
|
let n = t.service.get("runtime:solid");
|
|
7396
7408
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
7397
|
-
let r = n.createWorkspaceRuntime(
|
|
7398
|
-
t.service.provide(
|
|
7399
|
-
id:
|
|
7409
|
+
let r = n.createWorkspaceRuntime(Ll), i = Kl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Nl)?.list() ?? []);
|
|
7410
|
+
t.service.provide(Rl, i), t.state.register({
|
|
7411
|
+
id: zl,
|
|
7400
7412
|
initial: { ui: e.ui ?? !0 },
|
|
7401
7413
|
persist: !0
|
|
7402
7414
|
}), t.state.register({
|
|
7403
|
-
id:
|
|
7404
|
-
initial: { hasSelection:
|
|
7415
|
+
id: Bl,
|
|
7416
|
+
initial: { hasSelection: ql(r) }
|
|
7405
7417
|
});
|
|
7406
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(
|
|
7407
|
-
t.state.update(
|
|
7418
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Bl)?.hasSelection === !0, s = (e) => {
|
|
7419
|
+
t.state.update(zl, (t) => ({
|
|
7408
7420
|
...t,
|
|
7409
7421
|
ui: e
|
|
7410
7422
|
}));
|
|
@@ -7418,21 +7430,21 @@ function ql(e = {}) {
|
|
|
7418
7430
|
region: e.region ? { ...e.region } : null
|
|
7419
7431
|
}, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
|
|
7420
7432
|
let i = e.elements.length > 0 || e.region !== null;
|
|
7421
|
-
i !== (t.state.get(
|
|
7433
|
+
i !== (t.state.get(Bl)?.hasSelection ?? !1) && t.state.update(Bl, () => ({ hasSelection: i }));
|
|
7422
7434
|
});
|
|
7423
7435
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
7424
7436
|
let g = () => {
|
|
7425
7437
|
let e = u?.element;
|
|
7426
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
7438
|
+
e && (n.rendererRoot?.hasAttribute(Vl) ? e.setAttribute(Vl, "true") : e.removeAttribute(Vl));
|
|
7427
7439
|
}, _ = () => {
|
|
7428
7440
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
7429
7441
|
}, v = () => {
|
|
7430
7442
|
if (u) return;
|
|
7431
|
-
if (u =
|
|
7443
|
+
if (u = _s(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
|
|
7432
7444
|
let e = new n.ownerWindow.MutationObserver(g);
|
|
7433
7445
|
d = e, e.observe(n.rendererRoot, {
|
|
7434
7446
|
attributes: !0,
|
|
7435
|
-
attributeFilter: [
|
|
7447
|
+
attributeFilter: [Vl]
|
|
7436
7448
|
}), g();
|
|
7437
7449
|
}
|
|
7438
7450
|
let e = {
|
|
@@ -7443,7 +7455,7 @@ function ql(e = {}) {
|
|
|
7443
7455
|
},
|
|
7444
7456
|
coordinateSpace: "document"
|
|
7445
7457
|
};
|
|
7446
|
-
l = Dn(() => qt(
|
|
7458
|
+
l = Dn(() => qt(ps, En(e, { get ownerWindow() {
|
|
7447
7459
|
return n.ownerWindow;
|
|
7448
7460
|
} })), u.element);
|
|
7449
7461
|
}, y = () => {
|
|
@@ -7456,7 +7468,7 @@ function ql(e = {}) {
|
|
|
7456
7468
|
command: "context.copy",
|
|
7457
7469
|
order: 70,
|
|
7458
7470
|
toolbarMode: "always",
|
|
7459
|
-
icon:
|
|
7471
|
+
icon: Hl,
|
|
7460
7472
|
hidden: () => !a()
|
|
7461
7473
|
}), t.tool.register({
|
|
7462
7474
|
id: "context.copy-selection",
|
|
@@ -7465,7 +7477,7 @@ function ql(e = {}) {
|
|
|
7465
7477
|
command: "context.copy-selection",
|
|
7466
7478
|
order: 71,
|
|
7467
7479
|
toolbarMode: "always",
|
|
7468
|
-
icon:
|
|
7480
|
+
icon: Ul,
|
|
7469
7481
|
hidden: () => !a(),
|
|
7470
7482
|
disabled: () => !o()
|
|
7471
7483
|
}), t.tool.register({
|
|
@@ -7475,7 +7487,7 @@ function ql(e = {}) {
|
|
|
7475
7487
|
command: "context.add-note",
|
|
7476
7488
|
order: 72,
|
|
7477
7489
|
toolbarMode: "always",
|
|
7478
|
-
icon:
|
|
7490
|
+
icon: Wl,
|
|
7479
7491
|
hidden: () => !a(),
|
|
7480
7492
|
disabled: () => !o()
|
|
7481
7493
|
}), t.settings.register({
|
|
@@ -7498,28 +7510,28 @@ function ql(e = {}) {
|
|
|
7498
7510
|
}
|
|
7499
7511
|
//#endregion
|
|
7500
7512
|
//#region src/plugins/codex/index.ts
|
|
7501
|
-
var
|
|
7513
|
+
var Yl = "mesurer.codex", Xl = "codex:v1", Zl = "mesurer.plugin.before-disable", Ql = 2e3, $l = 750, eu = 1800, tu = 2e3, nu = 12e4, ru = 10, iu = 5, au = "Codex host connection is unavailable. Electron apps must expose window.__MESURER_HOST__.codexBridge from preload.", ou = [
|
|
7502
7514
|
"Implement the current human feedback from Mesurer in this project.",
|
|
7503
7515
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
7504
7516
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
7505
|
-
].join(" "),
|
|
7517
|
+
].join(" "), su = {
|
|
7506
7518
|
viewBox: "0 0 256 256",
|
|
7507
7519
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
7508
|
-
},
|
|
7520
|
+
}, cu = {
|
|
7509
7521
|
viewBox: "0 0 256 256",
|
|
7510
7522
|
paths: ["M72,32H184a8,8,0,0,1,0,16h-8v20.69a40,40,0,0,1-11.72,28.28L137.25,124l27.03,27.03A40,40,0,0,1,176,179.31V208h8a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16h8V179.31a40,40,0,0,1,11.72-28.28L118.75,124,91.72,96.97A40,40,0,0,1,80,68.69V48H72a8,8,0,0,1,0-16Zm24,16V68.69a24,24,0,0,0,7.03,16.97L128,110.63l24.97-24.97A24,24,0,0,0,160,68.69V48Zm32,90.63-24.97,24.97A24,24,0,0,0,96,180.57V208h64V180.57a24,24,0,0,0-7.03-16.97Z"]
|
|
7511
|
-
},
|
|
7523
|
+
}, lu = {
|
|
7512
7524
|
viewBox: "0 0 256 256",
|
|
7513
7525
|
paths: ["M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"]
|
|
7514
|
-
},
|
|
7526
|
+
}, uu = () => {
|
|
7515
7527
|
try {
|
|
7516
7528
|
let e = globalThis.location;
|
|
7517
7529
|
return e?.origin ? `mesurer-codex-ui:v2:${e.origin}${e.pathname}` : null;
|
|
7518
7530
|
} catch {
|
|
7519
7531
|
return null;
|
|
7520
7532
|
}
|
|
7521
|
-
},
|
|
7522
|
-
let e =
|
|
7533
|
+
}, du = () => {
|
|
7534
|
+
let e = uu();
|
|
7523
7535
|
if (!e) return null;
|
|
7524
7536
|
try {
|
|
7525
7537
|
let t = globalThis.sessionStorage?.getItem(e);
|
|
@@ -7544,18 +7556,18 @@ var Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable",
|
|
|
7544
7556
|
} catch {
|
|
7545
7557
|
return null;
|
|
7546
7558
|
}
|
|
7547
|
-
},
|
|
7548
|
-
let t =
|
|
7559
|
+
}, fu = (e) => {
|
|
7560
|
+
let t = uu();
|
|
7549
7561
|
if (t) try {
|
|
7550
7562
|
globalThis.sessionStorage?.setItem(t, JSON.stringify(e));
|
|
7551
7563
|
} catch {}
|
|
7552
|
-
},
|
|
7564
|
+
}, pu = async (e) => {
|
|
7553
7565
|
let t = window.__MESURER_HOST__?.codexBridge;
|
|
7554
|
-
if (!t) throw Error(
|
|
7566
|
+
if (!t) throw Error(au);
|
|
7555
7567
|
let n = await t(e);
|
|
7556
7568
|
if (n.ok === !1) throw Error(n.error ?? "Codex Bridge request failed.");
|
|
7557
7569
|
return n;
|
|
7558
|
-
},
|
|
7570
|
+
}, mu = (e) => {
|
|
7559
7571
|
let t = e.runtime;
|
|
7560
7572
|
return !t || ![
|
|
7561
7573
|
"shared",
|
|
@@ -7573,10 +7585,10 @@ var Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable",
|
|
|
7573
7585
|
available: t.available === !0,
|
|
7574
7586
|
reason: t.reason
|
|
7575
7587
|
};
|
|
7576
|
-
},
|
|
7588
|
+
}, hu = (e) => ({
|
|
7577
7589
|
thread: e.thread?.trim() || null,
|
|
7578
7590
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
7579
|
-
}),
|
|
7591
|
+
}), gu = (e) => {
|
|
7580
7592
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
7581
7593
|
if (!t || !n || !r) throw Error("Codex Bridge returned an invalid delivery state.");
|
|
7582
7594
|
let i = {
|
|
@@ -7588,7 +7600,7 @@ var Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable",
|
|
|
7588
7600
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
7589
7601
|
};
|
|
7590
7602
|
return e.queuedSubmissionId !== void 0 && (i.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (i.dispatch = e.dispatch), e.dispatchError !== void 0 && (i.dispatchError = e.dispatchError?.trim() || null), i;
|
|
7591
|
-
},
|
|
7603
|
+
}, _u = (e) => ({
|
|
7592
7604
|
thread: e.thread?.trim() || null,
|
|
7593
7605
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
7594
7606
|
let t = e.id?.trim() ?? "";
|
|
@@ -7600,7 +7612,7 @@ var Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable",
|
|
|
7600
7612
|
}] : [];
|
|
7601
7613
|
}) : [],
|
|
7602
7614
|
hasMore: e.hasMore === !0
|
|
7603
|
-
}),
|
|
7615
|
+
}), vu = async (e, t, n) => {
|
|
7604
7616
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
7605
7617
|
let t = i.find((t) => t.id === e);
|
|
7606
7618
|
return t ? [t] : [];
|
|
@@ -7623,18 +7635,18 @@ var Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable",
|
|
|
7623
7635
|
])
|
|
7624
7636
|
].join("\n").trimEnd()
|
|
7625
7637
|
};
|
|
7626
|
-
},
|
|
7627
|
-
function
|
|
7628
|
-
let t = e.instruction?.trim() ||
|
|
7638
|
+
}, yu = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, bu = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, xu = (e) => e instanceof Error && (e.message === au || e.message === "Codex Bridge is unavailable in this host." || e.message.includes("Codex Bridge lease"));
|
|
7639
|
+
function Su(e = {}) {
|
|
7640
|
+
let t = e.instruction?.trim() || ou, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
|
|
7629
7641
|
return {
|
|
7630
|
-
id:
|
|
7631
|
-
version:
|
|
7632
|
-
requires: [
|
|
7633
|
-
provides: [
|
|
7642
|
+
id: Yl,
|
|
7643
|
+
version: qc,
|
|
7644
|
+
requires: [Rl],
|
|
7645
|
+
provides: [Xl],
|
|
7634
7646
|
async setup(e) {
|
|
7635
|
-
let i = e.service.get(
|
|
7647
|
+
let i = e.service.get(Rl);
|
|
7636
7648
|
if (!i) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
7637
|
-
let a = n ?
|
|
7649
|
+
let a = n ? du() : null, o = "unknown", s = null, c = !1, l = a?.originThread ?? null, u = a?.selectedThread ?? a?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = iu, _, v = "", y = null, b = a?.delivery ? {
|
|
7638
7650
|
id: a.delivery.id,
|
|
7639
7651
|
thread: a.delivery.thread,
|
|
7640
7652
|
status: a.delivery.status,
|
|
@@ -7643,38 +7655,38 @@ function xu(e = {}) {
|
|
|
7643
7655
|
dispatch: a.delivery.dispatch ?? null,
|
|
7644
7656
|
dispatchError: a.delivery.dispatchError ?? null
|
|
7645
7657
|
} : null, x = 0, S = 0, C = null, w = !1, T = null, E = async (e) => {
|
|
7646
|
-
if (e.action === "activate" || e.action === "runtime") return
|
|
7658
|
+
if (e.action === "activate" || e.action === "runtime") return pu(e);
|
|
7647
7659
|
if (!T) throw Error("Codex Bridge lease is not active for this plugin.");
|
|
7648
|
-
return
|
|
7660
|
+
return pu({
|
|
7649
7661
|
...e,
|
|
7650
7662
|
leaseId: T
|
|
7651
7663
|
});
|
|
7652
7664
|
}, D = async () => {
|
|
7653
7665
|
let e = T;
|
|
7654
7666
|
if (e) {
|
|
7655
|
-
if ((await
|
|
7667
|
+
if ((await pu({
|
|
7656
7668
|
action: "deactivate",
|
|
7657
7669
|
leaseId: e
|
|
7658
7670
|
})).released !== !0) throw Error("Codex Bridge did not confirm lease release.");
|
|
7659
7671
|
T = null;
|
|
7660
7672
|
}
|
|
7661
|
-
}, O = await
|
|
7673
|
+
}, O = await pu({
|
|
7662
7674
|
action: "activate",
|
|
7663
7675
|
thread: u ?? l ?? void 0
|
|
7664
7676
|
}), k = O.leaseId?.trim();
|
|
7665
7677
|
if (!k) throw Error("Codex Bridge did not return an activation lease.");
|
|
7666
|
-
T = k, o = "available", s =
|
|
7667
|
-
let A =
|
|
7678
|
+
T = k, o = "available", s = mu(O);
|
|
7679
|
+
let A = hu(O);
|
|
7668
7680
|
c = !0, f = A.thread, p = A.threads, e.lifecycle.onDispose(() => {
|
|
7669
7681
|
T && D().catch((e) => {
|
|
7670
7682
|
let t = e instanceof Error ? e.message : String(e);
|
|
7671
7683
|
console.error(`[Mesurer] Failed to release Codex host lease: ${t}`);
|
|
7672
7684
|
});
|
|
7673
|
-
}), e.hook.on(
|
|
7685
|
+
}), e.hook.on(Zl, async (e) => {
|
|
7674
7686
|
e === "mesurer.codex" && await D();
|
|
7675
7687
|
});
|
|
7676
7688
|
let ee = async () => {
|
|
7677
|
-
let e =
|
|
7689
|
+
let e = mu(await E({ action: "runtime" }));
|
|
7678
7690
|
if (!e) throw Error("Codex Bridge returned an invalid runtime state.");
|
|
7679
7691
|
return s = e, e;
|
|
7680
7692
|
}, j = async () => {
|
|
@@ -7682,8 +7694,8 @@ function xu(e = {}) {
|
|
|
7682
7694
|
action: "health",
|
|
7683
7695
|
thread: u ?? l ?? void 0
|
|
7684
7696
|
});
|
|
7685
|
-
return s =
|
|
7686
|
-
}, te = j, M = async (e) =>
|
|
7697
|
+
return s = mu(e) ?? s, hu(e);
|
|
7698
|
+
}, te = j, M = async (e) => gu(await E({
|
|
7687
7699
|
action: "delivery",
|
|
7688
7700
|
deliveryId: e
|
|
7689
7701
|
})), N = async (e) => {
|
|
@@ -7693,13 +7705,13 @@ function xu(e = {}) {
|
|
|
7693
7705
|
deliveryId: e.id,
|
|
7694
7706
|
thread: e.thread
|
|
7695
7707
|
};
|
|
7696
|
-
return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId),
|
|
7708
|
+
return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId), gu(await E(t));
|
|
7697
7709
|
}, P = async (e = {}) => {
|
|
7698
7710
|
let t = {
|
|
7699
7711
|
action: "threads",
|
|
7700
|
-
limit: e.limit ??
|
|
7712
|
+
limit: e.limit ?? ru
|
|
7701
7713
|
}, n = e.thread?.trim();
|
|
7702
|
-
return n && (t.thread = n),
|
|
7714
|
+
return n && (t.thread = n), _u(await E(t));
|
|
7703
7715
|
}, F = () => u ?? l ?? (d ? null : f), I = () => {
|
|
7704
7716
|
if (!n) return;
|
|
7705
7717
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
@@ -7711,7 +7723,7 @@ function xu(e = {}) {
|
|
|
7711
7723
|
dispatch: b.dispatch,
|
|
7712
7724
|
dispatchError: b.dispatchError
|
|
7713
7725
|
} : null;
|
|
7714
|
-
|
|
7726
|
+
fu({
|
|
7715
7727
|
version: 1,
|
|
7716
7728
|
originThread: l,
|
|
7717
7729
|
selectedThread: u,
|
|
@@ -7729,12 +7741,12 @@ function xu(e = {}) {
|
|
|
7729
7741
|
"queueing",
|
|
7730
7742
|
"queued",
|
|
7731
7743
|
"working"
|
|
7732
|
-
].includes(b.status) ?
|
|
7744
|
+
].includes(b.status) ? cu : b.status === "completed" ? lu : su : su, ne = () => {
|
|
7733
7745
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
7734
7746
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
7735
7747
|
}, r = (e) => ({
|
|
7736
7748
|
id: e,
|
|
7737
|
-
title: `Codex ${
|
|
7749
|
+
title: `Codex ${yu(e)}`,
|
|
7738
7750
|
updatedAt: null,
|
|
7739
7751
|
connected: !0
|
|
7740
7752
|
});
|
|
@@ -7762,7 +7774,7 @@ function xu(e = {}) {
|
|
|
7762
7774
|
let t = e.id === l ? "Current · " : e.connected ? "Loaded · " : "", r = b?.thread === e.id ? ` · ${z(b.status)}` : "";
|
|
7763
7775
|
return {
|
|
7764
7776
|
id: `codex.thread.${e.id}`,
|
|
7765
|
-
label: `${t}${
|
|
7777
|
+
label: `${t}${bu(e.title)}${r}`,
|
|
7766
7778
|
checked: () => n === e.id,
|
|
7767
7779
|
disabled: () => R(),
|
|
7768
7780
|
run() {
|
|
@@ -7770,15 +7782,15 @@ function xu(e = {}) {
|
|
|
7770
7782
|
}
|
|
7771
7783
|
};
|
|
7772
7784
|
});
|
|
7773
|
-
return g <
|
|
7785
|
+
return g < ru && (e.length > g || h) && r.push({
|
|
7774
7786
|
id: "codex.thread.show-more",
|
|
7775
7787
|
label: "Show 5 more…",
|
|
7776
7788
|
run() {
|
|
7777
|
-
g =
|
|
7789
|
+
g = ru, H();
|
|
7778
7790
|
}
|
|
7779
7791
|
}), b?.queuedSubmissionId && b.status === "queued" && (b.dispatch === "desktop-opened" || b.dispatch === "desktop-wake-failed") && r.push({
|
|
7780
7792
|
id: "codex.delivery.receipt",
|
|
7781
|
-
label: `Receipt · ${
|
|
7793
|
+
label: `Receipt · ${yu(b.queuedSubmissionId)}`,
|
|
7782
7794
|
disabled: () => !0,
|
|
7783
7795
|
run: () => void 0
|
|
7784
7796
|
}), r;
|
|
@@ -7815,7 +7827,7 @@ function xu(e = {}) {
|
|
|
7815
7827
|
}, U = async (e) => {
|
|
7816
7828
|
if (o !== "available") return;
|
|
7817
7829
|
let t = await P({
|
|
7818
|
-
limit:
|
|
7830
|
+
limit: ru,
|
|
7819
7831
|
thread: e ?? void 0
|
|
7820
7832
|
});
|
|
7821
7833
|
m = t.threads, h = t.hasMore, p = t.threads.filter((e) => e.connected).map((e) => e.id), f = t.thread;
|
|
@@ -7837,7 +7849,7 @@ function xu(e = {}) {
|
|
|
7837
7849
|
}, W = () => {
|
|
7838
7850
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
7839
7851
|
S = 0, b?.status === "completed" && (b = null, I(), H());
|
|
7840
|
-
},
|
|
7852
|
+
}, eu);
|
|
7841
7853
|
}, oe = async (e) => {
|
|
7842
7854
|
if (!(!b || b.id !== e.id)) {
|
|
7843
7855
|
if (b = {
|
|
@@ -7859,14 +7871,14 @@ function xu(e = {}) {
|
|
|
7859
7871
|
if (e.status === "interrupted") {
|
|
7860
7872
|
I(), H();
|
|
7861
7873
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
7862
|
-
Date.now() - t <
|
|
7874
|
+
Date.now() - t < nu && (x = globalThis.setTimeout(() => {
|
|
7863
7875
|
x = 0, se(e.id);
|
|
7864
|
-
},
|
|
7876
|
+
}, tu));
|
|
7865
7877
|
return;
|
|
7866
7878
|
}
|
|
7867
7879
|
H(), x = globalThis.setTimeout(() => {
|
|
7868
7880
|
x = 0, se(e.id);
|
|
7869
|
-
},
|
|
7881
|
+
}, $l);
|
|
7870
7882
|
}
|
|
7871
7883
|
}, se = async (e) => {
|
|
7872
7884
|
if (!(w || b?.id !== e)) try {
|
|
@@ -7890,7 +7902,7 @@ function xu(e = {}) {
|
|
|
7890
7902
|
b = {
|
|
7891
7903
|
...b,
|
|
7892
7904
|
status: "failed"
|
|
7893
|
-
}, I(),
|
|
7905
|
+
}, I(), xu(n) && (o = "unavailable"), H();
|
|
7894
7906
|
}
|
|
7895
7907
|
}, ce = {
|
|
7896
7908
|
health: j,
|
|
@@ -7902,11 +7914,11 @@ function xu(e = {}) {
|
|
|
7902
7914
|
let n = await E({
|
|
7903
7915
|
action: "target",
|
|
7904
7916
|
thread: t
|
|
7905
|
-
}), r =
|
|
7906
|
-
return s =
|
|
7917
|
+
}), r = hu(n);
|
|
7918
|
+
return s = mu(n) ?? s, L(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, H(), r;
|
|
7907
7919
|
},
|
|
7908
7920
|
async queue(e) {
|
|
7909
|
-
let r = await
|
|
7921
|
+
let r = await vu(i, e, t), a = e?.thread?.trim(), s = a || (n ? F() : null);
|
|
7910
7922
|
if (n && !a && (d || !s)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
7911
7923
|
let c = { message: r.message };
|
|
7912
7924
|
s && (c.thread = s);
|
|
@@ -7926,14 +7938,14 @@ function xu(e = {}) {
|
|
|
7926
7938
|
};
|
|
7927
7939
|
return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
|
|
7928
7940
|
} catch (e) {
|
|
7929
|
-
throw n &&
|
|
7941
|
+
throw n && xu(e) && (o = "unavailable", H()), e;
|
|
7930
7942
|
}
|
|
7931
7943
|
},
|
|
7932
7944
|
send(e) {
|
|
7933
7945
|
return ce.queue(e);
|
|
7934
7946
|
}
|
|
7935
7947
|
};
|
|
7936
|
-
e.service.provide(
|
|
7948
|
+
e.service.provide(Xl, ce);
|
|
7937
7949
|
let le = async () => {
|
|
7938
7950
|
if (!(C || R())) return ae(), b = {
|
|
7939
7951
|
id: null,
|
|
@@ -7964,9 +7976,9 @@ function xu(e = {}) {
|
|
|
7964
7976
|
updatedAt: 0
|
|
7965
7977
|
}) : x = globalThis.setTimeout(() => {
|
|
7966
7978
|
x = 0, se(e.deliveryId);
|
|
7967
|
-
},
|
|
7979
|
+
}, $l) : S = globalThis.setTimeout(() => {
|
|
7968
7980
|
S = 0, b?.id === null && b?.status === "queued" && (b = null, I(), H());
|
|
7969
|
-
},
|
|
7981
|
+
}, eu);
|
|
7970
7982
|
} catch (e) {
|
|
7971
7983
|
b = null, I(), H();
|
|
7972
7984
|
let t = e instanceof Error ? e.message : String(e);
|
|
@@ -7994,7 +8006,7 @@ function xu(e = {}) {
|
|
|
7994
8006
|
}, 0));
|
|
7995
8007
|
let t = globalThis.setInterval(() => {
|
|
7996
8008
|
c && re().catch(() => void 0);
|
|
7997
|
-
},
|
|
8009
|
+
}, Ql);
|
|
7998
8010
|
e.lifecycle.onDispose(() => {
|
|
7999
8011
|
w = !0, ae(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
8000
8012
|
});
|
|
@@ -8004,12 +8016,12 @@ function xu(e = {}) {
|
|
|
8004
8016
|
}
|
|
8005
8017
|
//#endregion
|
|
8006
8018
|
//#region src/screenshot.ts
|
|
8007
|
-
var
|
|
8008
|
-
...
|
|
8009
|
-
version:
|
|
8010
|
-
}),
|
|
8019
|
+
var Cu = kc, wu = Ec, Tu = Dc, Eu = Oc, Du = 4, Ou = Ur, ku = (e, t) => br(e, t), Au = (e = /* @__PURE__ */ new Date()) => xr(e), ju = (e, t, n, r) => yr(e, t, n, r), Mu = (e, t, n) => vr(e, t, n), Nu = (e, t) => Br(e, t), Pu = (e) => Hr(e), Fu = (e = {}) => ({
|
|
8020
|
+
...Kc(e),
|
|
8021
|
+
version: qc
|
|
8022
|
+
}), Iu = (e) => Cr(e), Lu = (e) => ({
|
|
8011
8023
|
...e,
|
|
8012
|
-
version:
|
|
8013
|
-
}),
|
|
8024
|
+
version: qc
|
|
8025
|
+
}), Ru = () => Lu(Uo()), zu = () => Lu(Wo()), Bu = () => Lu(Go()), Vu = () => Lu(Ko()), Hu = () => Lu(qo()), Uu = () => Lu(Jo()), Wu = () => Lu(Xo()), Gu = () => Lu(Yo()), Ku = () => Zo().map(Lu), qu = (e = [], t = []) => Qo(e, t).map((e) => e.id.startsWith("mesurer.") ? Lu(e) : e);
|
|
8014
8026
|
//#endregion
|
|
8015
|
-
export {
|
|
8027
|
+
export { Jc as MESURER_ARRANGE_ACTIVE_STATE_ID, Yc as MESURER_ARRANGE_PLUGIN_ID, Xc as MESURER_ARRANGE_SERVICE_ID, Zc as MESURER_ARRANGE_SETTINGS_STATE_ID, Qc as MESURER_ARRANGE_STATE_ID, Yl as MESURER_CODEX_PLUGIN_ID, Xl as MESURER_CODEX_SERVICE_ID, Ll as MESURER_CONTEXT_PLUGIN_ID, Rl as MESURER_CONTEXT_SERVICE_ID, zl as MESURER_CONTEXT_SETTINGS_STATE_ID, tl as MESURER_EDIT_ACTIVE_STATE_ID, nl as MESURER_EDIT_PLUGIN_ID, rl as MESURER_EDIT_SERVICE_ID, il as MESURER_EDIT_SETTINGS_STATE_ID, al as MESURER_EDIT_STATE_ID, Fl as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Ml as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Nl as MESURER_LAYOUT_GUIDES_SERVICE_ID, Pl as MESURER_LAYOUT_GUIDES_STATE_ID, Cu as MESURER_SCREENSHOT_ACTIVE_STATE_ID, wu as MESURER_SCREENSHOT_PLUGIN_ID, Tu as MESURER_SCREENSHOT_SERVICE_ID, Eu as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Du as MIN_SCREENSHOT_SELECTION, $c as arrange, Ou as captureVisibleTabPng, Su as codex, Bu as colorPicker, qu as compose, Jl as context, ku as copyPngToClipboard, Au as createScreenshotFilename, ju as cropPngToViewportRect, Ku as defaults, Wu as distance, el as edit, Uu as guides, Il as layoutGuides, Mu as normalizeScreenshotRect, Nu as prepareScreenshotCapture, Pu as releaseScreenshotCapture, Vu as rulers, Fu as screenshot, Ru as select, Gu as settings, Hu as typography, Iu as waitForNextPaint, zu as xray };
|