@aiquants/spreadsheet 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +84 -1
- package/README.md +55 -17
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +69 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.js +4249 -4172
- package/dist/styles/spreadsheet.css +1 -1
- package/dist/styles/spreadsheet.standalone.css +1 -1
- package/dist/tsv.cjs +6 -6
- package/dist/tsv.d.cts +16 -0
- package/dist/tsv.d.ts +16 -0
- package/dist/tsv.js +48 -41
- package/package.json +3 -3
- package/src/Spreadsheet.tsx +280 -92
- package/src/clipboard/tsv.ts +97 -45
- package/src/header/useHeaderResize.ts +137 -68
- package/src/index.ts +2 -2
- package/src/styles/spreadsheet.css +20 -0
- package/src/tsv.ts +5 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer components{.aqsp-root,.aqsp-root *,.aqsp-root :before,.aqsp-root :after{box-sizing:border-box}.aqsp-root{--_aqsp-row-header-width:var(--aqsp-row-header-width,64px);--_aqsp-col-header-height:var(--aqsp-col-header-height,24px);--_aqsp-font-size:var(--aqsp-font-size,.8125rem);--_aqsp-font-size-small:calc(var(--_aqsp-font-size) * 12 / 13);--_aqsp-font-size-x-small:calc(var(--_aqsp-font-size) * 11 / 13);--_aqsp-font-size-glyph:calc(var(--_aqsp-font-size) * 16 / 13);--_aqsp-editor-font-size:var(--_aqsp-font-size);--_aqsp-surface:var(--aqsp-surface,#fff);--_aqsp-text:var(--aqsp-text,#1f2937);--_aqsp-grid-line:var(--aqsp-grid-line,#e5e7eb);--_aqsp-border:var(--aqsp-border,#d1d5db);--_aqsp-input-border:var(--aqsp-input-border,#8b95a4);--_aqsp-accent:var(--aqsp-accent,#2563eb);--_aqsp-header-surface:var(--aqsp-header-surface,#f3f4f6);--_aqsp-header-text:var(--aqsp-header-text,#4a5361);--_aqsp-header-selected-surface:var(--aqsp-header-selected-surface,#dbeafe);--_aqsp-header-selected-text:var(--aqsp-header-selected-text,#1841b4);--_aqsp-header-row-surface:var(--aqsp-header-row-surface,#f3f4f6);--_aqsp-header-row-text:var(--aqsp-header-row-text,#1f2937);--_aqsp-header-row-font-weight:var(--aqsp-header-row-font-weight,700);--_aqsp-link:var(--aqsp-link,#163ba5);--_aqsp-note-marker:var(--aqsp-note-marker,#4b5563);--_aqsp-comment-marker:var(--aqsp-comment-marker,#eb6406);--_aqsp-danger:var(--aqsp-danger,#dc2626);--_aqsp-danger-fill:var(--aqsp-danger-fill,#dc262614);--_aqsp-danger-text:var(--aqsp-danger-text,#a41919);--_aqsp-danger-surface:var(--aqsp-danger-surface,#fef2f2);--_aqsp-selection-fill:var(--aqsp-selection-fill,#3b82f62e);--_aqsp-selection-border:var(--aqsp-selection-border,#2563ebd9);--_aqsp-drag-fill:var(--aqsp-drag-fill,#3b82f61a);--_aqsp-reference:var(--aqsp-reference,#16a24a);--_aqsp-reference-fill:var(--aqsp-reference-fill,#16a34a14);--_aqsp-fill-preview:var(--aqsp-fill-preview,#16a24a);--_aqsp-divider-color:var(--aqsp-divider-color,#858e9d);--_aqsp-popover-shadow:var(--aqsp-popover-shadow,0 1px 2px #00000014, 0 8px 24px #00000024);--_aqsp-note-tip-surface:var(--aqsp-note-tip-surface,#fffbeb);--_aqsp-note-tip-border:var(--aqsp-note-tip-border,#f59e0b);--_aqsp-note-tip-shadow:var(--aqsp-note-tip-shadow,0 2px 8px #0000001f);--_aqsp-title-text:var(--aqsp-title-text,#374151);--_aqsp-muted-text:var(--aqsp-muted-text,#4e535e);--_aqsp-strong-text:var(--aqsp-strong-text,#111827);--_aqsp-separator:var(--aqsp-separator,#f3f4f6);--_aqsp-button-surface:var(--aqsp-button-surface,#f9fafb);--_aqsp-hover-surface:var(--aqsp-hover-surface,#f3f4f6);--_aqsp-hover-border:var(--aqsp-hover-border,#9ca3af);--_aqsp-primary-surface:var(--aqsp-primary-surface,#134dce);--_aqsp-primary-hover-surface:var(--aqsp-primary-hover-surface,#173faf);--_aqsp-primary-text:var(--aqsp-primary-text,#fff);--_aqsp-option-selected-surface:var(--aqsp-option-selected-surface,#dbeafe);--_aqsp-option-selected-text:var(--aqsp-option-selected-text,#1e3a8a);background:var(--_aqsp-surface);width:100%;height:100%;color:var(--_aqsp-text);font-size:var(--_aqsp-font-size);line-height:1;position:relative;overflow:hidden}@media (pointer:coarse){.aqsp-root{--_aqsp-editor-font-size:max(1rem, 16px)}}.aqsp-zoom{grid-template-columns:var(--_aqsp-row-header-width) minmax(0, 1fr);grid-template-rows:var(--_aqsp-col-header-height) minmax(0, 1fr);transform-origin:0 0;width:100%;height:100%;display:grid}.aqsp-corner{border-right:1px solid var(--_aqsp-border);border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);grid-area:1/1}.aqsp-col-header{border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:1/2;position:relative;overflow:hidden}.aqsp-col-header-scroll{height:100%;position:absolute;top:0;right:0;overflow:hidden}.aqsp-row-header-scroll{width:100%;position:absolute;bottom:0;left:0;overflow:hidden}.aqsp-col-header-track{will-change:transform;position:absolute;inset:0}.aqsp-col-header-cell{border-right:1px solid var(--_aqsp-grid-line);white-space:nowrap;height:100%;color:var(--_aqsp-header-text);justify-content:center;align-items:center;display:flex;position:absolute;top:0;overflow:hidden}.aqsp-row-header{border-right:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:2/1;position:relative;overflow:hidden}.aqsp-row-header-track{will-change:transform;position:absolute;top:0;left:0;right:0}.aqsp-row-header-cell{border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;color:var(--_aqsp-header-text);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;padding-right:6px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.aqsp-body{position:absolute;inset:0}.aqsp-row{cursor:default}.aqsp-cell{border-right:1px solid var(--_aqsp-grid-line);border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;background:var(--_aqsp-surface);align-items:center;padding:0 4px;display:flex}.aqsp-cell[data-aqsp-header-row]{background:var(--_aqsp-header-row-surface);color:var(--_aqsp-header-row-text);font-weight:var(--_aqsp-header-row-font-weight)}.aqsp-cell[data-aqsp-valign=top]{align-items:flex-start}.aqsp-cell[data-aqsp-valign=bottom]{align-items:flex-end}.aqsp-cell[data-aqsp-wrap]{white-space:pre-wrap;overflow-wrap:anywhere}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after{content:"";border:5px solid #0000;border-top-color:var(--_aqsp-note-marker);border-right-color:var(--_aqsp-note-marker);pointer-events:none;width:0;height:0;position:absolute;top:0;right:0}.aqsp-cell[data-aqsp-comment]:after{border-top-color:var(--_aqsp-comment-marker);border-right-color:var(--_aqsp-comment-marker)}.aqsp-cell[data-aqsp-invalid]:before{content:"";border:5px solid #0000;border-bottom-color:var(--_aqsp-danger);border-left-color:var(--_aqsp-danger);pointer-events:none;width:0;height:0;position:absolute;bottom:0;left:0}.aqsp-cell[data-aqsp-link]{color:var(--_aqsp-link);text-decoration:underline}.aqsp-body-stack{grid-area:2/2;position:relative}.aqsp-overlay{--_aqsp-band-row:var(--aqsp-band-row,#0084ff);--_aqsp-band-column:var(--aqsp-band-column,#42ff4f);--_aqsp-band-intersection:var(--aqsp-band-intersection,#e1ff00);--_aqsp-band-opacity:var(--aqsp-band-opacity,.2);pointer-events:none;position:absolute;inset:0;overflow:hidden}.aqsp-overlay-quad{pointer-events:none;position:absolute;overflow:hidden}.aqsp-selection-fill{background:var(--_aqsp-selection-fill);border:1px solid var(--_aqsp-selection-border);mix-blend-mode:multiply;position:absolute;top:0;left:0}.aqsp-active-frame{border:2px solid var(--_aqsp-accent);box-sizing:border-box;position:absolute;top:0;left:0}.aqsp-drag-rect{border:1px solid var(--_aqsp-accent);background:var(--_aqsp-drag-fill);position:absolute;top:0;left:0}.aqsp-drag-rect[data-aqsp-drag-mode=subtract]{border:1px dashed var(--_aqsp-danger);background:var(--_aqsp-danger-fill)}.aqsp-drag-rect[data-aqsp-drag-mode=point]{border:1px dashed var(--_aqsp-reference);background:var(--_aqsp-reference-fill)}.aqsp-band{opacity:var(--_aqsp-band-opacity);pointer-events:none;position:absolute;top:0;left:0}.aqsp-band[data-aqsp-band=row]{background:var(--_aqsp-band-row)}.aqsp-band[data-aqsp-band=column]{background:var(--_aqsp-band-column)}.aqsp-band[data-aqsp-band=intersection]{background:var(--_aqsp-band-intersection)}.aqsp-clip-marquee{position:absolute;top:0;left:0}.aqsp-clip-marquee:after{content:"";top:var(--aqsp-clip-outset-top,-3px);right:var(--aqsp-clip-outset-right,-3px);bottom:var(--aqsp-clip-outset-bottom,-3px);left:var(--aqsp-clip-outset-left,-3px);background-image:linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%);background-position:0 0,8px 100%,0 8px,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 2px,8px 2px,2px 8px,2px 8px;animation:.4s linear infinite aqsp-marching-ants;position:absolute}@keyframes aqsp-marching-ants{to{background-position:8px 0,0 100%,0 0,100% 8px}}@media (prefers-reduced-motion:reduce){.aqsp-clip-marquee:after{animation:none}}.aqsp-col-resize-strip{cursor:col-resize;height:100%;position:absolute;top:0}.aqsp-row-resize-strip{cursor:row-resize;position:absolute;left:0;right:0}.aqsp-col-header .aqsp-unhide-marker{cursor:col-resize;background:repeating-linear-gradient(90deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);height:100%;position:absolute;top:0}.aqsp-row-header .aqsp-unhide-marker{cursor:row-resize;background:repeating-linear-gradient(180deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);position:absolute;left:0;right:0}.aqsp-resize-guide{background:var(--_aqsp-accent);pointer-events:none;position:absolute;top:0;left:0}.aqsp-autofill-handle{background:var(--_aqsp-accent);border:1px solid var(--_aqsp-surface);box-sizing:content-box;pointer-events:auto;cursor:crosshair;width:6px;height:6px;position:absolute;top:0;left:0}.aqsp-autofill-preview{border:1px dashed var(--_aqsp-fill-preview);position:absolute;top:0;left:0}@media (forced-colors:active){.aqsp-band{outline-offset:-2px;background:0 0;outline:2px solid highlight}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after,.aqsp-cell[data-aqsp-invalid]:before{border:1px solid canvastext;width:6px;height:6px}.aqsp-drag-rect[data-aqsp-drag-mode=point]{background:0 0;border-color:highlight}.aqsp-selection-fill{outline-offset:-2px;background:0 0;border:none;outline:2px solid highlight}.aqsp-clip-marquee:after{background-image:none;border:2px dashed highlight;animation:none}}.aqsp-col-header-cell[data-aqsp-in-selection],.aqsp-row-header-cell[data-aqsp-in-selection]{background:var(--_aqsp-header-selected-surface);color:var(--_aqsp-header-selected-text);font-weight:600}.aqsp-live-region{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqsp-sink{opacity:0;resize:none;pointer-events:auto;cursor:default;border:0;width:1px;height:1px;padding:0;position:absolute}.aqsp-sink[data-aqsp-editing]{opacity:1;z-index:1;box-sizing:border-box;background:var(--_aqsp-surface);color:var(--_aqsp-text);caret-color:var(--_aqsp-text);font-family:inherit;font-size:var(--_aqsp-editor-font-size);white-space:pre;outline:2px solid var(--_aqsp-accent);outline-offset:-2px;cursor:text;padding:0 4px;line-height:1;overflow:hidden}.aqsp-sink[data-aqsp-pointing]{caret-color:var(--_aqsp-reference)}.aqsp-popover-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.aqsp-popover-anchor{pointer-events:none;position:absolute;top:0;left:0}.aqsp-popover-anchor[inert]{visibility:hidden}.aqsp-popover{border:1px solid var(--_aqsp-border);background:var(--_aqsp-surface);width:320px;max-width:320px;color:var(--_aqsp-text);box-shadow:var(--_aqsp-popover-shadow);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans JP,sans-serif;font-size:var(--_aqsp-font-size);text-align:start;white-space:normal;cursor:default;pointer-events:auto;border-radius:8px;flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.aqsp-popover:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover[data-aqsp-popover-frame=note-tip]{border-color:var(--_aqsp-note-tip-border);background:var(--_aqsp-note-tip-surface);box-shadow:var(--_aqsp-note-tip-shadow)}.aqsp-popover-note,.aqsp-popover-comment,.aqsp-popover-link,.aqsp-popover-message{flex-direction:column;min-height:0;padding:10px 12px;display:flex}.aqsp-popover-list{flex-direction:column;min-height:0;padding:6px;display:flex}.aqsp-popover-note-tip{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;padding:8px 10px;overflow-y:auto}[data-aqsp-popover][data-aqsp-popover-rejected]{border-inline-start:3px solid var(--_aqsp-danger);padding-inline-start:9px}.aqsp-popover-title{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-title-text);align-items:baseline;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.aqsp-popover-count{color:var(--_aqsp-muted-text);font-weight:400}.aqsp-popover-textarea,.aqsp-popover-input{border:1px solid var(--_aqsp-input-border);background:var(--_aqsp-surface);width:100%;color:inherit;font:inherit;border-radius:6px;margin:0;padding:5px 8px;line-height:1.4;display:block}.aqsp-popover-textarea{resize:none;white-space:pre-wrap;flex:auto;height:104px;min-height:56px;overflow:auto}.aqsp-popover-comment .aqsp-popover-textarea{flex:none;height:64px}.aqsp-popover-input{flex:none;height:28px}.aqsp-popover-textarea:focus-visible,.aqsp-popover-input:focus-visible{border-color:var(--_aqsp-accent);outline:2px solid var(--_aqsp-accent);outline-offset:-1px}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-color:var(--_aqsp-danger)}.aqsp-popover-textarea[aria-invalid=true]:focus-visible,.aqsp-popover-input[aria-invalid=true]:focus-visible{border-color:var(--_aqsp-danger);outline-color:var(--_aqsp-danger)}.aqsp-popover-hint{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);margin:4px 0 0}[data-aqsp-popover-rejected] .aqsp-popover-hint{color:var(--_aqsp-danger-text)}.aqsp-popover-field{flex-direction:column;flex:none;gap:3px;margin:0 0 8px;display:flex}.aqsp-popover-field-label{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text)}.aqsp-popover-actions{flex:none;align-items:center;gap:6px;margin-top:8px;display:flex}.aqsp-popover-button{border:1px solid var(--_aqsp-border);background:var(--_aqsp-button-surface);min-width:56px;height:26px;color:var(--_aqsp-text);font:inherit;font-size:var(--_aqsp-font-size-small);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.aqsp-popover-button:not(:disabled):hover{border-color:var(--_aqsp-hover-border);background:var(--_aqsp-hover-surface)}.aqsp-popover-button:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:1px}.aqsp-popover-button:disabled{opacity:.5;cursor:not-allowed}.aqsp-popover-button[data-aqsp-popover-save],.aqsp-popover-button[data-aqsp-popover-post]{border-color:var(--_aqsp-primary-surface);background:var(--_aqsp-primary-surface);color:var(--_aqsp-primary-text)}.aqsp-popover-button[data-aqsp-popover-save]:not(:disabled):hover,.aqsp-popover-button[data-aqsp-popover-post]:not(:disabled):hover{border-color:var(--_aqsp-primary-hover-surface);background:var(--_aqsp-primary-hover-surface)}.aqsp-popover-button[data-aqsp-popover-close]{width:26px;min-width:0;color:var(--_aqsp-muted-text);font-size:var(--_aqsp-font-size-glyph);background:0 0;border-color:#0000;margin-inline-start:auto;padding:0;font-weight:400}.aqsp-popover-button[data-aqsp-popover-close]:not(:disabled):hover{background:var(--_aqsp-hover-surface);color:var(--_aqsp-text);border-color:#0000}.aqsp-popover-thread{overscroll-behavior:contain;flex:auto;min-height:48px;max-height:220px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.aqsp-popover-comment-item{border-top:1px solid var(--_aqsp-separator);padding:6px 0}.aqsp-popover-comment-item:first-child{border-top:0;padding-top:0}.aqsp-popover-comment-author{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-strong-text);font-weight:600}.aqsp-popover-comment-time{font-size:var(--_aqsp-font-size-x-small);color:var(--_aqsp-muted-text);font-variant-numeric:tabular-nums;margin-inline-start:6px}.aqsp-popover-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.aqsp-popover-list .aqsp-popover-input{margin-bottom:4px}.aqsp-popover-options{overscroll-behavior:contain;flex:auto;min-height:0;max-height:240px;overflow-y:auto}.aqsp-popover-option{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:5px 8px;overflow:hidden}.aqsp-popover-option:hover{background:var(--_aqsp-hover-surface)}.aqsp-popover-option[aria-selected=true]{background:var(--_aqsp-option-selected-surface);color:var(--_aqsp-option-selected-text)}.aqsp-popover-option:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover-empty{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);padding:6px 8px}.aqsp-popover-message{padding-inline-end:40px;position:relative}.aqsp-popover-message .aqsp-popover-title{margin-bottom:2px}.aqsp-popover-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.aqsp-popover-message .aqsp-popover-button[data-aqsp-popover-close]{position:absolute;inset-block-start:6px;inset-inline-end:6px}.aqsp-popover-message[data-aqsp-popover-rejected]{background:var(--_aqsp-danger-surface)}.aqsp-popover-message[data-aqsp-popover-rejected] .aqsp-popover-title{color:var(--_aqsp-danger-text)}@media (forced-colors:active){.aqsp-popover-option:hover,.aqsp-popover-option[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-style:dashed}.aqsp-popover-button[data-aqsp-popover-close]{border-color:buttontext}}[data-aqsp-empty]{width:100%;height:100%;display:block}.aqsp-freeze-divider{background:var(--_aqsp-divider-color);pointer-events:none;position:absolute}.aqsp-freeze-divider-v{width:var(--aqsp-divider-width,2px)}.aqsp-freeze-divider-h{height:var(--aqsp-divider-width,2px)}@media (forced-colors:active){.aqsp-freeze-divider{background:canvastext}}}
|
|
2
|
+
@layer components{.aqsp-root,.aqsp-root *,.aqsp-root :before,.aqsp-root :after{box-sizing:border-box}.aqsp-root{--_aqsp-row-header-width:var(--aqsp-row-header-width,64px);--_aqsp-col-header-height:var(--aqsp-col-header-height,24px);--_aqsp-font-size:var(--aqsp-font-size,.8125rem);--_aqsp-font-size-small:calc(var(--_aqsp-font-size) * 12 / 13);--_aqsp-font-size-x-small:calc(var(--_aqsp-font-size) * 11 / 13);--_aqsp-font-size-glyph:calc(var(--_aqsp-font-size) * 16 / 13);--_aqsp-editor-font-size:var(--_aqsp-font-size);--_aqsp-surface:var(--aqsp-surface,#fff);--_aqsp-text:var(--aqsp-text,#1f2937);--_aqsp-grid-line:var(--aqsp-grid-line,#e5e7eb);--_aqsp-border:var(--aqsp-border,#d1d5db);--_aqsp-input-border:var(--aqsp-input-border,#8b95a4);--_aqsp-accent:var(--aqsp-accent,#2563eb);--_aqsp-header-surface:var(--aqsp-header-surface,#f3f4f6);--_aqsp-header-text:var(--aqsp-header-text,#4a5361);--_aqsp-header-selected-surface:var(--aqsp-header-selected-surface,#dbeafe);--_aqsp-header-selected-text:var(--aqsp-header-selected-text,#1841b4);--_aqsp-header-row-surface:var(--aqsp-header-row-surface,#f3f4f6);--_aqsp-header-row-text:var(--aqsp-header-row-text,#1f2937);--_aqsp-header-row-font-weight:var(--aqsp-header-row-font-weight,700);--_aqsp-link:var(--aqsp-link,#163ba5);--_aqsp-note-marker:var(--aqsp-note-marker,#4b5563);--_aqsp-comment-marker:var(--aqsp-comment-marker,#eb6406);--_aqsp-danger:var(--aqsp-danger,#dc2626);--_aqsp-danger-fill:var(--aqsp-danger-fill,#dc262614);--_aqsp-danger-text:var(--aqsp-danger-text,#a41919);--_aqsp-danger-surface:var(--aqsp-danger-surface,#fef2f2);--_aqsp-selection-fill:var(--aqsp-selection-fill,#3b82f62e);--_aqsp-selection-border:var(--aqsp-selection-border,#2563ebd9);--_aqsp-drag-fill:var(--aqsp-drag-fill,#3b82f61a);--_aqsp-reference:var(--aqsp-reference,#16a24a);--_aqsp-reference-fill:var(--aqsp-reference-fill,#16a34a14);--_aqsp-fill-preview:var(--aqsp-fill-preview,#16a24a);--_aqsp-divider-color:var(--aqsp-divider-color,#858e9d);--_aqsp-popover-shadow:var(--aqsp-popover-shadow,0 1px 2px #00000014, 0 8px 24px #00000024);--_aqsp-note-tip-surface:var(--aqsp-note-tip-surface,#fffbeb);--_aqsp-note-tip-border:var(--aqsp-note-tip-border,#f59e0b);--_aqsp-note-tip-shadow:var(--aqsp-note-tip-shadow,0 2px 8px #0000001f);--_aqsp-title-text:var(--aqsp-title-text,#374151);--_aqsp-muted-text:var(--aqsp-muted-text,#4e535e);--_aqsp-strong-text:var(--aqsp-strong-text,#111827);--_aqsp-separator:var(--aqsp-separator,#f3f4f6);--_aqsp-button-surface:var(--aqsp-button-surface,#f9fafb);--_aqsp-hover-surface:var(--aqsp-hover-surface,#f3f4f6);--_aqsp-hover-border:var(--aqsp-hover-border,#9ca3af);--_aqsp-primary-surface:var(--aqsp-primary-surface,#134dce);--_aqsp-primary-hover-surface:var(--aqsp-primary-hover-surface,#173faf);--_aqsp-primary-text:var(--aqsp-primary-text,#fff);--_aqsp-option-selected-surface:var(--aqsp-option-selected-surface,#dbeafe);--_aqsp-option-selected-text:var(--aqsp-option-selected-text,#1e3a8a);background:var(--_aqsp-surface);width:100%;height:100%;color:var(--_aqsp-text);font-size:var(--_aqsp-font-size);line-height:1;position:relative;overflow:hidden}@media (pointer:coarse){.aqsp-root{--_aqsp-editor-font-size:max(1rem, 16px)}}.aqsp-zoom{grid-template-columns:var(--_aqsp-row-header-width) minmax(0, 1fr);grid-template-rows:var(--_aqsp-col-header-height) minmax(0, 1fr);transform-origin:0 0;width:100%;height:100%;display:grid}.aqsp-root[data-aqsp-headings-hidden] .aqsp-zoom{grid-template-rows:0 minmax(0,1fr);grid-template-columns:0 minmax(0,1fr)}.aqsp-reveal{pointer-events:none;visibility:hidden;width:0;height:0;position:absolute;top:0;left:0}.aqsp-corner{border-right:1px solid var(--_aqsp-border);border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);grid-area:1/1}.aqsp-col-header{border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:1/2;position:relative;overflow:hidden}.aqsp-col-header-scroll{height:100%;position:absolute;top:0;right:0;overflow:hidden}.aqsp-row-header-scroll{width:100%;position:absolute;bottom:0;left:0;overflow:hidden}.aqsp-col-header-track{will-change:transform;position:absolute;inset:0}.aqsp-col-header-cell{border-right:1px solid var(--_aqsp-grid-line);white-space:nowrap;height:100%;color:var(--_aqsp-header-text);justify-content:center;align-items:center;display:flex;position:absolute;top:0;overflow:hidden}.aqsp-row-header{border-right:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:2/1;position:relative;overflow:hidden}.aqsp-row-header-track{will-change:transform;position:absolute;top:0;left:0;right:0}.aqsp-row-header-cell{border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;color:var(--_aqsp-header-text);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;padding-right:6px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.aqsp-body{position:absolute;inset:0}.aqsp-row{cursor:default}.aqsp-cell{border-right:1px solid var(--_aqsp-grid-line);border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;background:var(--_aqsp-surface);align-items:center;padding:0 4px;display:flex}.aqsp-cell[data-aqsp-header-row]{background:var(--_aqsp-header-row-surface);color:var(--_aqsp-header-row-text);font-weight:var(--_aqsp-header-row-font-weight)}.aqsp-cell[data-aqsp-valign=top]{align-items:flex-start}.aqsp-cell[data-aqsp-valign=bottom]{align-items:flex-end}.aqsp-cell[data-aqsp-wrap]{white-space:pre-wrap;overflow-wrap:anywhere}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after{content:"";border:5px solid #0000;border-top-color:var(--_aqsp-note-marker);border-right-color:var(--_aqsp-note-marker);pointer-events:none;width:0;height:0;position:absolute;top:0;right:0}.aqsp-cell[data-aqsp-comment]:after{border-top-color:var(--_aqsp-comment-marker);border-right-color:var(--_aqsp-comment-marker)}.aqsp-cell[data-aqsp-invalid]:before{content:"";border:5px solid #0000;border-bottom-color:var(--_aqsp-danger);border-left-color:var(--_aqsp-danger);pointer-events:none;width:0;height:0;position:absolute;bottom:0;left:0}.aqsp-cell[data-aqsp-link]{color:var(--_aqsp-link);text-decoration:underline}.aqsp-body-stack{grid-area:2/2;position:relative}.aqsp-overlay{--_aqsp-band-row:var(--aqsp-band-row,#0084ff);--_aqsp-band-column:var(--aqsp-band-column,#42ff4f);--_aqsp-band-intersection:var(--aqsp-band-intersection,#e1ff00);--_aqsp-band-opacity:var(--aqsp-band-opacity,.2);pointer-events:none;position:absolute;inset:0;overflow:hidden}.aqsp-overlay-quad{pointer-events:none;position:absolute;overflow:hidden}.aqsp-selection-fill{background:var(--_aqsp-selection-fill);border:1px solid var(--_aqsp-selection-border);mix-blend-mode:multiply;position:absolute;top:0;left:0}.aqsp-active-frame{border:2px solid var(--_aqsp-accent);box-sizing:border-box;position:absolute;top:0;left:0}.aqsp-drag-rect{border:1px solid var(--_aqsp-accent);background:var(--_aqsp-drag-fill);position:absolute;top:0;left:0}.aqsp-drag-rect[data-aqsp-drag-mode=subtract]{border:1px dashed var(--_aqsp-danger);background:var(--_aqsp-danger-fill)}.aqsp-drag-rect[data-aqsp-drag-mode=point]{border:1px dashed var(--_aqsp-reference);background:var(--_aqsp-reference-fill)}.aqsp-band{opacity:var(--_aqsp-band-opacity);pointer-events:none;position:absolute;top:0;left:0}.aqsp-band[data-aqsp-band=row]{background:var(--_aqsp-band-row)}.aqsp-band[data-aqsp-band=column]{background:var(--_aqsp-band-column)}.aqsp-band[data-aqsp-band=intersection]{background:var(--_aqsp-band-intersection)}.aqsp-clip-marquee{position:absolute;top:0;left:0}.aqsp-clip-marquee:after{content:"";top:var(--aqsp-clip-outset-top,-3px);right:var(--aqsp-clip-outset-right,-3px);bottom:var(--aqsp-clip-outset-bottom,-3px);left:var(--aqsp-clip-outset-left,-3px);background-image:linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%);background-position:0 0,8px 100%,0 8px,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 2px,8px 2px,2px 8px,2px 8px;animation:.4s linear infinite aqsp-marching-ants;position:absolute}@keyframes aqsp-marching-ants{to{background-position:8px 0,0 100%,0 0,100% 8px}}@media (prefers-reduced-motion:reduce){.aqsp-clip-marquee:after{animation:none}}.aqsp-col-resize-strip{cursor:col-resize;height:100%;position:absolute;top:0}.aqsp-row-resize-strip{cursor:row-resize;position:absolute;left:0;right:0}.aqsp-col-header .aqsp-unhide-marker{cursor:col-resize;background:repeating-linear-gradient(90deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);height:100%;position:absolute;top:0}.aqsp-row-header .aqsp-unhide-marker{cursor:row-resize;background:repeating-linear-gradient(180deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);position:absolute;left:0;right:0}.aqsp-resize-guide{background:var(--_aqsp-accent);pointer-events:none;position:absolute;top:0;left:0}.aqsp-autofill-handle{background:var(--_aqsp-accent);border:1px solid var(--_aqsp-surface);box-sizing:content-box;pointer-events:auto;cursor:crosshair;width:6px;height:6px;position:absolute;top:0;left:0}.aqsp-autofill-preview{border:1px dashed var(--_aqsp-fill-preview);position:absolute;top:0;left:0}@media (forced-colors:active){.aqsp-band{outline-offset:-2px;background:0 0;outline:2px solid highlight}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after,.aqsp-cell[data-aqsp-invalid]:before{border:1px solid canvastext;width:6px;height:6px}.aqsp-drag-rect[data-aqsp-drag-mode=point]{background:0 0;border-color:highlight}.aqsp-selection-fill{outline-offset:-2px;background:0 0;border:none;outline:2px solid highlight}.aqsp-clip-marquee:after{background-image:none;border:2px dashed highlight;animation:none}}.aqsp-col-header-cell[data-aqsp-in-selection],.aqsp-row-header-cell[data-aqsp-in-selection]{background:var(--_aqsp-header-selected-surface);color:var(--_aqsp-header-selected-text);font-weight:600}.aqsp-live-region{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqsp-sink{opacity:0;resize:none;pointer-events:auto;cursor:default;border:0;width:1px;height:1px;padding:0;position:absolute}.aqsp-sink[data-aqsp-editing]{opacity:1;z-index:1;box-sizing:border-box;background:var(--_aqsp-surface);color:var(--_aqsp-text);caret-color:var(--_aqsp-text);font-family:inherit;font-size:var(--_aqsp-editor-font-size);white-space:pre;outline:2px solid var(--_aqsp-accent);outline-offset:-2px;cursor:text;padding:0 4px;line-height:1;overflow:hidden}.aqsp-sink[data-aqsp-pointing]{caret-color:var(--_aqsp-reference)}.aqsp-popover-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.aqsp-popover-anchor{pointer-events:none;position:absolute;top:0;left:0}.aqsp-popover-anchor[inert]{visibility:hidden}.aqsp-popover{border:1px solid var(--_aqsp-border);background:var(--_aqsp-surface);width:320px;max-width:320px;color:var(--_aqsp-text);box-shadow:var(--_aqsp-popover-shadow);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans JP,sans-serif;font-size:var(--_aqsp-font-size);text-align:start;white-space:normal;cursor:default;pointer-events:auto;border-radius:8px;flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.aqsp-popover:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover[data-aqsp-popover-frame=note-tip]{border-color:var(--_aqsp-note-tip-border);background:var(--_aqsp-note-tip-surface);box-shadow:var(--_aqsp-note-tip-shadow)}.aqsp-popover-note,.aqsp-popover-comment,.aqsp-popover-link,.aqsp-popover-message{flex-direction:column;min-height:0;padding:10px 12px;display:flex}.aqsp-popover-list{flex-direction:column;min-height:0;padding:6px;display:flex}.aqsp-popover-note-tip{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;padding:8px 10px;overflow-y:auto}[data-aqsp-popover][data-aqsp-popover-rejected]{border-inline-start:3px solid var(--_aqsp-danger);padding-inline-start:9px}.aqsp-popover-title{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-title-text);align-items:baseline;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.aqsp-popover-count{color:var(--_aqsp-muted-text);font-weight:400}.aqsp-popover-textarea,.aqsp-popover-input{border:1px solid var(--_aqsp-input-border);background:var(--_aqsp-surface);width:100%;color:inherit;font:inherit;border-radius:6px;margin:0;padding:5px 8px;line-height:1.4;display:block}.aqsp-popover-textarea{resize:none;white-space:pre-wrap;flex:auto;height:104px;min-height:56px;overflow:auto}.aqsp-popover-comment .aqsp-popover-textarea{flex:none;height:64px}.aqsp-popover-input{flex:none;height:28px}.aqsp-popover-textarea:focus-visible,.aqsp-popover-input:focus-visible{border-color:var(--_aqsp-accent);outline:2px solid var(--_aqsp-accent);outline-offset:-1px}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-color:var(--_aqsp-danger)}.aqsp-popover-textarea[aria-invalid=true]:focus-visible,.aqsp-popover-input[aria-invalid=true]:focus-visible{border-color:var(--_aqsp-danger);outline-color:var(--_aqsp-danger)}.aqsp-popover-hint{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);margin:4px 0 0}[data-aqsp-popover-rejected] .aqsp-popover-hint{color:var(--_aqsp-danger-text)}.aqsp-popover-field{flex-direction:column;flex:none;gap:3px;margin:0 0 8px;display:flex}.aqsp-popover-field-label{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text)}.aqsp-popover-actions{flex:none;align-items:center;gap:6px;margin-top:8px;display:flex}.aqsp-popover-button{border:1px solid var(--_aqsp-border);background:var(--_aqsp-button-surface);min-width:56px;height:26px;color:var(--_aqsp-text);font:inherit;font-size:var(--_aqsp-font-size-small);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.aqsp-popover-button:not(:disabled):hover{border-color:var(--_aqsp-hover-border);background:var(--_aqsp-hover-surface)}.aqsp-popover-button:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:1px}.aqsp-popover-button:disabled{opacity:.5;cursor:not-allowed}.aqsp-popover-button[data-aqsp-popover-save],.aqsp-popover-button[data-aqsp-popover-post]{border-color:var(--_aqsp-primary-surface);background:var(--_aqsp-primary-surface);color:var(--_aqsp-primary-text)}.aqsp-popover-button[data-aqsp-popover-save]:not(:disabled):hover,.aqsp-popover-button[data-aqsp-popover-post]:not(:disabled):hover{border-color:var(--_aqsp-primary-hover-surface);background:var(--_aqsp-primary-hover-surface)}.aqsp-popover-button[data-aqsp-popover-close]{width:26px;min-width:0;color:var(--_aqsp-muted-text);font-size:var(--_aqsp-font-size-glyph);background:0 0;border-color:#0000;margin-inline-start:auto;padding:0;font-weight:400}.aqsp-popover-button[data-aqsp-popover-close]:not(:disabled):hover{background:var(--_aqsp-hover-surface);color:var(--_aqsp-text);border-color:#0000}.aqsp-popover-thread{overscroll-behavior:contain;flex:auto;min-height:48px;max-height:220px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.aqsp-popover-comment-item{border-top:1px solid var(--_aqsp-separator);padding:6px 0}.aqsp-popover-comment-item:first-child{border-top:0;padding-top:0}.aqsp-popover-comment-author{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-strong-text);font-weight:600}.aqsp-popover-comment-time{font-size:var(--_aqsp-font-size-x-small);color:var(--_aqsp-muted-text);font-variant-numeric:tabular-nums;margin-inline-start:6px}.aqsp-popover-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.aqsp-popover-list .aqsp-popover-input{margin-bottom:4px}.aqsp-popover-options{overscroll-behavior:contain;flex:auto;min-height:0;max-height:240px;overflow-y:auto}.aqsp-popover-option{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:5px 8px;overflow:hidden}.aqsp-popover-option:hover{background:var(--_aqsp-hover-surface)}.aqsp-popover-option[aria-selected=true]{background:var(--_aqsp-option-selected-surface);color:var(--_aqsp-option-selected-text)}.aqsp-popover-option:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover-empty{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);padding:6px 8px}.aqsp-popover-message{padding-inline-end:40px;position:relative}.aqsp-popover-message .aqsp-popover-title{margin-bottom:2px}.aqsp-popover-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.aqsp-popover-message .aqsp-popover-button[data-aqsp-popover-close]{position:absolute;inset-block-start:6px;inset-inline-end:6px}.aqsp-popover-message[data-aqsp-popover-rejected]{background:var(--_aqsp-danger-surface)}.aqsp-popover-message[data-aqsp-popover-rejected] .aqsp-popover-title{color:var(--_aqsp-danger-text)}@media (forced-colors:active){.aqsp-popover-option:hover,.aqsp-popover-option[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-style:dashed}.aqsp-popover-button[data-aqsp-popover-close]{border-color:buttontext}}[data-aqsp-empty]{width:100%;height:100%;display:block}.aqsp-freeze-divider{background:var(--_aqsp-divider-color);pointer-events:none;position:absolute}.aqsp-freeze-divider-v{width:var(--aqsp-divider-width,2px)}.aqsp-freeze-divider-h{height:var(--aqsp-divider-width,2px)}@media (forced-colors:active){.aqsp-freeze-divider{background:canvastext}}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
2
|
/*! @aiquants/spreadsheet standalone CSS — 非 Tailwind ホスト専用。ホストの Tailwind ビルドと混在させないこと */
|
|
3
|
-
@layer theme,base;@layer components{@layer components{.aqvs-scroll-pane{display:flex;position:relative}.aqvs-scroll-pane[data-self-measured=true],.aqvs-scroll-pane[data-aqvs-stretched-viewport=true]{height:100%}.aqvs-scroll-pane-content{box-sizing:border-box;flex:1;height:100%;position:relative;overflow:hidden}.aqvs-scroll-pane-content-overlay{box-sizing:border-box;padding:inherit;pointer-events:none;position:absolute;inset:0}.aqvs-scroll-pane-content-overlay-box{height:100%;position:relative;overflow:hidden}.aqvs-tap-scroll-circle{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition-property:transform;transition-duration:.1s;transition-timing-function:cubic-bezier(0,0,.2,1);display:flex;position:relative}.aqvs-tap-scroll-circle-visual-outer{border-radius:9999px;position:absolute;inset:0}.aqvs-tap-scroll-circle-gradient{background:linear-gradient(to bottom right,#1d4ed899,#60a5fa8c,#bfdbfe66);border:1px solid #fff6;border-radius:9999px;position:absolute;inset:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.aqvs-tap-scroll-circle-inner{border-radius:9999px;position:absolute;inset:18%}.aqvs-sample-visual-pupil{box-sizing:border-box;background-color:#ffffffd9;border:1px solid #ffffff80;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-sample-visual-highlight{background-color:#fffc;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-sample-visual-rod{background-color:#ffffff80;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-scrollbar{z-index:50;cursor:default;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background-color:#fff;position:relative}.aqvs-scrollbar-horizontal{flex-direction:row;align-items:stretch;display:flex}.aqvs-scrollbar-vertical{flex-direction:column;align-items:stretch;display:flex}.aqvs-scrollbar[data-visible=false],.aqvs-scrollbar-thumb-wrapper[data-visible=false]{opacity:0;pointer-events:none}.aqvs-scrollbar-track:focus-visible,.aqvs-scroll-pane-content:focus-visible{outline:none}.aqvs-scrollbar-track:focus-visible:after,.aqvs-scroll-pane-content:focus-visible:not([data-aqvs-active-item=visible]):after{content:"";outline:2px solid var(--aqvs-focus-ring-color,#2563eb);outline-offset:-2px;pointer-events:none;position:absolute;inset:0}.aqvs-scrollbar-tap-circle-wrapper{pointer-events:auto;transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.aqvs-scrollbar-arrow-button{color:#313131;background-color:#e0e0e0;border:0 solid;justify-content:center;align-items:center;padding:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.aqvs-scrollbar-arrow-button:focus{outline-offset:2px;outline:2px solid #0000}.aqvs-scrollbar-arrow-button:disabled{cursor:not-allowed;opacity:.5}.aqvs-scrollbar-arrow-button:enabled:hover{background-color:#d4d4d4}.aqvs-scrollbar-arrow-button:enabled:focus-visible{color:#fff;background-color:#2563eb;outline:none}.aqvs-scrollbar-track{background-color:#f5f5f5;flex:1;position:relative}.aqvs-scrollbar-overlay{pointer-events:none;position:absolute;inset:0}.aqvs-scrollbar-thumb-wrapper{touch-action:none;position:absolute}.aqvs-scrollbar-thumb{transform-origin:50%;background-color:#7f7f7f;transition:transform 80ms ease-out;position:absolute}.aqvs-scrollbar-thumb[data-thumb-state=disabled]{transition:none;transform:none}.aqvs-scrollbar-thumb[data-thumb-state=hover]{background-color:#5f5f5f}.aqvs-scrollbar-thumb[data-thumb-state=dragging]{background-color:#4f4f4f;transition:transform 60ms ease-out}.aqvs-scrollbar-thumb-horizontal{inset:1.5px 0}.aqvs-scrollbar-thumb-horizontal[data-thumb-state=hover]{top:-.5px;bottom:-.5px;transform:scaleY(1.06)}.aqvs-scrollbar-thumb-horizontal[data-thumb-state=dragging]{top:-.5px;bottom:-.5px;transform:scaleY(1.12)}.aqvs-scrollbar-thumb-vertical{inset:0 1.5px}.aqvs-scrollbar-thumb-vertical[data-thumb-state=hover]{left:-.5px;right:-.5px;transform:scaleX(1.06)}.aqvs-scrollbar-thumb-vertical[data-thumb-state=dragging]{left:-.5px;right:-.5px;transform:scaleX(1.12)}.aqvs-scroll-to-edge-button{isolation:isolate;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box;min-width:44px;min-height:44px;font-family:inherit;font-weight:500;font-size:var(--aqvs-font-size-body,.8125rem);line-height:var(--aqvs-line-height-body,1.25rem);color:#fff;text-transform:uppercase;letter-spacing:.05em;background-color:#0000;border:0 solid;justify-content:center;align-items:center;padding:12px 3rem;display:inline-flex;position:relative;transform:none}.aqvs-scroll-to-edge-button:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#1f2937cc;border-radius:9999px;transition-property:transform,background-color;transition-duration:.15s;position:absolute;inset:8px 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.aqvs-scroll-to-edge-button:focus{outline-offset:2px;outline:2px solid #0000}.aqvs-scroll-to-edge-button:focus-visible{outline:none}.aqvs-scroll-to-edge-button:focus-visible:before{outline:2px solid var(--aqvs-focus-ring-color,#2563eb);outline-offset:1px}.aqvs-scroll-to-edge-button:hover:before{background-color:#374151}.aqvs-scroll-to-edge-button:active:before{transform:scale(.95)}.aqvs-scroll-to-edge-overlay{pointer-events:none;z-index:10;transition-property:opacity;transition-duration:.5s;position:absolute;inset:0}.aqvs-scroll-to-edge-overlay[data-visible=true]{opacity:1}.aqvs-scroll-to-edge-overlay[data-visible=false]{opacity:0}.aqvs-scroll-to-edge-overlay[data-visible=false] .aqvs-scroll-to-edge-button{pointer-events:none}.aqvs-scroll-to-edge-button-container{justify-content:center;display:flex;position:absolute;left:0;right:0}.aqvs-scroll-to-edge-button-container-top{top:0}.aqvs-scroll-to-edge-button-container-bottom{bottom:0}.aqvs-no-items-container{width:100%;position:absolute;top:0}.aqvs-no-items-text{text-align:center;color:#6b7280}.aqvs-item-container,.aqvs-bottom-inset{width:100%;position:absolute}.aqvs-items-boundary{contain:size layout style;height:0;position:absolute;top:0;left:0;right:0}.aqvs-items-wrapper{width:100%;position:absolute}.aqvs-live-region{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqvs-grid{grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.aqvs-grid-has-frozen-rows{grid-template-rows:auto minmax(0,1fr) auto}.aqvs-grid-has-trailing-rows{grid-template-rows:minmax(0,1fr) auto auto}.aqvs-grid-has-frozen-rows.aqvs-grid-has-trailing-rows{grid-template-rows:auto minmax(0,1fr) auto auto}.aqvs-grid-frozen-rows{min-width:0;position:relative;overflow:hidden}.aqvs-grid-frozen-band-row{position:absolute;left:0;overflow:hidden}.aqvs-grid-trailing-rows{min-width:0;position:relative;overflow:hidden}.aqvs-grid-trailing-rows-inner{position:absolute;bottom:0;left:0;right:0}.aqvs-grid-trailing-band-row{position:absolute;left:0;overflow:hidden}.aqvs-grid-main{min-width:0;min-height:0;position:relative}.aqvs-grid-row{width:100%;height:100%;transform:translateX(var(--aqvs-grid-hx-residual,0px));position:relative;overflow:visible}.aqvs-grid-cell{height:100%;position:absolute;top:0;overflow:hidden}.aqvs-grid-row.aqvs-grid-row-frozen-host{transform:none}.aqvs-grid-row-scroll{height:100%;top:0;left:var(--aqvs-grid-frozen-width,0px);right:var(--aqvs-grid-trailing-width,0px);position:absolute;overflow:hidden}.aqvs-grid-row-scroll-inner{width:100%;height:100%;transform:translateX(calc(var(--aqvs-grid-hx-residual,0px) - var(--aqvs-grid-frozen-width,0px)));position:absolute;top:0;left:0}.aqvs-grid-row-trailing{height:100%;top:0;left:max(var(--aqvs-grid-frozen-width,0px), calc(100% - var(--aqvs-grid-trailing-width,0px)));position:absolute;right:0;overflow:hidden}.aqvs-grid-row-trailing-inner{height:100%;width:var(--aqvs-grid-trailing-width,0px);position:absolute;top:0;right:0}.aqvs-grid-hbar-strip{min-width:0;padding-left:var(--aqvs-grid-frozen-width,0px);position:relative}.aqvs-grid-live-region{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqvs-grid-tap-circle-wrapper{z-index:50;pointer-events:auto;position:absolute}.aqvs-grid-tap-circle{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (forced-colors:active){.aqvs-tap-scroll-circle{outline-offset:-1px;border-radius:50%;outline:1px solid canvastext}.aqvs-scrollbar,.aqvs-scrollbar-track{outline-offset:-1px;outline:1px solid graytext}.aqvs-scrollbar-thumb{forced-color-adjust:none;background-color:canvastext}.aqvs-scrollbar-thumb[data-thumb-state=hover],.aqvs-scrollbar-thumb[data-thumb-state=dragging]{background-color:highlight}.aqvs-scrollbar-thumb[data-thumb-state=disabled]{background-color:graytext}.aqvs-scrollbar-arrow-button:enabled:focus-visible{forced-color-adjust:none;color:highlighttext;background-color:highlight}.aqvs-sample-visual-highlight,.aqvs-sample-visual-rod{forced-color-adjust:none;background-color:canvastext}.aqvs-scroll-to-edge-button:before{border:1px solid buttontext}}@media (prefers-reduced-motion:reduce){.aqvs-tap-scroll-circle,.aqvs-tap-scroll-circle *,.aqvs-grid-tap-circle,.aqvs-scrollbar-tap-circle-wrapper,.aqvs-scrollbar-arrow-button,.aqvs-scrollbar-thumb,.aqvs-scroll-to-edge-button:before,.aqvs-scroll-to-edge-overlay{transition:none!important;animation:none!important}}}.aqsp-root,.aqsp-root *,.aqsp-root :before,.aqsp-root :after{box-sizing:border-box}.aqsp-root{--_aqsp-row-header-width:var(--aqsp-row-header-width,64px);--_aqsp-col-header-height:var(--aqsp-col-header-height,24px);--_aqsp-font-size:var(--aqsp-font-size,.8125rem);--_aqsp-font-size-small:calc(var(--_aqsp-font-size) * 12 / 13);--_aqsp-font-size-x-small:calc(var(--_aqsp-font-size) * 11 / 13);--_aqsp-font-size-glyph:calc(var(--_aqsp-font-size) * 16 / 13);--_aqsp-editor-font-size:var(--_aqsp-font-size);--_aqsp-surface:var(--aqsp-surface,#fff);--_aqsp-text:var(--aqsp-text,#1f2937);--_aqsp-grid-line:var(--aqsp-grid-line,#e5e7eb);--_aqsp-border:var(--aqsp-border,#d1d5db);--_aqsp-input-border:var(--aqsp-input-border,#8b95a4);--_aqsp-accent:var(--aqsp-accent,#2563eb);--_aqsp-header-surface:var(--aqsp-header-surface,#f3f4f6);--_aqsp-header-text:var(--aqsp-header-text,#4a5361);--_aqsp-header-selected-surface:var(--aqsp-header-selected-surface,#dbeafe);--_aqsp-header-selected-text:var(--aqsp-header-selected-text,#1841b4);--_aqsp-header-row-surface:var(--aqsp-header-row-surface,#f3f4f6);--_aqsp-header-row-text:var(--aqsp-header-row-text,#1f2937);--_aqsp-header-row-font-weight:var(--aqsp-header-row-font-weight,700);--_aqsp-link:var(--aqsp-link,#163ba5);--_aqsp-note-marker:var(--aqsp-note-marker,#4b5563);--_aqsp-comment-marker:var(--aqsp-comment-marker,#eb6406);--_aqsp-danger:var(--aqsp-danger,#dc2626);--_aqsp-danger-fill:var(--aqsp-danger-fill,#dc262614);--_aqsp-danger-text:var(--aqsp-danger-text,#a41919);--_aqsp-danger-surface:var(--aqsp-danger-surface,#fef2f2);--_aqsp-selection-fill:var(--aqsp-selection-fill,#3b82f62e);--_aqsp-selection-border:var(--aqsp-selection-border,#2563ebd9);--_aqsp-drag-fill:var(--aqsp-drag-fill,#3b82f61a);--_aqsp-reference:var(--aqsp-reference,#16a24a);--_aqsp-reference-fill:var(--aqsp-reference-fill,#16a34a14);--_aqsp-fill-preview:var(--aqsp-fill-preview,#16a24a);--_aqsp-divider-color:var(--aqsp-divider-color,#858e9d);--_aqsp-popover-shadow:var(--aqsp-popover-shadow,0 1px 2px #00000014, 0 8px 24px #00000024);--_aqsp-note-tip-surface:var(--aqsp-note-tip-surface,#fffbeb);--_aqsp-note-tip-border:var(--aqsp-note-tip-border,#f59e0b);--_aqsp-note-tip-shadow:var(--aqsp-note-tip-shadow,0 2px 8px #0000001f);--_aqsp-title-text:var(--aqsp-title-text,#374151);--_aqsp-muted-text:var(--aqsp-muted-text,#4e535e);--_aqsp-strong-text:var(--aqsp-strong-text,#111827);--_aqsp-separator:var(--aqsp-separator,#f3f4f6);--_aqsp-button-surface:var(--aqsp-button-surface,#f9fafb);--_aqsp-hover-surface:var(--aqsp-hover-surface,#f3f4f6);--_aqsp-hover-border:var(--aqsp-hover-border,#9ca3af);--_aqsp-primary-surface:var(--aqsp-primary-surface,#134dce);--_aqsp-primary-hover-surface:var(--aqsp-primary-hover-surface,#173faf);--_aqsp-primary-text:var(--aqsp-primary-text,#fff);--_aqsp-option-selected-surface:var(--aqsp-option-selected-surface,#dbeafe);--_aqsp-option-selected-text:var(--aqsp-option-selected-text,#1e3a8a);background:var(--_aqsp-surface);width:100%;height:100%;color:var(--_aqsp-text);font-size:var(--_aqsp-font-size);line-height:1;position:relative;overflow:hidden}@media (pointer:coarse){.aqsp-root{--_aqsp-editor-font-size:max(1rem, 16px)}}.aqsp-zoom{grid-template-columns:var(--_aqsp-row-header-width) minmax(0, 1fr);grid-template-rows:var(--_aqsp-col-header-height) minmax(0, 1fr);transform-origin:0 0;width:100%;height:100%;display:grid}.aqsp-corner{border-right:1px solid var(--_aqsp-border);border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);grid-area:1/1}.aqsp-col-header{border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:1/2;position:relative;overflow:hidden}.aqsp-col-header-scroll{height:100%;position:absolute;top:0;right:0;overflow:hidden}.aqsp-row-header-scroll{width:100%;position:absolute;bottom:0;left:0;overflow:hidden}.aqsp-col-header-track{will-change:transform;position:absolute;inset:0}.aqsp-col-header-cell{border-right:1px solid var(--_aqsp-grid-line);white-space:nowrap;height:100%;color:var(--_aqsp-header-text);justify-content:center;align-items:center;display:flex;position:absolute;top:0;overflow:hidden}.aqsp-row-header{border-right:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:2/1;position:relative;overflow:hidden}.aqsp-row-header-track{will-change:transform;position:absolute;top:0;left:0;right:0}.aqsp-row-header-cell{border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;color:var(--_aqsp-header-text);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;padding-right:6px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.aqsp-body{position:absolute;inset:0}.aqsp-row{cursor:default}.aqsp-cell{border-right:1px solid var(--_aqsp-grid-line);border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;background:var(--_aqsp-surface);align-items:center;padding:0 4px;display:flex}.aqsp-cell[data-aqsp-header-row]{background:var(--_aqsp-header-row-surface);color:var(--_aqsp-header-row-text);font-weight:var(--_aqsp-header-row-font-weight)}.aqsp-cell[data-aqsp-valign=top]{align-items:flex-start}.aqsp-cell[data-aqsp-valign=bottom]{align-items:flex-end}.aqsp-cell[data-aqsp-wrap]{white-space:pre-wrap;overflow-wrap:anywhere}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after{content:"";border:5px solid #0000;border-top-color:var(--_aqsp-note-marker);border-right-color:var(--_aqsp-note-marker);pointer-events:none;width:0;height:0;position:absolute;top:0;right:0}.aqsp-cell[data-aqsp-comment]:after{border-top-color:var(--_aqsp-comment-marker);border-right-color:var(--_aqsp-comment-marker)}.aqsp-cell[data-aqsp-invalid]:before{content:"";border:5px solid #0000;border-bottom-color:var(--_aqsp-danger);border-left-color:var(--_aqsp-danger);pointer-events:none;width:0;height:0;position:absolute;bottom:0;left:0}.aqsp-cell[data-aqsp-link]{color:var(--_aqsp-link);text-decoration:underline}.aqsp-body-stack{grid-area:2/2;position:relative}.aqsp-overlay{--_aqsp-band-row:var(--aqsp-band-row,#0084ff);--_aqsp-band-column:var(--aqsp-band-column,#42ff4f);--_aqsp-band-intersection:var(--aqsp-band-intersection,#e1ff00);--_aqsp-band-opacity:var(--aqsp-band-opacity,.2);pointer-events:none;position:absolute;inset:0;overflow:hidden}.aqsp-overlay-quad{pointer-events:none;position:absolute;overflow:hidden}.aqsp-selection-fill{background:var(--_aqsp-selection-fill);border:1px solid var(--_aqsp-selection-border);mix-blend-mode:multiply;position:absolute;top:0;left:0}.aqsp-active-frame{border:2px solid var(--_aqsp-accent);box-sizing:border-box;position:absolute;top:0;left:0}.aqsp-drag-rect{border:1px solid var(--_aqsp-accent);background:var(--_aqsp-drag-fill);position:absolute;top:0;left:0}.aqsp-drag-rect[data-aqsp-drag-mode=subtract]{border:1px dashed var(--_aqsp-danger);background:var(--_aqsp-danger-fill)}.aqsp-drag-rect[data-aqsp-drag-mode=point]{border:1px dashed var(--_aqsp-reference);background:var(--_aqsp-reference-fill)}.aqsp-band{opacity:var(--_aqsp-band-opacity);pointer-events:none;position:absolute;top:0;left:0}.aqsp-band[data-aqsp-band=row]{background:var(--_aqsp-band-row)}.aqsp-band[data-aqsp-band=column]{background:var(--_aqsp-band-column)}.aqsp-band[data-aqsp-band=intersection]{background:var(--_aqsp-band-intersection)}.aqsp-clip-marquee{position:absolute;top:0;left:0}.aqsp-clip-marquee:after{content:"";top:var(--aqsp-clip-outset-top,-3px);right:var(--aqsp-clip-outset-right,-3px);bottom:var(--aqsp-clip-outset-bottom,-3px);left:var(--aqsp-clip-outset-left,-3px);background-image:linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%);background-position:0 0,8px 100%,0 8px,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 2px,8px 2px,2px 8px,2px 8px;animation:.4s linear infinite aqsp-marching-ants;position:absolute}@keyframes aqsp-marching-ants{to{background-position:8px 0,0 100%,0 0,100% 8px}}@media (prefers-reduced-motion:reduce){.aqsp-clip-marquee:after{animation:none}}.aqsp-col-resize-strip{cursor:col-resize;height:100%;position:absolute;top:0}.aqsp-row-resize-strip{cursor:row-resize;position:absolute;left:0;right:0}.aqsp-col-header .aqsp-unhide-marker{cursor:col-resize;background:repeating-linear-gradient(90deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);height:100%;position:absolute;top:0}.aqsp-row-header .aqsp-unhide-marker{cursor:row-resize;background:repeating-linear-gradient(180deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);position:absolute;left:0;right:0}.aqsp-resize-guide{background:var(--_aqsp-accent);pointer-events:none;position:absolute;top:0;left:0}.aqsp-autofill-handle{background:var(--_aqsp-accent);border:1px solid var(--_aqsp-surface);box-sizing:content-box;pointer-events:auto;cursor:crosshair;width:6px;height:6px;position:absolute;top:0;left:0}.aqsp-autofill-preview{border:1px dashed var(--_aqsp-fill-preview);position:absolute;top:0;left:0}@media (forced-colors:active){.aqsp-band{outline-offset:-2px;background:0 0;outline:2px solid highlight}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after,.aqsp-cell[data-aqsp-invalid]:before{border:1px solid canvastext;width:6px;height:6px}.aqsp-drag-rect[data-aqsp-drag-mode=point]{background:0 0;border-color:highlight}.aqsp-selection-fill{outline-offset:-2px;background:0 0;border:none;outline:2px solid highlight}.aqsp-clip-marquee:after{background-image:none;border:2px dashed highlight;animation:none}}.aqsp-col-header-cell[data-aqsp-in-selection],.aqsp-row-header-cell[data-aqsp-in-selection]{background:var(--_aqsp-header-selected-surface);color:var(--_aqsp-header-selected-text);font-weight:600}.aqsp-live-region{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqsp-sink{opacity:0;resize:none;pointer-events:auto;cursor:default;border:0;width:1px;height:1px;padding:0;position:absolute}.aqsp-sink[data-aqsp-editing]{opacity:1;z-index:1;box-sizing:border-box;background:var(--_aqsp-surface);color:var(--_aqsp-text);caret-color:var(--_aqsp-text);font-family:inherit;font-size:var(--_aqsp-editor-font-size);white-space:pre;outline:2px solid var(--_aqsp-accent);outline-offset:-2px;cursor:text;padding:0 4px;line-height:1;overflow:hidden}.aqsp-sink[data-aqsp-pointing]{caret-color:var(--_aqsp-reference)}.aqsp-popover-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.aqsp-popover-anchor{pointer-events:none;position:absolute;top:0;left:0}.aqsp-popover-anchor[inert]{visibility:hidden}.aqsp-popover{border:1px solid var(--_aqsp-border);background:var(--_aqsp-surface);width:320px;max-width:320px;color:var(--_aqsp-text);box-shadow:var(--_aqsp-popover-shadow);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans JP,sans-serif;font-size:var(--_aqsp-font-size);text-align:start;white-space:normal;cursor:default;pointer-events:auto;border-radius:8px;flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.aqsp-popover:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover[data-aqsp-popover-frame=note-tip]{border-color:var(--_aqsp-note-tip-border);background:var(--_aqsp-note-tip-surface);box-shadow:var(--_aqsp-note-tip-shadow)}.aqsp-popover-note,.aqsp-popover-comment,.aqsp-popover-link,.aqsp-popover-message{flex-direction:column;min-height:0;padding:10px 12px;display:flex}.aqsp-popover-list{flex-direction:column;min-height:0;padding:6px;display:flex}.aqsp-popover-note-tip{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;padding:8px 10px;overflow-y:auto}[data-aqsp-popover][data-aqsp-popover-rejected]{border-inline-start:3px solid var(--_aqsp-danger);padding-inline-start:9px}.aqsp-popover-title{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-title-text);align-items:baseline;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.aqsp-popover-count{color:var(--_aqsp-muted-text);font-weight:400}.aqsp-popover-textarea,.aqsp-popover-input{border:1px solid var(--_aqsp-input-border);background:var(--_aqsp-surface);width:100%;color:inherit;font:inherit;border-radius:6px;margin:0;padding:5px 8px;line-height:1.4;display:block}.aqsp-popover-textarea{resize:none;white-space:pre-wrap;flex:auto;height:104px;min-height:56px;overflow:auto}.aqsp-popover-comment .aqsp-popover-textarea{flex:none;height:64px}.aqsp-popover-input{flex:none;height:28px}.aqsp-popover-textarea:focus-visible,.aqsp-popover-input:focus-visible{border-color:var(--_aqsp-accent);outline:2px solid var(--_aqsp-accent);outline-offset:-1px}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-color:var(--_aqsp-danger)}.aqsp-popover-textarea[aria-invalid=true]:focus-visible,.aqsp-popover-input[aria-invalid=true]:focus-visible{border-color:var(--_aqsp-danger);outline-color:var(--_aqsp-danger)}.aqsp-popover-hint{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);margin:4px 0 0}[data-aqsp-popover-rejected] .aqsp-popover-hint{color:var(--_aqsp-danger-text)}.aqsp-popover-field{flex-direction:column;flex:none;gap:3px;margin:0 0 8px;display:flex}.aqsp-popover-field-label{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text)}.aqsp-popover-actions{flex:none;align-items:center;gap:6px;margin-top:8px;display:flex}.aqsp-popover-button{border:1px solid var(--_aqsp-border);background:var(--_aqsp-button-surface);min-width:56px;height:26px;color:var(--_aqsp-text);font:inherit;font-size:var(--_aqsp-font-size-small);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.aqsp-popover-button:not(:disabled):hover{border-color:var(--_aqsp-hover-border);background:var(--_aqsp-hover-surface)}.aqsp-popover-button:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:1px}.aqsp-popover-button:disabled{opacity:.5;cursor:not-allowed}.aqsp-popover-button[data-aqsp-popover-save],.aqsp-popover-button[data-aqsp-popover-post]{border-color:var(--_aqsp-primary-surface);background:var(--_aqsp-primary-surface);color:var(--_aqsp-primary-text)}.aqsp-popover-button[data-aqsp-popover-save]:not(:disabled):hover,.aqsp-popover-button[data-aqsp-popover-post]:not(:disabled):hover{border-color:var(--_aqsp-primary-hover-surface);background:var(--_aqsp-primary-hover-surface)}.aqsp-popover-button[data-aqsp-popover-close]{width:26px;min-width:0;color:var(--_aqsp-muted-text);font-size:var(--_aqsp-font-size-glyph);background:0 0;border-color:#0000;margin-inline-start:auto;padding:0;font-weight:400}.aqsp-popover-button[data-aqsp-popover-close]:not(:disabled):hover{background:var(--_aqsp-hover-surface);color:var(--_aqsp-text);border-color:#0000}.aqsp-popover-thread{overscroll-behavior:contain;flex:auto;min-height:48px;max-height:220px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.aqsp-popover-comment-item{border-top:1px solid var(--_aqsp-separator);padding:6px 0}.aqsp-popover-comment-item:first-child{border-top:0;padding-top:0}.aqsp-popover-comment-author{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-strong-text);font-weight:600}.aqsp-popover-comment-time{font-size:var(--_aqsp-font-size-x-small);color:var(--_aqsp-muted-text);font-variant-numeric:tabular-nums;margin-inline-start:6px}.aqsp-popover-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.aqsp-popover-list .aqsp-popover-input{margin-bottom:4px}.aqsp-popover-options{overscroll-behavior:contain;flex:auto;min-height:0;max-height:240px;overflow-y:auto}.aqsp-popover-option{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:5px 8px;overflow:hidden}.aqsp-popover-option:hover{background:var(--_aqsp-hover-surface)}.aqsp-popover-option[aria-selected=true]{background:var(--_aqsp-option-selected-surface);color:var(--_aqsp-option-selected-text)}.aqsp-popover-option:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover-empty{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);padding:6px 8px}.aqsp-popover-message{padding-inline-end:40px;position:relative}.aqsp-popover-message .aqsp-popover-title{margin-bottom:2px}.aqsp-popover-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.aqsp-popover-message .aqsp-popover-button[data-aqsp-popover-close]{position:absolute;inset-block-start:6px;inset-inline-end:6px}.aqsp-popover-message[data-aqsp-popover-rejected]{background:var(--_aqsp-danger-surface)}.aqsp-popover-message[data-aqsp-popover-rejected] .aqsp-popover-title{color:var(--_aqsp-danger-text)}@media (forced-colors:active){.aqsp-popover-option:hover,.aqsp-popover-option[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-style:dashed}.aqsp-popover-button[data-aqsp-popover-close]{border-color:buttontext}}[data-aqsp-empty]{width:100%;height:100%;display:block}.aqsp-freeze-divider{background:var(--_aqsp-divider-color);pointer-events:none;position:absolute}.aqsp-freeze-divider-v{width:var(--aqsp-divider-width,2px)}.aqsp-freeze-divider-h{height:var(--aqsp-divider-width,2px)}@media (forced-colors:active){.aqsp-freeze-divider{background:canvastext}}}@layer utilities;
|
|
3
|
+
@layer theme,base;@layer components{@layer components{.aqvs-scroll-pane{display:flex;position:relative}.aqvs-scroll-pane[data-self-measured=true],.aqvs-scroll-pane[data-aqvs-stretched-viewport=true]{height:100%}.aqvs-scroll-pane-content{box-sizing:border-box;flex:1;height:100%;position:relative;overflow:hidden}.aqvs-scroll-pane-content-overlay{box-sizing:border-box;padding:inherit;pointer-events:none;position:absolute;inset:0}.aqvs-scroll-pane-content-overlay-box{height:100%;position:relative;overflow:hidden}.aqvs-tap-scroll-circle{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition-property:transform;transition-duration:.1s;transition-timing-function:cubic-bezier(0,0,.2,1);display:flex;position:relative}.aqvs-tap-scroll-circle-visual-outer{border-radius:9999px;position:absolute;inset:0}.aqvs-tap-scroll-circle-gradient{background:linear-gradient(to bottom right,#1d4ed899,#60a5fa8c,#bfdbfe66);border:1px solid #fff6;border-radius:9999px;position:absolute;inset:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.aqvs-tap-scroll-circle-inner{border-radius:9999px;position:absolute;inset:18%}.aqvs-sample-visual-pupil{box-sizing:border-box;background-color:#ffffffd9;border:1px solid #ffffff80;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-sample-visual-highlight{background-color:#fffc;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-sample-visual-rod{background-color:#ffffff80;border-radius:9999px;position:absolute;top:50%;left:50%}.aqvs-scrollbar{z-index:50;cursor:default;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background-color:#fff;position:relative}.aqvs-scrollbar-horizontal{flex-direction:row;align-items:stretch;display:flex}.aqvs-scrollbar-vertical{flex-direction:column;align-items:stretch;display:flex}.aqvs-scrollbar[data-visible=false],.aqvs-scrollbar-thumb-wrapper[data-visible=false]{opacity:0;pointer-events:none}.aqvs-scrollbar-track:focus-visible,.aqvs-scroll-pane-content:focus-visible{outline:none}.aqvs-scrollbar-track:focus-visible:after,.aqvs-scroll-pane-content:focus-visible:not([data-aqvs-active-item=visible]):after{content:"";outline:2px solid var(--aqvs-focus-ring-color,#2563eb);outline-offset:-2px;pointer-events:none;position:absolute;inset:0}.aqvs-scrollbar-tap-circle-wrapper{pointer-events:auto;transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.aqvs-scrollbar-arrow-button{color:#313131;background-color:#e0e0e0;border:0 solid;justify-content:center;align-items:center;padding:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.aqvs-scrollbar-arrow-button:focus{outline-offset:2px;outline:2px solid #0000}.aqvs-scrollbar-arrow-button:disabled{cursor:not-allowed;opacity:.5}.aqvs-scrollbar-arrow-button:enabled:hover{background-color:#d4d4d4}.aqvs-scrollbar-arrow-button:enabled:focus-visible{color:#fff;background-color:#2563eb;outline:none}.aqvs-scrollbar-track{background-color:#f5f5f5;flex:1;position:relative}.aqvs-scrollbar-overlay{pointer-events:none;position:absolute;inset:0}.aqvs-scrollbar-thumb-wrapper{touch-action:none;position:absolute}.aqvs-scrollbar-thumb{transform-origin:50%;background-color:#7f7f7f;transition:transform 80ms ease-out;position:absolute}.aqvs-scrollbar-thumb[data-thumb-state=disabled]{transition:none;transform:none}.aqvs-scrollbar-thumb[data-thumb-state=hover]{background-color:#5f5f5f}.aqvs-scrollbar-thumb[data-thumb-state=dragging]{background-color:#4f4f4f;transition:transform 60ms ease-out}.aqvs-scrollbar-thumb-horizontal{inset:1.5px 0}.aqvs-scrollbar-thumb-horizontal[data-thumb-state=hover]{top:-.5px;bottom:-.5px;transform:scaleY(1.06)}.aqvs-scrollbar-thumb-horizontal[data-thumb-state=dragging]{top:-.5px;bottom:-.5px;transform:scaleY(1.12)}.aqvs-scrollbar-thumb-vertical{inset:0 1.5px}.aqvs-scrollbar-thumb-vertical[data-thumb-state=hover]{left:-.5px;right:-.5px;transform:scaleX(1.06)}.aqvs-scrollbar-thumb-vertical[data-thumb-state=dragging]{left:-.5px;right:-.5px;transform:scaleX(1.12)}.aqvs-scroll-to-edge-button{isolation:isolate;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box;min-width:44px;min-height:44px;font-family:inherit;font-weight:500;font-size:var(--aqvs-font-size-body,.8125rem);line-height:var(--aqvs-line-height-body,1.25rem);color:#fff;text-transform:uppercase;letter-spacing:.05em;background-color:#0000;border:0 solid;justify-content:center;align-items:center;padding:12px 3rem;display:inline-flex;position:relative;transform:none}.aqvs-scroll-to-edge-button:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#1f2937cc;border-radius:9999px;transition-property:transform,background-color;transition-duration:.15s;position:absolute;inset:8px 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.aqvs-scroll-to-edge-button:focus{outline-offset:2px;outline:2px solid #0000}.aqvs-scroll-to-edge-button:focus-visible{outline:none}.aqvs-scroll-to-edge-button:focus-visible:before{outline:2px solid var(--aqvs-focus-ring-color,#2563eb);outline-offset:1px}.aqvs-scroll-to-edge-button:hover:before{background-color:#374151}.aqvs-scroll-to-edge-button:active:before{transform:scale(.95)}.aqvs-scroll-to-edge-overlay{pointer-events:none;z-index:10;transition-property:opacity;transition-duration:.5s;position:absolute;inset:0}.aqvs-scroll-to-edge-overlay[data-visible=true]{opacity:1}.aqvs-scroll-to-edge-overlay[data-visible=false]{opacity:0}.aqvs-scroll-to-edge-overlay[data-visible=false] .aqvs-scroll-to-edge-button{pointer-events:none}.aqvs-scroll-to-edge-button-container{justify-content:center;display:flex;position:absolute;left:0;right:0}.aqvs-scroll-to-edge-button-container-top{top:0}.aqvs-scroll-to-edge-button-container-bottom{bottom:0}.aqvs-no-items-container{width:100%;position:absolute;top:0}.aqvs-no-items-text{text-align:center;color:#6b7280}.aqvs-item-container,.aqvs-bottom-inset{width:100%;position:absolute}.aqvs-items-boundary{contain:size layout style;height:0;position:absolute;top:0;left:0;right:0}.aqvs-items-wrapper{width:100%;position:absolute}.aqvs-live-region{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqvs-grid{grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.aqvs-grid-has-frozen-rows{grid-template-rows:auto minmax(0,1fr) auto}.aqvs-grid-has-trailing-rows{grid-template-rows:minmax(0,1fr) auto auto}.aqvs-grid-has-frozen-rows.aqvs-grid-has-trailing-rows{grid-template-rows:auto minmax(0,1fr) auto auto}.aqvs-grid-frozen-rows{min-width:0;position:relative;overflow:hidden}.aqvs-grid-frozen-band-row{position:absolute;left:0;overflow:hidden}.aqvs-grid-trailing-rows{min-width:0;position:relative;overflow:hidden}.aqvs-grid-trailing-rows-inner{position:absolute;bottom:0;left:0;right:0}.aqvs-grid-trailing-band-row{position:absolute;left:0;overflow:hidden}.aqvs-grid-main{min-width:0;min-height:0;position:relative}.aqvs-grid-row{width:100%;height:100%;transform:translateX(var(--aqvs-grid-hx-residual,0px));position:relative;overflow:visible}.aqvs-grid-cell{height:100%;position:absolute;top:0;overflow:hidden}.aqvs-grid-row.aqvs-grid-row-frozen-host{transform:none}.aqvs-grid-row-scroll{height:100%;top:0;left:var(--aqvs-grid-frozen-width,0px);right:var(--aqvs-grid-trailing-width,0px);position:absolute;overflow:hidden}.aqvs-grid-row-scroll-inner{width:100%;height:100%;transform:translateX(calc(var(--aqvs-grid-hx-residual,0px) - var(--aqvs-grid-frozen-width,0px)));position:absolute;top:0;left:0}.aqvs-grid-row-trailing{height:100%;top:0;left:max(var(--aqvs-grid-frozen-width,0px), calc(100% - var(--aqvs-grid-trailing-width,0px)));position:absolute;right:0;overflow:hidden}.aqvs-grid-row-trailing-inner{height:100%;width:var(--aqvs-grid-trailing-width,0px);position:absolute;top:0;right:0}.aqvs-grid-hbar-strip{min-width:0;padding-left:var(--aqvs-grid-frozen-width,0px);position:relative}.aqvs-grid-live-region{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqvs-grid-tap-circle-wrapper{z-index:50;pointer-events:auto;position:absolute}.aqvs-grid-tap-circle{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (forced-colors:active){.aqvs-tap-scroll-circle{outline-offset:-1px;border-radius:50%;outline:1px solid canvastext}.aqvs-scrollbar,.aqvs-scrollbar-track{outline-offset:-1px;outline:1px solid graytext}.aqvs-scrollbar-thumb{forced-color-adjust:none;background-color:canvastext}.aqvs-scrollbar-thumb[data-thumb-state=hover],.aqvs-scrollbar-thumb[data-thumb-state=dragging]{background-color:highlight}.aqvs-scrollbar-thumb[data-thumb-state=disabled]{background-color:graytext}.aqvs-scrollbar-arrow-button:enabled:focus-visible{forced-color-adjust:none;color:highlighttext;background-color:highlight}.aqvs-sample-visual-highlight,.aqvs-sample-visual-rod{forced-color-adjust:none;background-color:canvastext}.aqvs-scroll-to-edge-button:before{border:1px solid buttontext}}@media (prefers-reduced-motion:reduce){.aqvs-tap-scroll-circle,.aqvs-tap-scroll-circle *,.aqvs-grid-tap-circle,.aqvs-scrollbar-tap-circle-wrapper,.aqvs-scrollbar-arrow-button,.aqvs-scrollbar-thumb,.aqvs-scroll-to-edge-button:before,.aqvs-scroll-to-edge-overlay{transition:none!important;animation:none!important}}}.aqsp-root,.aqsp-root *,.aqsp-root :before,.aqsp-root :after{box-sizing:border-box}.aqsp-root{--_aqsp-row-header-width:var(--aqsp-row-header-width,64px);--_aqsp-col-header-height:var(--aqsp-col-header-height,24px);--_aqsp-font-size:var(--aqsp-font-size,.8125rem);--_aqsp-font-size-small:calc(var(--_aqsp-font-size) * 12 / 13);--_aqsp-font-size-x-small:calc(var(--_aqsp-font-size) * 11 / 13);--_aqsp-font-size-glyph:calc(var(--_aqsp-font-size) * 16 / 13);--_aqsp-editor-font-size:var(--_aqsp-font-size);--_aqsp-surface:var(--aqsp-surface,#fff);--_aqsp-text:var(--aqsp-text,#1f2937);--_aqsp-grid-line:var(--aqsp-grid-line,#e5e7eb);--_aqsp-border:var(--aqsp-border,#d1d5db);--_aqsp-input-border:var(--aqsp-input-border,#8b95a4);--_aqsp-accent:var(--aqsp-accent,#2563eb);--_aqsp-header-surface:var(--aqsp-header-surface,#f3f4f6);--_aqsp-header-text:var(--aqsp-header-text,#4a5361);--_aqsp-header-selected-surface:var(--aqsp-header-selected-surface,#dbeafe);--_aqsp-header-selected-text:var(--aqsp-header-selected-text,#1841b4);--_aqsp-header-row-surface:var(--aqsp-header-row-surface,#f3f4f6);--_aqsp-header-row-text:var(--aqsp-header-row-text,#1f2937);--_aqsp-header-row-font-weight:var(--aqsp-header-row-font-weight,700);--_aqsp-link:var(--aqsp-link,#163ba5);--_aqsp-note-marker:var(--aqsp-note-marker,#4b5563);--_aqsp-comment-marker:var(--aqsp-comment-marker,#eb6406);--_aqsp-danger:var(--aqsp-danger,#dc2626);--_aqsp-danger-fill:var(--aqsp-danger-fill,#dc262614);--_aqsp-danger-text:var(--aqsp-danger-text,#a41919);--_aqsp-danger-surface:var(--aqsp-danger-surface,#fef2f2);--_aqsp-selection-fill:var(--aqsp-selection-fill,#3b82f62e);--_aqsp-selection-border:var(--aqsp-selection-border,#2563ebd9);--_aqsp-drag-fill:var(--aqsp-drag-fill,#3b82f61a);--_aqsp-reference:var(--aqsp-reference,#16a24a);--_aqsp-reference-fill:var(--aqsp-reference-fill,#16a34a14);--_aqsp-fill-preview:var(--aqsp-fill-preview,#16a24a);--_aqsp-divider-color:var(--aqsp-divider-color,#858e9d);--_aqsp-popover-shadow:var(--aqsp-popover-shadow,0 1px 2px #00000014, 0 8px 24px #00000024);--_aqsp-note-tip-surface:var(--aqsp-note-tip-surface,#fffbeb);--_aqsp-note-tip-border:var(--aqsp-note-tip-border,#f59e0b);--_aqsp-note-tip-shadow:var(--aqsp-note-tip-shadow,0 2px 8px #0000001f);--_aqsp-title-text:var(--aqsp-title-text,#374151);--_aqsp-muted-text:var(--aqsp-muted-text,#4e535e);--_aqsp-strong-text:var(--aqsp-strong-text,#111827);--_aqsp-separator:var(--aqsp-separator,#f3f4f6);--_aqsp-button-surface:var(--aqsp-button-surface,#f9fafb);--_aqsp-hover-surface:var(--aqsp-hover-surface,#f3f4f6);--_aqsp-hover-border:var(--aqsp-hover-border,#9ca3af);--_aqsp-primary-surface:var(--aqsp-primary-surface,#134dce);--_aqsp-primary-hover-surface:var(--aqsp-primary-hover-surface,#173faf);--_aqsp-primary-text:var(--aqsp-primary-text,#fff);--_aqsp-option-selected-surface:var(--aqsp-option-selected-surface,#dbeafe);--_aqsp-option-selected-text:var(--aqsp-option-selected-text,#1e3a8a);background:var(--_aqsp-surface);width:100%;height:100%;color:var(--_aqsp-text);font-size:var(--_aqsp-font-size);line-height:1;position:relative;overflow:hidden}@media (pointer:coarse){.aqsp-root{--_aqsp-editor-font-size:max(1rem, 16px)}}.aqsp-zoom{grid-template-columns:var(--_aqsp-row-header-width) minmax(0, 1fr);grid-template-rows:var(--_aqsp-col-header-height) minmax(0, 1fr);transform-origin:0 0;width:100%;height:100%;display:grid}.aqsp-root[data-aqsp-headings-hidden] .aqsp-zoom{grid-template-rows:0 minmax(0,1fr);grid-template-columns:0 minmax(0,1fr)}.aqsp-reveal{pointer-events:none;visibility:hidden;width:0;height:0;position:absolute;top:0;left:0}.aqsp-corner{border-right:1px solid var(--_aqsp-border);border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);grid-area:1/1}.aqsp-col-header{border-bottom:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:1/2;position:relative;overflow:hidden}.aqsp-col-header-scroll{height:100%;position:absolute;top:0;right:0;overflow:hidden}.aqsp-row-header-scroll{width:100%;position:absolute;bottom:0;left:0;overflow:hidden}.aqsp-col-header-track{will-change:transform;position:absolute;inset:0}.aqsp-col-header-cell{border-right:1px solid var(--_aqsp-grid-line);white-space:nowrap;height:100%;color:var(--_aqsp-header-text);justify-content:center;align-items:center;display:flex;position:absolute;top:0;overflow:hidden}.aqsp-row-header{border-right:1px solid var(--_aqsp-border);background:var(--_aqsp-header-surface);-webkit-user-select:none;user-select:none;grid-area:2/1;position:relative;overflow:hidden}.aqsp-row-header-track{will-change:transform;position:absolute;top:0;left:0;right:0}.aqsp-row-header-cell{border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;color:var(--_aqsp-header-text);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;padding-right:6px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.aqsp-body{position:absolute;inset:0}.aqsp-row{cursor:default}.aqsp-cell{border-right:1px solid var(--_aqsp-grid-line);border-bottom:1px solid var(--_aqsp-grid-line);white-space:nowrap;background:var(--_aqsp-surface);align-items:center;padding:0 4px;display:flex}.aqsp-cell[data-aqsp-header-row]{background:var(--_aqsp-header-row-surface);color:var(--_aqsp-header-row-text);font-weight:var(--_aqsp-header-row-font-weight)}.aqsp-cell[data-aqsp-valign=top]{align-items:flex-start}.aqsp-cell[data-aqsp-valign=bottom]{align-items:flex-end}.aqsp-cell[data-aqsp-wrap]{white-space:pre-wrap;overflow-wrap:anywhere}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after{content:"";border:5px solid #0000;border-top-color:var(--_aqsp-note-marker);border-right-color:var(--_aqsp-note-marker);pointer-events:none;width:0;height:0;position:absolute;top:0;right:0}.aqsp-cell[data-aqsp-comment]:after{border-top-color:var(--_aqsp-comment-marker);border-right-color:var(--_aqsp-comment-marker)}.aqsp-cell[data-aqsp-invalid]:before{content:"";border:5px solid #0000;border-bottom-color:var(--_aqsp-danger);border-left-color:var(--_aqsp-danger);pointer-events:none;width:0;height:0;position:absolute;bottom:0;left:0}.aqsp-cell[data-aqsp-link]{color:var(--_aqsp-link);text-decoration:underline}.aqsp-body-stack{grid-area:2/2;position:relative}.aqsp-overlay{--_aqsp-band-row:var(--aqsp-band-row,#0084ff);--_aqsp-band-column:var(--aqsp-band-column,#42ff4f);--_aqsp-band-intersection:var(--aqsp-band-intersection,#e1ff00);--_aqsp-band-opacity:var(--aqsp-band-opacity,.2);pointer-events:none;position:absolute;inset:0;overflow:hidden}.aqsp-overlay-quad{pointer-events:none;position:absolute;overflow:hidden}.aqsp-selection-fill{background:var(--_aqsp-selection-fill);border:1px solid var(--_aqsp-selection-border);mix-blend-mode:multiply;position:absolute;top:0;left:0}.aqsp-active-frame{border:2px solid var(--_aqsp-accent);box-sizing:border-box;position:absolute;top:0;left:0}.aqsp-drag-rect{border:1px solid var(--_aqsp-accent);background:var(--_aqsp-drag-fill);position:absolute;top:0;left:0}.aqsp-drag-rect[data-aqsp-drag-mode=subtract]{border:1px dashed var(--_aqsp-danger);background:var(--_aqsp-danger-fill)}.aqsp-drag-rect[data-aqsp-drag-mode=point]{border:1px dashed var(--_aqsp-reference);background:var(--_aqsp-reference-fill)}.aqsp-band{opacity:var(--_aqsp-band-opacity);pointer-events:none;position:absolute;top:0;left:0}.aqsp-band[data-aqsp-band=row]{background:var(--_aqsp-band-row)}.aqsp-band[data-aqsp-band=column]{background:var(--_aqsp-band-column)}.aqsp-band[data-aqsp-band=intersection]{background:var(--_aqsp-band-intersection)}.aqsp-clip-marquee{position:absolute;top:0;left:0}.aqsp-clip-marquee:after{content:"";top:var(--aqsp-clip-outset-top,-3px);right:var(--aqsp-clip-outset-right,-3px);bottom:var(--aqsp-clip-outset-bottom,-3px);left:var(--aqsp-clip-outset-left,-3px);background-image:linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(90deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%), linear-gradient(0deg, var(--_aqsp-accent) 50%, var(--_aqsp-surface) 50%);background-position:0 0,8px 100%,0 8px,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 2px,8px 2px,2px 8px,2px 8px;animation:.4s linear infinite aqsp-marching-ants;position:absolute}@keyframes aqsp-marching-ants{to{background-position:8px 0,0 100%,0 0,100% 8px}}@media (prefers-reduced-motion:reduce){.aqsp-clip-marquee:after{animation:none}}.aqsp-col-resize-strip{cursor:col-resize;height:100%;position:absolute;top:0}.aqsp-row-resize-strip{cursor:row-resize;position:absolute;left:0;right:0}.aqsp-col-header .aqsp-unhide-marker{cursor:col-resize;background:repeating-linear-gradient(90deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);height:100%;position:absolute;top:0}.aqsp-row-header .aqsp-unhide-marker{cursor:row-resize;background:repeating-linear-gradient(180deg, var(--_aqsp-accent) 0 1px, transparent 1px 3px);position:absolute;left:0;right:0}.aqsp-resize-guide{background:var(--_aqsp-accent);pointer-events:none;position:absolute;top:0;left:0}.aqsp-autofill-handle{background:var(--_aqsp-accent);border:1px solid var(--_aqsp-surface);box-sizing:content-box;pointer-events:auto;cursor:crosshair;width:6px;height:6px;position:absolute;top:0;left:0}.aqsp-autofill-preview{border:1px dashed var(--_aqsp-fill-preview);position:absolute;top:0;left:0}@media (forced-colors:active){.aqsp-band{outline-offset:-2px;background:0 0;outline:2px solid highlight}.aqsp-cell[data-aqsp-note]:after,.aqsp-cell[data-aqsp-comment]:after,.aqsp-cell[data-aqsp-invalid]:before{border:1px solid canvastext;width:6px;height:6px}.aqsp-drag-rect[data-aqsp-drag-mode=point]{background:0 0;border-color:highlight}.aqsp-selection-fill{outline-offset:-2px;background:0 0;border:none;outline:2px solid highlight}.aqsp-clip-marquee:after{background-image:none;border:2px dashed highlight;animation:none}}.aqsp-col-header-cell[data-aqsp-in-selection],.aqsp-row-header-cell[data-aqsp-in-selection]{background:var(--_aqsp-header-selected-surface);color:var(--_aqsp-header-selected-text);font-weight:600}.aqsp-live-region{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aqsp-sink{opacity:0;resize:none;pointer-events:auto;cursor:default;border:0;width:1px;height:1px;padding:0;position:absolute}.aqsp-sink[data-aqsp-editing]{opacity:1;z-index:1;box-sizing:border-box;background:var(--_aqsp-surface);color:var(--_aqsp-text);caret-color:var(--_aqsp-text);font-family:inherit;font-size:var(--_aqsp-editor-font-size);white-space:pre;outline:2px solid var(--_aqsp-accent);outline-offset:-2px;cursor:text;padding:0 4px;line-height:1;overflow:hidden}.aqsp-sink[data-aqsp-pointing]{caret-color:var(--_aqsp-reference)}.aqsp-popover-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.aqsp-popover-anchor{pointer-events:none;position:absolute;top:0;left:0}.aqsp-popover-anchor[inert]{visibility:hidden}.aqsp-popover{border:1px solid var(--_aqsp-border);background:var(--_aqsp-surface);width:320px;max-width:320px;color:var(--_aqsp-text);box-shadow:var(--_aqsp-popover-shadow);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans JP,sans-serif;font-size:var(--_aqsp-font-size);text-align:start;white-space:normal;cursor:default;pointer-events:auto;border-radius:8px;flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.aqsp-popover:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover[data-aqsp-popover-frame=note-tip]{border-color:var(--_aqsp-note-tip-border);background:var(--_aqsp-note-tip-surface);box-shadow:var(--_aqsp-note-tip-shadow)}.aqsp-popover-note,.aqsp-popover-comment,.aqsp-popover-link,.aqsp-popover-message{flex-direction:column;min-height:0;padding:10px 12px;display:flex}.aqsp-popover-list{flex-direction:column;min-height:0;padding:6px;display:flex}.aqsp-popover-note-tip{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;padding:8px 10px;overflow-y:auto}[data-aqsp-popover][data-aqsp-popover-rejected]{border-inline-start:3px solid var(--_aqsp-danger);padding-inline-start:9px}.aqsp-popover-title{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-title-text);align-items:baseline;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.aqsp-popover-count{color:var(--_aqsp-muted-text);font-weight:400}.aqsp-popover-textarea,.aqsp-popover-input{border:1px solid var(--_aqsp-input-border);background:var(--_aqsp-surface);width:100%;color:inherit;font:inherit;border-radius:6px;margin:0;padding:5px 8px;line-height:1.4;display:block}.aqsp-popover-textarea{resize:none;white-space:pre-wrap;flex:auto;height:104px;min-height:56px;overflow:auto}.aqsp-popover-comment .aqsp-popover-textarea{flex:none;height:64px}.aqsp-popover-input{flex:none;height:28px}.aqsp-popover-textarea:focus-visible,.aqsp-popover-input:focus-visible{border-color:var(--_aqsp-accent);outline:2px solid var(--_aqsp-accent);outline-offset:-1px}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-color:var(--_aqsp-danger)}.aqsp-popover-textarea[aria-invalid=true]:focus-visible,.aqsp-popover-input[aria-invalid=true]:focus-visible{border-color:var(--_aqsp-danger);outline-color:var(--_aqsp-danger)}.aqsp-popover-hint{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);margin:4px 0 0}[data-aqsp-popover-rejected] .aqsp-popover-hint{color:var(--_aqsp-danger-text)}.aqsp-popover-field{flex-direction:column;flex:none;gap:3px;margin:0 0 8px;display:flex}.aqsp-popover-field-label{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text)}.aqsp-popover-actions{flex:none;align-items:center;gap:6px;margin-top:8px;display:flex}.aqsp-popover-button{border:1px solid var(--_aqsp-border);background:var(--_aqsp-button-surface);min-width:56px;height:26px;color:var(--_aqsp-text);font:inherit;font-size:var(--_aqsp-font-size-small);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.aqsp-popover-button:not(:disabled):hover{border-color:var(--_aqsp-hover-border);background:var(--_aqsp-hover-surface)}.aqsp-popover-button:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:1px}.aqsp-popover-button:disabled{opacity:.5;cursor:not-allowed}.aqsp-popover-button[data-aqsp-popover-save],.aqsp-popover-button[data-aqsp-popover-post]{border-color:var(--_aqsp-primary-surface);background:var(--_aqsp-primary-surface);color:var(--_aqsp-primary-text)}.aqsp-popover-button[data-aqsp-popover-save]:not(:disabled):hover,.aqsp-popover-button[data-aqsp-popover-post]:not(:disabled):hover{border-color:var(--_aqsp-primary-hover-surface);background:var(--_aqsp-primary-hover-surface)}.aqsp-popover-button[data-aqsp-popover-close]{width:26px;min-width:0;color:var(--_aqsp-muted-text);font-size:var(--_aqsp-font-size-glyph);background:0 0;border-color:#0000;margin-inline-start:auto;padding:0;font-weight:400}.aqsp-popover-button[data-aqsp-popover-close]:not(:disabled):hover{background:var(--_aqsp-hover-surface);color:var(--_aqsp-text);border-color:#0000}.aqsp-popover-thread{overscroll-behavior:contain;flex:auto;min-height:48px;max-height:220px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.aqsp-popover-comment-item{border-top:1px solid var(--_aqsp-separator);padding:6px 0}.aqsp-popover-comment-item:first-child{border-top:0;padding-top:0}.aqsp-popover-comment-author{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-strong-text);font-weight:600}.aqsp-popover-comment-time{font-size:var(--_aqsp-font-size-x-small);color:var(--_aqsp-muted-text);font-variant-numeric:tabular-nums;margin-inline-start:6px}.aqsp-popover-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.aqsp-popover-list .aqsp-popover-input{margin-bottom:4px}.aqsp-popover-options{overscroll-behavior:contain;flex:auto;min-height:0;max-height:240px;overflow-y:auto}.aqsp-popover-option{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:5px 8px;overflow:hidden}.aqsp-popover-option:hover{background:var(--_aqsp-hover-surface)}.aqsp-popover-option[aria-selected=true]{background:var(--_aqsp-option-selected-surface);color:var(--_aqsp-option-selected-text)}.aqsp-popover-option:focus-visible{outline:2px solid var(--_aqsp-accent);outline-offset:-2px}.aqsp-popover-empty{font-size:var(--_aqsp-font-size-small);color:var(--_aqsp-muted-text);padding:6px 8px}.aqsp-popover-message{padding-inline-end:40px;position:relative}.aqsp-popover-message .aqsp-popover-title{margin-bottom:2px}.aqsp-popover-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.aqsp-popover-message .aqsp-popover-button[data-aqsp-popover-close]{position:absolute;inset-block-start:6px;inset-inline-end:6px}.aqsp-popover-message[data-aqsp-popover-rejected]{background:var(--_aqsp-danger-surface)}.aqsp-popover-message[data-aqsp-popover-rejected] .aqsp-popover-title{color:var(--_aqsp-danger-text)}@media (forced-colors:active){.aqsp-popover-option:hover,.aqsp-popover-option[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}.aqsp-popover-textarea[aria-invalid=true],.aqsp-popover-input[aria-invalid=true]{border-style:dashed}.aqsp-popover-button[data-aqsp-popover-close]{border-color:buttontext}}[data-aqsp-empty]{width:100%;height:100%;display:block}.aqsp-freeze-divider{background:var(--_aqsp-divider-color);pointer-events:none;position:absolute}.aqsp-freeze-divider-v{width:var(--aqsp-divider-width,2px)}.aqsp-freeze-divider-h{height:var(--aqsp-divider-width,2px)}@media (forced-colors:active){.aqsp-freeze-divider{background:canvastext}}}@layer utilities;
|
package/dist/tsv.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=(e,n)=>`${e.map(t=>t.map(n).join(" ")).join(`\r
|
|
2
2
|
`)}\r
|
|
3
|
-
`,
|
|
3
|
+
`,p=e=>c(e,w),v=e=>c(e,m),w=e=>/[\t\r\n]/.test(e)||e.startsWith('"')?`"${e.replaceAll('"','""')}"`:e,m=e=>/[\t\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e,a=e=>e.endsWith(`\r
|
|
4
4
|
`)?e.slice(0,-2):e.endsWith(`
|
|
5
|
-
`)||e.endsWith("\r")?e.slice(0,-1):e,l=Symbol("row end");function*
|
|
6
|
-
`?2:1,yield l)}}function*u(e){const
|
|
7
|
-
`||e[
|
|
8
|
-
`||e[
|
|
5
|
+
`)||e.endsWith("\r")?e.slice(0,-1):e,l=Symbol("row end");function*o(e,n){let t=0;for(;;){const s=e[t]==='"'?R(e,t):T;if(s===h&&n==="prefix")return;if(typeof s=="object")yield s.value,t=s.nextIndex;else{const r=j(e,t);yield e.slice(t,r),t=r}if(t>=e.length){n==="whole"&&(yield l);return}e[t]===" "?t+=1:(t+=e[t]==="\r"&&e[t+1]===`
|
|
6
|
+
`?2:1,yield l)}}function*u(e){const n=a(e);if(n===""){yield[""];return}yield*f(o(n,"whole"))}function*d(e){yield*f(o(e,"prefix"))}function*f(e){let n=[];for(const t of e)t===l?(yield n,n=[]):n.push(t)}const g=e=>{const n=Array.from(u(e));let t=0;for(const s of n)s.length>t&&(t=s.length);return n.map(s=>s.length===t?s:[...s,...Array(t-s.length).fill("")])},O=e=>{const n=a(e);if(n==="")return{rows:1,cols:1};let t=0,s=0,r=0;for(const i of o(n,"whole"))i===l?(t+=1,r>s&&(s=r),r=0):r+=1;return{rows:t,cols:s}},T=Symbol("literal field"),h=Symbol("open quote"),R=(e,n)=>{let t="",s=n+1;for(;;){const r=e.indexOf('"',s);if(r<0)return h;if(t+=e.slice(s,r),e[r+1]==='"'){t+='"',s=r+2;continue}const i=r+1;return(i>=e.length||e[i]===" "||e[i]===`
|
|
7
|
+
`||e[i]==="\r")&&/[\t\r\n"]/.test(t)?{value:t,nextIndex:i}:T}},j=(e,n)=>{for(let t=n;t<e.length;t+=1)if(e[t]===" "||e[t]===`
|
|
8
|
+
`||e[t]==="\r")return t;return e.length};exports.iterateTsvPrefixRows=d;exports.iterateTsvRows=u;exports.measureTsv=O;exports.parseTsv=g;exports.serializeClipboardTsv=v;exports.serializeTsv=p;
|
package/dist/tsv.d.cts
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yields the rows of a text that may be only the beginning of a TSV (a file read partway, a stream not yet ended), in
|
|
3
|
+
* exactly iterateTsvRows's grammar, but only those the rest of the text cannot change: every row the text ends with a
|
|
4
|
+
* line terminator, up to the first field that opens a quote the text does not close (whether it is one quoted field or a
|
|
5
|
+
* literal one split at its line breaks is the rest's to decide). So the rows of any beginning of a TSV are the first
|
|
6
|
+
* rows of the whole: a reader of a stream can show them as final. Empty text yields no row. Unpadded.
|
|
7
|
+
* TSV の先頭だけかもしれない文字 (途中まで読んだファイル、まだ終わらないストリーム) の行を、iterateTsvRows とちょうど同じ文法で、
|
|
8
|
+
* ただし文字の続きが変えられない行だけ出す処理。文字が改行で終える行すべてを、文字が閉じない引用を開く最初の値まで出す (それが 1 つの
|
|
9
|
+
* 引用の値か、改行で割れる文字どおりの値かは続きが決める)。そのため TSV のどの先頭の行も全体の最初の行で、ストリームの読み手は
|
|
10
|
+
* それを確定したものとして見せられる。空の文字は行を出さない。埋めない。
|
|
11
|
+
*
|
|
12
|
+
* @param text - The beginning of a TSV text, as read. 読んだままの TSV の文字の先頭。
|
|
13
|
+
* @returns The rows the rest of the text cannot change, unpadded. 文字の続きが変えられない行 (埋めない)。
|
|
14
|
+
*/
|
|
15
|
+
export declare function iterateTsvPrefixRows(text: string): Generator<string[]>;
|
|
16
|
+
|
|
1
17
|
/**
|
|
2
18
|
* Yields the rows of a TSV text one at a time, in exactly parseTsv's grammar (the same quoting rule, line terminators
|
|
3
19
|
* and final-terminator handling; empty text is one row with one empty cell), WITHOUT padding them to a common width. A
|
package/dist/tsv.d.ts
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yields the rows of a text that may be only the beginning of a TSV (a file read partway, a stream not yet ended), in
|
|
3
|
+
* exactly iterateTsvRows's grammar, but only those the rest of the text cannot change: every row the text ends with a
|
|
4
|
+
* line terminator, up to the first field that opens a quote the text does not close (whether it is one quoted field or a
|
|
5
|
+
* literal one split at its line breaks is the rest's to decide). So the rows of any beginning of a TSV are the first
|
|
6
|
+
* rows of the whole: a reader of a stream can show them as final. Empty text yields no row. Unpadded.
|
|
7
|
+
* TSV の先頭だけかもしれない文字 (途中まで読んだファイル、まだ終わらないストリーム) の行を、iterateTsvRows とちょうど同じ文法で、
|
|
8
|
+
* ただし文字の続きが変えられない行だけ出す処理。文字が改行で終える行すべてを、文字が閉じない引用を開く最初の値まで出す (それが 1 つの
|
|
9
|
+
* 引用の値か、改行で割れる文字どおりの値かは続きが決める)。そのため TSV のどの先頭の行も全体の最初の行で、ストリームの読み手は
|
|
10
|
+
* それを確定したものとして見せられる。空の文字は行を出さない。埋めない。
|
|
11
|
+
*
|
|
12
|
+
* @param text - The beginning of a TSV text, as read. 読んだままの TSV の文字の先頭。
|
|
13
|
+
* @returns The rows the rest of the text cannot change, unpadded. 文字の続きが変えられない行 (埋めない)。
|
|
14
|
+
*/
|
|
15
|
+
export declare function iterateTsvPrefixRows(text: string): Generator<string[]>;
|
|
16
|
+
|
|
1
17
|
/**
|
|
2
18
|
* Yields the rows of a TSV text one at a time, in exactly parseTsv's grammar (the same quoting rule, line terminators
|
|
3
19
|
* and final-terminator handling; empty text is one row with one empty cell), WITHOUT padding them to a common width. A
|
package/dist/tsv.js
CHANGED
|
@@ -1,70 +1,76 @@
|
|
|
1
|
-
const
|
|
1
|
+
const c = (e, t) => (
|
|
2
2
|
// 終端 CRLF は必須 (Excel 実挙動)。parseTsv の「終端の改行 1 つを剥がす」規約と対 —
|
|
3
3
|
// 終端なしだと [["a"],[""]] が [["a"]] に潰れ (cut-move で clear されるべき先に旧値が残る)、
|
|
4
4
|
// [[""]] は "" になって §6.5.4-5 の空ガードに飲まれ「空セル貼り付けで clear」が不発になる
|
|
5
5
|
`${e.map((n) => n.map(t).join(" ")).join(`\r
|
|
6
6
|
`)}\r
|
|
7
7
|
`
|
|
8
|
-
),
|
|
8
|
+
), d = (e) => c(e, p), x = (e) => c(e, w), p = (e) => /[\t\r\n]/.test(e) || e.startsWith('"') ? `"${e.replaceAll('"', '""')}"` : e, w = (e) => /[\t\r\n]/.test(e) ? `"${e.replaceAll('"', '""')}"` : e, f = (e) => e.endsWith(`\r
|
|
9
9
|
`) ? e.slice(0, -2) : e.endsWith(`
|
|
10
10
|
`) || e.endsWith("\r") ? e.slice(0, -1) : e, l = /* @__PURE__ */ Symbol("row end");
|
|
11
|
-
function*
|
|
12
|
-
let
|
|
11
|
+
function* o(e, t) {
|
|
12
|
+
let n = 0;
|
|
13
13
|
for (; ; ) {
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
14
|
+
const r = e[n] === '"' ? v(e, n) : a;
|
|
15
|
+
if (r === h && t === "prefix") return;
|
|
16
|
+
if (typeof r == "object")
|
|
17
|
+
yield r.value, n = r.nextIndex;
|
|
17
18
|
else {
|
|
18
|
-
const
|
|
19
|
-
yield e.slice(
|
|
19
|
+
const s = m(e, n);
|
|
20
|
+
yield e.slice(n, s), n = s;
|
|
20
21
|
}
|
|
21
|
-
if (
|
|
22
|
-
yield l;
|
|
22
|
+
if (n >= e.length) {
|
|
23
|
+
t === "whole" && (yield l);
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
|
-
e[
|
|
26
|
+
e[n] === " " ? n += 1 : (n += e[n] === "\r" && e[n + 1] === `
|
|
26
27
|
` ? 2 : 1, yield l);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
|
-
function*
|
|
30
|
-
const t =
|
|
30
|
+
function* T(e) {
|
|
31
|
+
const t = f(e);
|
|
31
32
|
if (t === "") {
|
|
32
33
|
yield [""];
|
|
33
34
|
return;
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
yield* u(o(t, "whole"));
|
|
37
|
+
}
|
|
38
|
+
function* A(e) {
|
|
39
|
+
yield* u(o(e, "prefix"));
|
|
40
|
+
}
|
|
41
|
+
function* u(e) {
|
|
42
|
+
let t = [];
|
|
43
|
+
for (const n of e)
|
|
44
|
+
n === l ? (yield t, t = []) : t.push(n);
|
|
38
45
|
}
|
|
39
|
-
const
|
|
40
|
-
const t = Array.from(
|
|
46
|
+
const E = (e) => {
|
|
47
|
+
const t = Array.from(T(e));
|
|
41
48
|
let n = 0;
|
|
42
49
|
for (const r of t)
|
|
43
50
|
r.length > n && (n = r.length);
|
|
44
51
|
return t.map((r) => r.length === n ? r : [...r, ...Array(n - r.length).fill("")]);
|
|
45
|
-
},
|
|
46
|
-
const t =
|
|
52
|
+
}, O = (e) => {
|
|
53
|
+
const t = f(e);
|
|
47
54
|
if (t === "")
|
|
48
55
|
return { rows: 1, cols: 1 };
|
|
49
56
|
let n = 0, r = 0, s = 0;
|
|
50
|
-
for (const i of
|
|
57
|
+
for (const i of o(t, "whole"))
|
|
51
58
|
i === l ? (n += 1, s > r && (r = s), s = 0) : s += 1;
|
|
52
59
|
return { rows: n, cols: r };
|
|
53
|
-
},
|
|
60
|
+
}, a = /* @__PURE__ */ Symbol("literal field"), h = /* @__PURE__ */ Symbol("open quote"), v = (e, t) => {
|
|
54
61
|
let n = "", r = t + 1;
|
|
55
|
-
for (;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}, v = (e, t) => {
|
|
62
|
+
for (; ; ) {
|
|
63
|
+
const s = e.indexOf('"', r);
|
|
64
|
+
if (s < 0) return h;
|
|
65
|
+
if (n += e.slice(r, s), e[s + 1] === '"') {
|
|
66
|
+
n += '"', r = s + 2;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const i = s + 1;
|
|
70
|
+
return (i >= e.length || e[i] === " " || e[i] === `
|
|
71
|
+
` || e[i] === "\r") && /[\t\r\n"]/.test(n) ? { value: n, nextIndex: i } : a;
|
|
72
|
+
}
|
|
73
|
+
}, m = (e, t) => {
|
|
68
74
|
for (let n = t; n < e.length; n += 1)
|
|
69
75
|
if (e[n] === " " || e[n] === `
|
|
70
76
|
` || e[n] === "\r")
|
|
@@ -72,9 +78,10 @@ const w = (e) => {
|
|
|
72
78
|
return e.length;
|
|
73
79
|
};
|
|
74
80
|
export {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
81
|
+
A as iterateTsvPrefixRows,
|
|
82
|
+
T as iterateTsvRows,
|
|
83
|
+
O as measureTsv,
|
|
84
|
+
E as parseTsv,
|
|
85
|
+
x as serializeClipboardTsv,
|
|
86
|
+
d as serializeTsv
|
|
80
87
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiquants/spreadsheet",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Excel-grade spreadsheet grid for React: multi-cell selection, TSV/HTML clipboard, in-place editing on top of @aiquants/virtualscroll",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"**/*.css"
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"LICENSE.md"
|
|
57
57
|
],
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@aiquants/virtualscroll": "^3.22.
|
|
59
|
+
"@aiquants/virtualscroll": "^3.22.1",
|
|
60
60
|
"react": "^19.2.7",
|
|
61
61
|
"react-dom": "^19.2.7"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@aiquants/virtualscroll": "3.22.
|
|
64
|
+
"@aiquants/virtualscroll": "3.22.1",
|
|
65
65
|
"@playwright/test": "^1.59.1",
|
|
66
66
|
"@tailwindcss/cli": "^4.1.18",
|
|
67
67
|
"@testing-library/jest-dom": "^6.9.1",
|