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/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']", mo = {
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
- }, ho = (e, t) => ({
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
- }), go = (e, t) => ({
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
- }), _o = (e) => {
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
- }, vo = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), yo = (e, t, n) => {
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
- }, bo = (e, t) => t === "x" ? {
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
- }, xo = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), So = (e, t, n) => {
3561
- let r = bo(t, e), i = null;
3562
- for (let a of n) if (a.axis === e && !(a.source === "element" && vo(r.start, r.end, a.start, a.end) > ao)) for (let n of yo(t, e, a.kind)) {
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 || xo(a) > xo(i))) && (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
- }, Co = (e) => {
3572
+ }, wo = (e) => {
3573
3573
  let { origin: t, pathname: n, search: r } = e.location;
3574
3574
  return `${t}${n}${r}`;
3575
- }, wo = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, To = (e) => ({
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
- }), Eo = (e) => ({
3583
+ }), Do = (e) => ({
3584
3584
  id: e.id,
3585
3585
  selector: e.selector,
3586
- fingerprint: To(e),
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
- }), Do = (e) => ({
3607
+ }), Oo = (e) => ({
3608
3608
  id: e.id,
3609
3609
  createdAt: e.createdAt,
3610
3610
  pageUrl: e.pageUrl,
3611
- targets: e.targets.map(Eo)
3612
- }), Oo = (e, t) => ({
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
- }), ko = (e) => Oo(e, "transform"), Ao = (e, t) => e.value === t.value && e.priority === t.priority, jo = Ao, Mo = (e) => {
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
- jo(ko(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3618
- }, No = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Po = () => ar({
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 = () => Co(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) => {
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 = To(e), n = m.get(e.selector);
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 = Oo(e, "transition-property");
3709
- (!h.get(e) || !Ao(t, P)) && h.set(e, t), Ao(t, P) || e.style.setProperty("transition-property", P.value, P.priority);
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 && (Ao(Oo(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));
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()) Mo(e);
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(po) || s.querySelector(po)), ie = () => {
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 = ko(e), i = r.getComputedStyle(e).transform, a = i && i !== "none" ? ` ${i}` : "";
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: ko(e)
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 = () => _o(pe().map((e) => ki(e))), _e = () => {
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 = e.shiftKey ? Ji(t.rendererRoot ?? null, () => Ji(l, () => Ki({
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 && a instanceof c.HTMLElement && j(a) && !r.includes(a)) {
4036
- e.preventDefault(), e.stopPropagation(), i.toggleSelection(a);
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 s = W(A()), u = ce(A()), d = new Set(r);
4043
+ let u = W(A()), d = ce(A()), p = new Set(r);
4044
4044
  z();
4045
- let p = r.map((e, t) => {
4046
- let n = ki(e), r = ae(e, u), i = u.get(e) ?? r, a = s.get(e), o = (a ? oe(a) : null) ?? {
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
- }, c = ho(n, i), l = Xi(e);
4049
+ }, s = go(n, i), c = Xi(e);
4050
4050
  return {
4051
4051
  element: e,
4052
- movesDirectly: se(e, d) === null,
4052
+ movesDirectly: se(e, p) === null,
4053
4053
  target: {
4054
4054
  id: `target-${t + 1}`,
4055
4055
  selector: Yi(e),
4056
- fingerprintTag: l.tag,
4057
- fingerprintId: l.id,
4058
- fingerprintTestId: l.testId,
4059
- fingerprintRole: l.role,
4060
- fingerprintAriaLabel: l.ariaLabel,
4061
- fingerprintClasses: [...l.classes],
4062
- fingerprintText: l.text,
4063
- beforeLeft: c.left,
4064
- beforeTop: c.top,
4065
- beforeWidth: c.width,
4066
- beforeHeight: c.height,
4067
- desiredLeft: c.left,
4068
- desiredTop: c.top,
4069
- desiredWidth: c.width,
4070
- desiredHeight: c.height,
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
- }), m = _o(p.map(({ target: e }) => ({
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 (!m) {
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: p,
4097
- groupBefore: m,
4096
+ targets: m,
4097
+ groupBefore: h,
4098
4098
  snapCandidates: Se(r),
4099
- shiftToggleElement: e.shiftKey && a instanceof c.HTMLElement && r.includes(a) ? a : null,
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(m), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
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 = ho(y.groupBefore, {
4126
+ let i = go(y.groupBefore, {
4121
4127
  x: t,
4122
4128
  y: n
4123
- }), a = r === "y" ? null : So("x", i, y.snapCandidates), o = r === "x" ? null : So("y", i, y.snapCandidates);
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 = ho(y.groupBefore, {
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.dx === 0 && n.dy === 0) {
4141
- n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), we(), Ce();
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: wo(r, "arrange"),
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 || No(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
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" ? _o(e.targets.map((e) => ({
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" ? _o(e.targets.map((e) => ({
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(() => _o(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}`);
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(Do),
4253
+ intents: () => T().intents.map(Oo),
4242
4254
  intent(e) {
4243
4255
  let t = Be(e);
4244
- return t ? Do(t) : null;
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 = go(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
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: mo,
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
- }), Fo = (e, t, n) => {
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
- }, Io = [
4504
+ }, Lo = [
4493
4505
  "[data-mesurer-measurement='true']",
4494
4506
  "[data-mesurer-selected-measurement='true']",
4495
4507
  "[data-mesurer-inspector-ui='true']"
4496
- ].join(""), Lo = "[data-mesurer-text-edit-runtime='true']", Ro = "[data-mesurer-text-editor='true']", zo = (e, t) => {
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(Io) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
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(Ro)), d = (e) => {
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(Io)) e instanceof r.HTMLElement && d(e);
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(Lo));
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(Lo) && (t = !0), d(e));
4529
- for (let e of n.removedNodes) e instanceof r.HTMLElement && e.matches(Lo) && (t = !0);
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
- }, Bo = () => {
4542
- let e = Po();
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
- Fo(t, n, r.ownerWindow), zo(t, r);
4563
+ Io(t, n, r.ownerWindow), Bo(t, r);
4552
4564
  }
4553
4565
  };
4554
- }, Vo = (e, t, n, r) => ar({
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
- }), Ho = () => Vo("select", "Select", "S", 10), Uo = () => Vo("xray", "X-ray", "X", 20), Wo = () => Vo("color-picker", "Color picker", "P", 30), Go = () => Vo("rulers", "Rulers", "R", 40), Ko = () => Vo("text-inspector", "Typography", "A", 50), qo = () => Vo("guides", "Guides", "G", 60), Jo = () => Vo("settings", "Settings", "⌘/Ctrl+,", 90), Yo = () => ar({
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
- }), Xo = () => [
4585
- Ho(),
4596
+ }), Zo = () => [
4586
4597
  Uo(),
4587
4598
  Wo(),
4588
4599
  Go(),
4589
4600
  Ko(),
4590
4601
  qo(),
4591
- Yo(),
4592
- Jo()
4602
+ Jo(),
4603
+ Xo(),
4604
+ Yo()
4593
4605
  ];
4594
- function Zo(e = [], t = []) {
4606
+ function Qo(e = [], t = []) {
4595
4607
  let n = new Set(t.map((e) => `mesurer.${e}`));
4596
- return [...Xo().filter((e) => !n.has(e.id)), ...e];
4608
+ return [...Zo().filter((e) => !n.has(e.id)), ...e];
4597
4609
  }
4598
- var Qo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), $o = (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), es = (e, t, n, r, i) => {
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
- }, ts = (e, t, n) => {
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 ns(e, t, n = {}) {
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 = es(n.rect, t, r, a, u);
4676
- for (let t of ts(v, d, l)) {
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: Qo(t.left, s, f),
4679
- top: Qo(t.top, s, p)
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) => !$o(t, e, o)) && c.every((e) => !$o(t, e, i));
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) => !$o(t, e, i));
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) => !$o(t, 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 rs = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), is = 0, as = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), os = (e) => {
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
- }, ss = (e, t) => {
4723
- let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = as(n);
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 = as(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
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
- }, cs = (e) => {
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
- }, ls = (e, t, n, r, i = 8) => {
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 : rs(e.left + e.width - t, 8, a),
4745
- top: rs(e.top, 8, o)
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
- }, us = (e, t, n, r, i = 8) => {
4748
- let a = r.innerWidth - t - 8, o = rs(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
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
- } : ls(e, t, n, r, i);
4769
+ } : us(e, t, n, r, i);
4758
4770
  };
4759
- function ds(e) {
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-${++is}`, 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) => {
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) => !!(os(e) && V() && te && ae() && e.getRootNode() === te.getRootNode()), fe = (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 && os(t)) {
4810
- let n = `--mesurer-annotation-${++is}`;
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: ss(t, n),
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) => !!(os(e) && V() && te && e !== O && ae() && e.getRootNode() === te.getRootNode()), ve = () => {
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-${++is}`;
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 && os(e)) {
4854
- F = ss(e, i), P = e, D = i, I = ii(a, e, se, { trackWindow: !1 });
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(() => cs(Me())), Pe = () => {
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] = ns([{
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 ?? rs(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? rs(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = V() && !c;
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(ns(i, {
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 ? us(e, 272, 168, t) : {
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 ls(t, 272, 176, n);
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: rs(e.left, 8, a),
5044
- top: rs(e.top, 8, o)
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 ?? ls(t, 272, 176, n);
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: rs(r.originLeft + t.clientX - r.startX, 8, i),
5109
- top: rs(r.originTop + t.clientY - r.startY, 8, a)
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 = us(e, 272, 168, B());
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 fs(e) {
5530
+ function ps(e) {
5519
5531
  let t = null;
5520
5532
  return St(sa(e.ownerWindow, () => {
5521
5533
  t?.abandonNoteComposer();
5522
- })), J(ds, {
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 ps = "2147482950", ms = "2147483646", hs = "2147483647";
5541
- function gs(e) {
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: ${ps} !important;
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: ${ms} !important;
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: ${hs} !important;
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 _s = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, vs = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", ys = (e) => {
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 = vs(e.align);
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 bs(e) {
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": _s(e)
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: ys(e)
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, ${_s(e)} 1px, transparent 1px), linear-gradient(to bottom, ${_s(e)} 1px, transparent 1px)`,
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 xs = "#FF0000", Ss = .1, Cs = /* @__PURE__ */ new Set([
5685
+ var Ss = "#FF0000", Cs = .1, ws = /* @__PURE__ */ new Set([
5674
5686
  "columns",
5675
5687
  "rows",
5676
5688
  "grid"
5677
- ]), ws = /* @__PURE__ */ new Set([
5689
+ ]), Ts = /* @__PURE__ */ new Set([
5678
5690
  "stretch",
5679
5691
  "min",
5680
5692
  "center",
5681
5693
  "max"
5682
- ]), Ts = (e, t, n) => Math.min(n, Math.max(t, e)), Es = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Ds = (e = {}) => {
5683
- let t = e.kind && Cs.has(e.kind) ? e.kind : "columns", n = e.align && ws.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
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: Ts(Es(e.opacity, Ss), 0, 1),
5690
- count: Ts(Math.round(Es(e.count, 5)), 1, 24),
5691
- size: Ts(Es(e.size, 72), 1, 4096),
5692
- gutter: Ts(Es(e.gutter, 20), 0, 800),
5693
- offset: Ts(Es(e.offset, 0), 0, 4096),
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
- }, Os = (e) => (e ?? []).map(Ds), ks = (e) => {
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
- }, As = (e) => (() => {
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
- })(), js = (e) => e.kind === "rows" ? J(_i, { size: 14 }) : e.kind === "grid" ? J(hi, { size: 14 }) : J(gi, { size: 14 }), Ms = "msr:grid-cols-[78px_minmax(0,1fr)]", Ns = (e) => (() => {
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
- })(), Ps = (e) => (() => {
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
- })(), Fs = (e) => {
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
- }, Is = (e) => e === "rows" || e === "grid" ? e : "columns", Ls = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", Rs = (e) => {
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(Ps, {
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 = Is(t);
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(As, {})), Z(r, J(Xt, {
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(Ns, {
5837
+ return J(Ps, {
5826
5838
  label: "Count",
5827
5839
  get children() {
5828
- return J(Fs, {
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: Ms,
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: xs,
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(Ns, {
5880
+ return J(Ps, {
5869
5881
  label: "Type",
5870
5882
  get children() {
5871
- return J(Ps, {
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: Ls(t) }),
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(Ns, {
5912
+ return J(Ps, {
5901
5913
  get label() {
5902
5914
  return n();
5903
5915
  },
5904
5916
  get children() {
5905
- return J(Fs, {
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(Ns, {
5936
+ return [J(Ps, {
5925
5937
  label: "Offset",
5926
5938
  get children() {
5927
- return J(Fs, {
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(Ns, {
5949
+ }), J(Ps, {
5938
5950
  label: "Gutter",
5939
5951
  get children() {
5940
- return J(Fs, {
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 zs(e) {
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(js, { get kind() {
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, () => ks(t)), Z(i, J(di, {
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 ${ks(t)}` : `Show ${ks(t)}`,
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 ${ks(t)}`
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(Rs, {
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 Bs = "mesurer.layout-guides", Vs = "layout-guides:v1", Hs = "mesurer.layout-guides.pages", Us = "mesurer.layout-guides.active", Ws = "runtime:solid", Gs = "layout-guides.toggle", Ks = "layout-guides.add", qs = "layout-guides.update", Js = "layout-guides.remove", Ys = "layout-guides.clear", Xs = 240, Zs = 8, Qs = 8, $s = () => ({ pages: {} }), ec = (e, t) => e.pages[t] ?? [], tc = (e) => typeof e == "object" && !!e && !Array.isArray(e), nc = (e) => typeof e == "string", rc = (e) => typeof e == "boolean", ic = (e) => typeof e == "number", ac = (e) => e === "columns" || e === "rows" || e === "grid", oc = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", sc = (e) => ({ ...e }), cc = (e) => e.map(sc), lc = (e) => tc(e) ? e : null, uc = (e) => {
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 nc(e.id) && (t.id = e.id), ac(e.kind) && (t.kind = e.kind), rc(e.visible) && (t.visible = e.visible), nc(e.color) && (t.color = e.color), ic(e.opacity) && (t.opacity = e.opacity), ic(e.count) && (t.count = e.count), ic(e.size) && (t.size = e.size), ic(e.gutter) && (t.gutter = e.gutter), ic(e.offset) && (t.offset = e.offset), oc(e.align) && (t.align = e.align), t;
6047
- }, dc = (e) => {
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
- }, fc = {
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
- }, pc = () => ar({
6054
- id: Bs,
6065
+ }, mc = () => ar({
6066
+ id: Vs,
6055
6067
  version: "0.1.0",
6056
- requires: [Ws],
6057
- provides: [Vs, "tool:layout-guides"],
6068
+ requires: [Gs],
6069
+ provides: [Hs, "tool:layout-guides"],
6058
6070
  setup(e) {
6059
- let t = e.service.get(Ws);
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: Hs,
6065
- initial: $s(),
6076
+ id: Us,
6077
+ initial: ec(),
6066
6078
  history: !0,
6067
6079
  persist: !0
6068
6080
  }), e.state.register({
6069
- id: Us,
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") ?? $s(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Os(ec(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
6073
- e.state.update(Us, () => t);
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(Hs, (e) => ({
6087
+ e.state.update(Us, (e) => ({
6076
6088
  ...e,
6077
6089
  pages: {
6078
6090
  ...e.pages,
6079
- [r]: cc(t(Os(e.pages[r])))
6091
+ [r]: lc(t(ks(e.pages[r])))
6080
6092
  }
6081
6093
  }));
6082
6094
  };
6083
- e.command.register(Gs, () => {
6095
+ e.command.register(Ks, () => {
6084
6096
  let e = !u();
6085
- return e && d().length === 0 && m(() => [Ds()]), i = e, p(e), u();
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 = lc(e), n = t && nc(t.id) ? t.id : null, r = uc(lc(t?.patch));
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 ? Ds({
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(Js, (e) => {
6101
- let t = lc(e), n = t && nc(t.id) ? t.id : null;
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(Ys, () => {
6117
+ }), e.command.register(Xs, () => {
6106
6118
  m(() => []);
6107
6119
  });
6108
6120
  let h = async (t, n) => {
6109
- let r = lc(await e.command.execute(t, n));
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 Ds(uc(r));
6123
+ return Os(dc(r));
6112
6124
  }, g = {
6113
6125
  list: () => d().map((e) => ({ ...e })),
6114
- add: (e = {}) => h(Ks, dc(e)),
6115
- update: (e, t) => h(qs, {
6126
+ add: (e = {}) => h(qs, fc(e)),
6127
+ update: (e, t) => h(Js, {
6116
6128
  id: e,
6117
- patch: dc(t)
6129
+ patch: fc(t)
6118
6130
  }),
6119
6131
  async remove(t) {
6120
- return await e.command.execute(Js, { id: t }) === !0;
6132
+ return await e.command.execute(Ys, { id: t }) === !0;
6121
6133
  },
6122
6134
  async clear() {
6123
- await e.command.execute(Ys);
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(Vs, g), e.tool.register({
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: Gs,
6149
+ command: Ks,
6138
6150
  order: 38,
6139
6151
  toolbarMode: "select",
6140
- icon: fc,
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(bs, { get guides() {
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: `${Xs}px`,
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(Qs, n.right - Xs), Math.max(Qs, t.ownerWindow.innerWidth - Xs - Qs)), a = t.ownerWindow.innerHeight - n.bottom - Zs - Qs, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + Zs : Math.max(Qs, n.top - Zs - o);
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(zs, {
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
- }), mc = 144, hc = 96, gc = 8, _c = 4, vc = 1800, yc = (e, t) => {
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
- }, bc = (e, t) => ({
6205
- left: Math.min(Math.max(gc, e.left), Math.max(gc, t.innerWidth - mc - gc)),
6206
- top: Math.min(Math.max(gc, e.top), Math.max(gc, t.innerHeight - hc - gc))
6207
- }), xc = (e, t) => {
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, yc(n, {
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
- }, Sc = ({ 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", Cc = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), wc = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
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 (!Cc(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
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", yc(a, {
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, yc(o, {
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: `${mc}px`,
6242
- height: `${hc}px`,
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", yc(s, {
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", yc(c, {
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"), yc(d, {
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", yc(f, {
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", yc(p, {
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 = xc(e, "Copy");
6334
+ let m = Sc(e, "Copy");
6323
6335
  m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
6324
- let h = xc(e, "Save");
6336
+ let h = Sc(e, "Save");
6325
6337
  h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
6326
- let g = xc(e, "Close");
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"), yc(_, {
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
- }, vc);
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 = () => bc({
6359
- left: t.innerWidth - mc - gc,
6360
- top: t.innerHeight - hc - gc
6370
+ }, ee = () => xc({
6371
+ left: t.innerWidth - hc - _c,
6372
+ top: t.innerHeight - gc - _c
6361
6373
  }, t), j = (e) => {
6362
- let n = bc(e, t);
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) >= _c && (n.moved = !0), n.moved && j({
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(Sc(n)), r > 0 && (S = t.setTimeout(A, r));
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
- }, Tc = "mesurer.screenshot", Ec = "screenshot", Dc = "mesurer.screenshot.settings", Oc = "mesurer.screenshot.active", kc = "runtime:solid", Ac = "screenshot.toggle", jc = 2500, Mc = 0, Nc = [
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(","), Pc = `${Nc},[data-mesurer-rulers='true']`, Fc = {
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
- }, Rc = (e) => {
6471
- let t = e(Dc);
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
- }, zc = (e) => ({
6490
+ }, Bc = (e) => ({
6479
6491
  value: e.style.getPropertyValue("display"),
6480
6492
  priority: e.style.getPropertyPriority("display")
6481
- }), Bc = (e, t) => {
6493
+ }), Vc = (e, t) => {
6482
6494
  t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
6483
- }, Vc = (e, t) => {
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
- }, Hc = (e) => {
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 = Vc(e, t);
6504
+ let r = Hc(e, t);
6493
6505
  r && n.add(r);
6494
6506
  }
6495
- for (let e of t.querySelectorAll(Nc)) {
6496
- let r = Vc(e, t);
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: zc(e)
6514
+ display: Bc(e)
6503
6515
  }), e.style.setProperty("display", "none", "important"));
6504
6516
  return () => {
6505
- for (let e of r) Bc(e.element, e.display);
6517
+ for (let e of r) Vc(e.element, e.display);
6506
6518
  };
6507
- }, Uc = (e) => Array.from(e.querySelectorAll(Pc)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6519
+ }, Wc = (e) => Array.from(e.querySelectorAll(Fc)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6508
6520
  element: e,
6509
- display: zc(e)
6510
- })), Wc = (e) => {
6511
- for (let t of e) t.element.isConnected && Bc(t.element, t.display);
6512
- }, Gc = (e = {}) => ar({
6513
- id: Tc,
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: [kc],
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(kc);
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 ?? Mc;
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: Dc,
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: Oc,
6547
+ id: kc,
6536
6548
  initial: !1
6537
6549
  });
6538
6550
  let u = o.element;
6539
- u.dataset.mesurerScreenshot = "true", Ic(u, {
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"), Ic(d, {
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 Ic(e, {
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
- Ic(p, {
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
- Ic(m, {
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", Ic(h, {
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", Ic(g, {
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 = () => Rc(t.state.get), E = (e) => {
6612
- t.state.update(Dc, (t) => {
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
- Lc(f[0], {
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)) Lc(e, {
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
- Lc(f[0], {
6662
+ Rc(f[0], {
6651
6663
  left: 0,
6652
6664
  top: 0,
6653
6665
  width: t,
6654
6666
  height: e.top
6655
- }), Lc(f[1], {
6667
+ }), Rc(f[1], {
6656
6668
  left: 0,
6657
6669
  top: e.top,
6658
6670
  width: e.left,
6659
6671
  height: e.height
6660
- }), Lc(f[2], {
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
- }), Lc(f[3], {
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", Lc(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, Lc(m, {
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 = wc({
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
- }, jc);
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 ? Uc(r) : [], u = s.includeMeasurements ? () => void 0 : Hc(n.portalTarget);
6695
- a.prepareCapture(), s.includeMeasurements && Wc(l);
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: Ac,
6815
+ command: jc,
6804
6816
  toolbarMode: "select",
6805
- icon: Fc,
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(Ac, I), t.service.provide(Ec, ne), t.lifecycle.onDispose(() => {
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
- }), Kc = "0.2.1-beta.2", qc = qa, Jc = Wa, Yc = Ga, Xc = Ja, Zc = Ka, Qc = () => ({
6876
- ...Bo(),
6877
- version: Kc
6878
- }), $c = Qc, el = qc, tl = Jc, nl = Yc, rl = Xc, il = Zc, al = (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, ol = (e) => {
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
- }, sl = (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), cl = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
6888
- function ll(e) {
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: cl(t),
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) => al(e, 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) => sl(e, n.regions, r)).map((e) => ({ ...e })),
6898
- measurements: cl(t).filter((e) => a(e.elementRef) || o(e.rect)),
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 ul = {
6916
+ var dl = {
6905
6917
  opacity: 1,
6906
6918
  width: 1,
6907
6919
  pattern: "solid",
6908
6920
  dashLength: 6,
6909
6921
  gap: 4
6910
- }, dl = {
6922
+ }, fl = {
6911
6923
  opacity: 1,
6912
6924
  edgeReveal: !1
6913
6925
  };
6914
- ({ ...ul }), { ...dl };
6926
+ ({ ...dl }), { ...fl };
6915
6927
  //#endregion
6916
6928
  //#region ../mesurer-dom/dist/index.js
6917
- var fl = (e) => Number.parseFloat(e) || 0, pl = 0, ml = (e, t) => {
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 hl(e) {
6933
+ function gl(e) {
6922
6934
  let t = e.ownerDocument.defaultView ?? window;
6923
- if (e.id) return `#${ml(e.id, t)}`;
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 gl(e, t, n = `dom-inspection-${++pl}`) {
6949
+ function _l(e, t, n = `dom-inspection-${++ml}`) {
6938
6950
  let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
6939
- top: fl(i.paddingTop),
6940
- right: fl(i.paddingRight),
6941
- bottom: fl(i.paddingBottom),
6942
- left: fl(i.paddingLeft)
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: fl(i.marginTop),
6945
- right: fl(i.marginRight),
6946
- bottom: fl(i.marginBottom),
6947
- left: fl(i.marginLeft)
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 _l(e) {
6976
- let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? gl(r, t) : null, o = (e) => {
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: hl(e),
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 vl = 10, yl = (e) => ({
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
- }), bl = (e) => {
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
- }, xl = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
7058
- function Sl(e) {
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 = bl(e.resolvedTargets.map((e) => e.element));
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 = bl(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
7079
- s = e.region ? [e.region] : o.map((e) => yl(e.getBoundingClientRect())), c = { kind: "selection" };
7080
- } else o = bl([
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) => yl(e.getBoundingClientRect())), d = ll({
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 ?? vl
7099
- }), f = d.measurements, p = d.distances, m = d.guides, h = bl([
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: _l(e)
7123
+ inspection: vl(e)
7112
7124
  };
7113
7125
  }), x = f.map((e) => {
7114
7126
  let t = {
7115
7127
  id: e.id,
7116
- rect: yl(e.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: yl(e.rectA),
7127
- rectB: yl(e.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: xl(r),
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(yl),
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`, Cl = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
7165
- function wl(e) {
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}: ${Cl(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) {
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: ${Cl(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)}`);
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}: ` : ""}${Cl(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
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 Tl(e) {
7205
- let t = ol([
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 El = (e, t, n, r, i) => {
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
- }, Dl = (e, t, n, r) => e.push({
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
- }), Ol = (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;
7250
- function kl(e) {
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 = Sl({
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 = cl({
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
- Dl(a, "target", e.id, e.selector);
7282
+ Ol(a, "target", e.id, e.selector);
7271
7283
  continue;
7272
7284
  }
7273
- El(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), El(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), El(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), El(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
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
- Dl(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
7290
+ Ol(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
7279
7291
  continue;
7280
7292
  }
7281
- El(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
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) => Ol(t.rect, e.rect));
7287
- r && n.targets.some((e) => e.ref === r.id) || Dl(a, "measurement", e.id, e.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
- El(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), El(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
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
- Dl(a, "distance", e.id, e.id);
7307
+ Ol(a, "distance", e.id, e.id);
7296
7308
  continue;
7297
7309
  }
7298
- e.horizontal && t.horizontal ? El(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Dl(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? El(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Dl(a, "distance", e.id, `${e.id} vertical`);
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 Al(e, t, n) {
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 jl = Bs, Ml = Vs, Nl = Hs, Pl = Us, Fl = () => ({
7325
- ...pc(),
7326
- version: Kc
7327
- }), Il = "mesurer.context", Ll = "context:v1", Rl = "mesurer.context.settings", zl = "context.ui", Bl = "data-mesurer-direct-text-edit-active", Vl = {
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
- }, Hl = {
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
- }, Ul = {
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
- }, Wl = async (e, t, n = 1) => {
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
- }, Gl = (e, t, n, r) => {
7340
- let i = async (i) => Sl({
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) => wl(await i(e));
7358
+ }), a = async (e) => Tl(await i(e));
7347
7359
  return {
7348
7360
  context: i,
7349
7361
  contextText: a,
7350
- copyContext: async (e) => Al(t, n, await a(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 Wl(t, n), i({ scope: "selection" });
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 Wl(t, n);
7369
+ e.removeAnnotation(r), await Gl(t, n);
7358
7370
  },
7359
7371
  review: async (i) => {
7360
- if (await Wl(t, n), i) return kl({
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) => kl({
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) => Tl(await i(e)),
7388
+ capturePlan: async (e) => El(await i(e)),
7377
7389
  prepareCapture: async () => {
7378
- e.prepareCapture(), await Wl(t, n);
7390
+ e.prepareCapture(), await Gl(t, n);
7379
7391
  },
7380
7392
  finishCapture: async () => {
7381
- e.finishCapture(), await Wl(t, n);
7393
+ e.finishCapture(), await Gl(t, n);
7382
7394
  }
7383
7395
  };
7384
- }, Kl = (e) => {
7396
+ }, ql = (e) => {
7385
7397
  let t = e.currentSelection();
7386
7398
  return t.elements.length > 0 || t.region !== null;
7387
7399
  };
7388
- function ql(e = {}) {
7400
+ function Jl(e = {}) {
7389
7401
  return {
7390
- id: Il,
7391
- version: Kc,
7402
+ id: Ll,
7403
+ version: qc,
7392
7404
  requires: ["runtime:solid"],
7393
- provides: [Ll],
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(Il), i = Gl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Ml)?.list() ?? []);
7398
- t.service.provide(Ll, i), t.state.register({
7399
- id: Rl,
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: zl,
7404
- initial: { hasSelection: Kl(r) }
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(zl)?.hasSelection === !0, s = (e) => {
7407
- t.state.update(Rl, (t) => ({
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(zl)?.hasSelection ?? !1) && t.state.update(zl, () => ({ hasSelection: i }));
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(Bl) ? e.setAttribute(Bl, "true") : e.removeAttribute(Bl));
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 = gs(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
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: [Bl]
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(fs, En(e, { get ownerWindow() {
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: Vl,
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: Hl,
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: Ul,
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 Jl = "mesurer.codex", Yl = "codex:v1", Xl = "mesurer.plugin.before-disable", Zl = 2e3, Ql = 750, $l = 1800, eu = 2e3, tu = 12e4, nu = 10, ru = 5, iu = "Codex host connection is unavailable. Electron apps must expose window.__MESURER_HOST__.codexBridge from preload.", au = [
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(" "), ou = {
7517
+ ].join(" "), su = {
7506
7518
  viewBox: "0 0 256 256",
7507
7519
  paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
7508
- }, su = {
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
- }, cu = {
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
- }, lu = () => {
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
- }, uu = () => {
7522
- let e = lu();
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
- }, du = (e) => {
7548
- let t = lu();
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
- }, fu = async (e) => {
7564
+ }, pu = async (e) => {
7553
7565
  let t = window.__MESURER_HOST__?.codexBridge;
7554
- if (!t) throw Error(iu);
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
- }, pu = (e) => {
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
- }, mu = (e) => ({
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
- }), hu = (e) => {
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
- }, gu = (e) => ({
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
- }), _u = async (e, t, n) => {
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
- }, vu = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, yu = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, bu = (e) => e instanceof Error && (e.message === iu || e.message === "Codex Bridge is unavailable in this host." || e.message.includes("Codex Bridge lease"));
7627
- function xu(e = {}) {
7628
- let t = e.instruction?.trim() || au, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
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: Jl,
7631
- version: Kc,
7632
- requires: [Ll],
7633
- provides: [Yl],
7642
+ id: Yl,
7643
+ version: qc,
7644
+ requires: [Rl],
7645
+ provides: [Xl],
7634
7646
  async setup(e) {
7635
- let i = e.service.get(Ll);
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 ? uu() : 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 = ru, _, v = "", y = null, b = a?.delivery ? {
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 fu(e);
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 fu({
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 fu({
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 fu({
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 = pu(O);
7667
- let A = mu(O);
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(Xl, async (e) => {
7685
+ }), e.hook.on(Zl, async (e) => {
7674
7686
  e === "mesurer.codex" && await D();
7675
7687
  });
7676
7688
  let ee = async () => {
7677
- let e = pu(await E({ action: "runtime" }));
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 = pu(e) ?? s, mu(e);
7686
- }, te = j, M = async (e) => hu(await 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), hu(await E(t));
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 ?? nu
7712
+ limit: e.limit ?? ru
7701
7713
  }, n = e.thread?.trim();
7702
- return n && (t.thread = n), gu(await E(t));
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
- du({
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) ? su : b.status === "completed" ? cu : ou : ou, ne = () => {
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 ${vu(e)}`,
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}${yu(e.title)}${r}`,
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 < nu && (e.length > g || h) && r.push({
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 = nu, H();
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 · ${vu(b.queuedSubmissionId)}`,
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: nu,
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
- }, $l);
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 < tu && (x = globalThis.setTimeout(() => {
7874
+ Date.now() - t < nu && (x = globalThis.setTimeout(() => {
7863
7875
  x = 0, se(e.id);
7864
- }, eu));
7876
+ }, tu));
7865
7877
  return;
7866
7878
  }
7867
7879
  H(), x = globalThis.setTimeout(() => {
7868
7880
  x = 0, se(e.id);
7869
- }, Ql);
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(), bu(n) && (o = "unavailable"), H();
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 = mu(n);
7906
- return s = pu(n) ?? s, L(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, H(), r;
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 _u(i, e, t), a = e?.thread?.trim(), s = a || (n ? F() : null);
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 && bu(e) && (o = "unavailable", H()), e;
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(Yl, ce);
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
- }, Ql) : S = globalThis.setTimeout(() => {
7979
+ }, $l) : S = globalThis.setTimeout(() => {
7968
7980
  S = 0, b?.id === null && b?.status === "queued" && (b = null, I(), H());
7969
- }, $l);
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
- }, Zl);
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 Su = Oc, Cu = Tc, wu = Ec, Tu = Dc, Eu = 4, Du = Ur, Ou = (e, t) => br(e, t), ku = (e = /* @__PURE__ */ new Date()) => xr(e), Au = (e, t, n, r) => yr(e, t, n, r), ju = (e, t, n) => vr(e, t, n), Mu = (e, t) => Br(e, t), Nu = (e) => Hr(e), Pu = (e = {}) => ({
8008
- ...Gc(e),
8009
- version: Kc
8010
- }), Fu = (e) => Cr(e), Iu = (e) => ({
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: Kc
8013
- }), Lu = () => Iu(Ho()), Ru = () => Iu(Uo()), zu = () => Iu(Wo()), Bu = () => Iu(Go()), Vu = () => Iu(Ko()), Hu = () => Iu(qo()), Uu = () => Iu(Yo()), Wu = () => Iu(Jo()), Gu = () => Xo().map(Iu), Ku = (e = [], t = []) => Zo(e, t).map((e) => e.id.startsWith("mesurer.") ? Iu(e) : e);
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 { qc as MESURER_ARRANGE_ACTIVE_STATE_ID, Jc as MESURER_ARRANGE_PLUGIN_ID, Yc as MESURER_ARRANGE_SERVICE_ID, Xc as MESURER_ARRANGE_SETTINGS_STATE_ID, Zc as MESURER_ARRANGE_STATE_ID, Jl as MESURER_CODEX_PLUGIN_ID, Yl as MESURER_CODEX_SERVICE_ID, Il as MESURER_CONTEXT_PLUGIN_ID, Ll as MESURER_CONTEXT_SERVICE_ID, Rl as MESURER_CONTEXT_SETTINGS_STATE_ID, el as MESURER_EDIT_ACTIVE_STATE_ID, tl as MESURER_EDIT_PLUGIN_ID, nl as MESURER_EDIT_SERVICE_ID, rl as MESURER_EDIT_SETTINGS_STATE_ID, il as MESURER_EDIT_STATE_ID, Pl as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, jl as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Ml as MESURER_LAYOUT_GUIDES_SERVICE_ID, Nl as MESURER_LAYOUT_GUIDES_STATE_ID, Su as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Cu as MESURER_SCREENSHOT_PLUGIN_ID, wu as MESURER_SCREENSHOT_SERVICE_ID, Tu as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Eu as MIN_SCREENSHOT_SELECTION, Qc as arrange, Du as captureVisibleTabPng, xu as codex, zu as colorPicker, Ku as compose, ql as context, Ou as copyPngToClipboard, ku as createScreenshotFilename, Au as cropPngToViewportRect, Gu as defaults, Uu as distance, $c as edit, Hu as guides, Fl as layoutGuides, ju as normalizeScreenshotRect, Mu as prepareScreenshotCapture, Nu as releaseScreenshotCapture, Bu as rulers, Pu as screenshot, Lu as select, Wu as settings, Vu as typography, Fu as waitForNextPaint, Ru as xray };
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 };