@nubisco/ui 5.30.0 → 5.31.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.
@@ -1 +1 @@
1
- .nb-spreadsheet[data-v-df859a7e]{--nbss-row-height:32px;--nbss-header-height:36px;--nbss-cell-padding-x:.625rem;--nbss-focus-ring:var(--nb-c-primary,#6a40d0);border:1px solid var(--nb-c-border);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);font-family:var(--nb-font-family-sans,system-ui);border-radius:4px;flex-direction:column;font-size:.8125rem;line-height:1.25;display:flex;overflow:hidden}.nb-spreadsheet__toolbar[data-v-df859a7e]{border-bottom:1px solid var(--nb-c-border);background:var(--nb-c-surface);min-height:var(--nbss-header-height);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.nb-spreadsheet__scroller[data-v-df859a7e]{outline:none;max-height:70vh;position:relative;overflow:auto}.nb-spreadsheet__scroller[data-v-df859a7e]:focus-visible{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring)}.nb-spreadsheet__grid[data-v-df859a7e]{grid-auto-rows:var(--nbss-row-height);display:grid;position:relative}.nb-spreadsheet__corner[data-v-df859a7e]{z-index:5;background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);height:var(--nbss-header-height);position:sticky;top:0;left:0}.nb-spreadsheet__header[data-v-df859a7e]{z-index:3;height:var(--nbss-header-height);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);letter-spacing:.16px;text-transform:uppercase;color:var(--nb-c-text);-webkit-user-select:none;user-select:none;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:sticky;top:0}.nb-spreadsheet__header--sortable[data-v-df859a7e]{cursor:pointer}.nb-spreadsheet__header--sortable[data-v-df859a7e]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__header-label[data-v-df859a7e]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nb-spreadsheet__sort[data-v-df859a7e]{color:var(--nb-c-text-muted);margin-left:.25rem;font-size:.625rem}.nb-spreadsheet__header[data-v-df859a7e]{position:relative}.nb-spreadsheet__resize-handle[data-v-df859a7e]{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:-2px}.nb-spreadsheet__resize-handle[data-v-df859a7e]:after{content:"";background:0 0;width:2px;height:50%;transition:background .12s;position:absolute;top:25%;right:2px}.nb-spreadsheet__resize-handle[data-v-df859a7e]:hover:after{background:var(--nb-c-primary,#6a40d0)}.nb-spreadsheet__gutter[data-v-df859a7e]{background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);color:var(--nb-c-text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.6875rem;display:flex}.nb-spreadsheet__cell[data-v-df859a7e]{border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);white-space:nowrap;text-overflow:ellipsis;cursor:cell;font-variant-numeric:tabular-nums;align-items:center;transition:background-color 80ms linear;display:flex;overflow:hidden}.nb-spreadsheet__cell--left[data-v-df859a7e]{justify-content:flex-start}.nb-spreadsheet__cell--center[data-v-df859a7e]{justify-content:center}.nb-spreadsheet__cell--right[data-v-df859a7e]{justify-content:flex-end}.nb-spreadsheet__cell[data-v-df859a7e]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__cell--selected[data-v-df859a7e]{background:var(--nb-c-primary-100,color-mix(in srgb, var(--nb-c-primary,#6a40d0) 12%, var(--nb-c-surface-raised,white)))}.nb-spreadsheet__cell--focused[data-v-df859a7e]{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring);z-index:2}.nb-spreadsheet__cell--readonly[data-v-df859a7e]{background:var(--nb-c-surface);color:var(--nb-c-text-muted)}.nb-spreadsheet__cell--computed[data-v-df859a7e]{background:var(--nb-c-surface);color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell--pinned-bottom[data-v-df859a7e]{font-weight:600}.nb-spreadsheet__cell[style*="position: sticky"][style*=left]+.nb-spreadsheet__cell[data-v-df859a7e]:not([style*="position: sticky"]){box-shadow:-4px 0 4px -4px #0000001f}.nb-spreadsheet__editor[data-v-df859a7e]{z-index:10;border:2px solid var(--nbss-focus-ring);background:var(--nb-c-surface-raised,white);color:var(--nb-c-text);padding:0 calc(var(--nbss-cell-padding-x) - 2px);font:inherit;font-variant-numeric:tabular-nums;outline:none;position:absolute}
1
+ .nb-spreadsheet[data-v-d04d6e9c]{--nbss-row-height:32px;--nbss-header-height:36px;--nbss-cell-padding-x:.625rem;--nbss-focus-ring:var(--nb-c-primary,#6a40d0);border:1px solid var(--nb-c-border);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);font-family:var(--nb-font-family-sans,system-ui);border-radius:4px;flex-direction:column;font-size:.8125rem;line-height:1.25;display:flex;overflow:hidden}.nb-spreadsheet__toolbar[data-v-d04d6e9c]{border-bottom:1px solid var(--nb-c-border);background:var(--nb-c-surface);min-height:var(--nbss-header-height);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.nb-spreadsheet__scroller[data-v-d04d6e9c]{outline:none;max-height:70vh;position:relative;overflow:auto}.nb-spreadsheet__scroller[data-v-d04d6e9c]:focus-visible{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring)}.nb-spreadsheet__grid[data-v-d04d6e9c]{grid-auto-rows:var(--nbss-row-height);width:max-content;min-width:100%;display:grid;position:relative}.nb-spreadsheet__corner[data-v-d04d6e9c]{z-index:5;background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);height:var(--nbss-header-height);position:sticky;top:0;left:0}.nb-spreadsheet__header[data-v-d04d6e9c]{z-index:3;height:var(--nbss-header-height);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);letter-spacing:.16px;text-transform:uppercase;color:var(--nb-c-text);-webkit-user-select:none;user-select:none;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:sticky;top:0}.nb-spreadsheet__header--sortable[data-v-d04d6e9c]{cursor:pointer}.nb-spreadsheet__header--sortable[data-v-d04d6e9c]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__header-label[data-v-d04d6e9c]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nb-spreadsheet__sort[data-v-d04d6e9c]{color:var(--nb-c-text-muted);margin-left:.25rem;font-size:.625rem}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:-2px}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]:after{content:"";background:0 0;width:2px;height:50%;transition:background .12s;position:absolute;top:25%;right:2px}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]:hover:after{background:var(--nb-c-primary,#6a40d0)}.nb-spreadsheet__gutter[data-v-d04d6e9c]{background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);color:var(--nb-c-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;display:flex;overflow:hidden}.nb-spreadsheet__gutter--pinned-top[data-v-d04d6e9c],.nb-spreadsheet__gutter--pinned-bottom[data-v-d04d6e9c]{color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell[data-v-d04d6e9c]{border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);white-space:nowrap;text-overflow:ellipsis;cursor:cell;font-variant-numeric:tabular-nums;align-items:center;transition:background-color 80ms linear;display:flex;overflow:hidden}.nb-spreadsheet__cell--left[data-v-d04d6e9c]{justify-content:flex-start}.nb-spreadsheet__cell--center[data-v-d04d6e9c]{justify-content:center}.nb-spreadsheet__cell--right[data-v-d04d6e9c]{justify-content:flex-end}.nb-spreadsheet__cell[data-v-d04d6e9c]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__cell--selected[data-v-d04d6e9c]{background:var(--nb-c-primary-100,color-mix(in srgb, var(--nb-c-primary,#6a40d0) 12%, var(--nb-c-surface-raised,white)))}.nb-spreadsheet__cell--focused[data-v-d04d6e9c]{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring);z-index:2}.nb-spreadsheet__cell--readonly[data-v-d04d6e9c]{background:var(--nb-c-surface);color:var(--nb-c-text-muted)}.nb-spreadsheet__cell--computed[data-v-d04d6e9c]{background:var(--nb-c-surface);color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell--pinned-bottom[data-v-d04d6e9c]{font-weight:600}.nb-spreadsheet__cell[style*="position: sticky"][style*=left]+.nb-spreadsheet__cell[data-v-d04d6e9c]:not([style*="position: sticky"]){box-shadow:-4px 0 4px -4px #0000001f}.nb-spreadsheet__editor[data-v-d04d6e9c]{z-index:10;border:2px solid var(--nbss-focus-ring);background:var(--nb-c-surface-raised,white);color:var(--nb-c-text);padding:0 calc(var(--nbss-cell-padding-x) - 2px);font:inherit;font-variant-numeric:tabular-nums;outline:none;position:absolute}@media (width<=671.98px) and (pointer:coarse),(pointer:coarse) and (hover:none) and (height<=500px){.nb-spreadsheet__editor[data-v-d04d6e9c]{font-size:16px}}
package/dist/ui.css CHANGED
@@ -95,4 +95,4 @@
95
95
  .nb-video{width:100%;position:relative;overflow:hidden}.nb-video__media{object-fit:cover;width:100%;height:100%;display:block}.nb-video--contain .nb-video__media{object-fit:contain}.nb-video .nb-video__toggle{inset-inline-end:calc(var(--nb-base-unit) * 1.5);bottom:calc(var(--nb-base-unit) * 1.5);opacity:.85;border-radius:999px;position:absolute}.nb-video .nb-video__toggle:hover,.nb-video .nb-video__toggle:focus-visible{opacity:1}@media (width<=671.98px) and (pointer:coarse),(pointer:coarse) and (hover:none) and (height<=500px){.nb-video .nb-video__toggle{min-width:44px;min-height:44px}}
96
96
  .nb-walkthrough[data-v-da2efbb1]{z-index:var(--nb-zindex-modal);position:fixed;inset:0}.nb-walkthrough--scrim[data-v-da2efbb1]{width:100%;height:100%;position:absolute;inset:0}.nb-walkthrough--scrim-fill[data-v-da2efbb1]{fill:var(--nb-c-scrim-strong)}.nb-walkthrough--ring[data-v-da2efbb1]{fill:none;stroke:var(--nb-c-primary);stroke-width:2px}.nb-walkthrough--popover[data-v-da2efbb1]{width:calc(var(--nb-base-unit) * 40);max-width:calc(100vw - var(--nb-base-unit) * 4);padding:calc(var(--nb-base-unit) * 2);border:1px solid var(--nb-c-border);border-radius:var(--nb-radius-popover);--nb-radius-context:var(--nb-radius-popover);background:var(--nb-c-surface);color:var(--nb-c-text);box-shadow:0 calc(var(--nb-base-unit) * 1.5) calc(var(--nb-base-unit) * 4) var(--nb-c-scrim);animation:nb-walkthrough-in-da2efbb1 var(--nb-animation-fast) ease-out;position:absolute}.nb-walkthrough--popover[data-v-da2efbb1]:focus{outline:none}.nb-walkthrough--popover[data-v-da2efbb1]:focus-visible{outline:2px solid var(--nb-c-focus-ring);outline-offset:2px}.nb-walkthrough--popover-centered[data-v-da2efbb1]{top:50%;left:50%;transform:translate(-50%,-50%)}.nb-walkthrough--title[data-v-da2efbb1]{margin:0 0 calc(var(--nb-base-unit) * .75);font-family:var(--nb-type-heading-01-family);font-size:var(--nb-type-heading-01-size);font-weight:var(--nb-type-heading-01-weight);line-height:var(--nb-type-heading-01-line-height);color:var(--nb-c-text)}.nb-walkthrough--body[data-v-da2efbb1]{font-family:var(--nb-type-body-md-family);font-size:var(--nb-type-body-md-size);font-weight:var(--nb-type-body-md-weight);line-height:var(--nb-type-body-md-line-height);color:var(--nb-c-text-muted)}.nb-walkthrough--body[data-v-da2efbb1] p{margin:0 0 calc(var(--nb-base-unit) * .75)}.nb-walkthrough--body[data-v-da2efbb1] p:last-child{margin-bottom:0}.nb-walkthrough--footer[data-v-da2efbb1]{justify-content:space-between;align-items:center;gap:var(--nb-base-unit);margin-top:calc(var(--nb-base-unit) * 2);padding-top:calc(var(--nb-base-unit) * 1.5);border-top:1px solid var(--nb-c-border);display:flex}.nb-walkthrough--progress[data-v-da2efbb1]{font-family:var(--nb-type-label-sm-family);font-size:var(--nb-type-label-sm-size);font-weight:var(--nb-type-label-sm-weight);line-height:var(--nb-type-label-sm-line-height);color:var(--nb-c-text-subtle);white-space:nowrap;margin:0}.nb-walkthrough--actions[data-v-da2efbb1]{align-items:center;gap:calc(var(--nb-base-unit) * .75);display:flex}@keyframes nb-walkthrough-in-da2efbb1{0%{opacity:0}to{opacity:1}}.nb-walkthrough--no-motion .nb-walkthrough--popover[data-v-da2efbb1]{animation:none}@media (prefers-reduced-motion:reduce){.nb-walkthrough--popover[data-v-da2efbb1]{animation:none}}
97
97
  .nb-wireframe[data-v-0fbb2d4b]{--nb-wireframe-ink:var(--nb-c-text-subtle,#8a8a96);--nb-wireframe-accent:var(--nb-c-primary,#5856a9);--nb-wireframe-bg:var(--nb-c-surface,#fff);aspect-ratio:16/10;background:var(--nb-wireframe-bg);border:1px solid var(--nb-c-border,#e4e4ea);border-radius:var(--nb-radius-sm,6px);color:var(--nb-wireframe-ink);flex-direction:column;justify-content:center;gap:8px;padding:10px 12px;display:flex;overflow:hidden;container-type:size}.nb-wireframe--dark[data-v-0fbb2d4b]{--nb-wireframe-bg:#16161c;--nb-wireframe-ink:#9a9aac}.nb-wireframe__row[data-v-0fbb2d4b]{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:8px;display:grid}.nb-wireframe__col[data-v-0fbb2d4b]{flex-direction:column;gap:4px;min-width:0;display:flex}.nb-wireframe__col--center[data-v-0fbb2d4b]{text-align:center;align-items:center}.nb-wireframe__col--end[data-v-0fbb2d4b]{align-items:flex-end}.nb-wireframe__bar[data-v-0fbb2d4b]{opacity:.35;background:currentColor;border-radius:2px;width:100%;height:3px;display:block}.nb-wireframe__bar--eyebrow[data-v-0fbb2d4b]{background:var(--nb-wireframe-accent);opacity:.7;width:28%;height:3px}.nb-wireframe__bar--title[data-v-0fbb2d4b]{opacity:.75;width:76%;height:7px}.nb-wireframe__bar--heading[data-v-0fbb2d4b]{opacity:.6;width:58%;height:5px}.nb-wireframe__bar--short[data-v-0fbb2d4b]{width:62%}.nb-wireframe__lines[data-v-0fbb2d4b]{flex-direction:column;gap:3px;width:100%;display:flex}.nb-wireframe__lines .nb-wireframe__bar--line[data-v-0fbb2d4b]:last-child:not(:first-child){width:70%}.nb-wireframe__col--center .nb-wireframe__lines[data-v-0fbb2d4b]{align-items:center}.nb-wireframe__inline[data-v-0fbb2d4b]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.nb-wireframe__pill[data-v-0fbb2d4b]{border-radius:4px;width:22px;height:7px;display:block}.nb-wireframe__pill--primary[data-v-0fbb2d4b]{background:var(--nb-wireframe-accent)}.nb-wireframe__pill--outline[data-v-0fbb2d4b]{opacity:.6;border:1px solid}.nb-wireframe__pill--chip[data-v-0fbb2d4b]{opacity:.3;background:currentColor;width:14px;height:5px}.nb-wireframe__pill--active[data-v-0fbb2d4b]{background:var(--nb-wireframe-accent);opacity:1}.nb-wireframe__box[data-v-0fbb2d4b]{opacity:.22;background:currentColor;border-radius:3px;width:100%;display:block}.nb-wireframe__box--image[data-v-0fbb2d4b]{aspect-ratio:4/3;width:auto;max-width:100%;max-height:62cqh}.nb-wireframe__box--device[data-v-0fbb2d4b]{aspect-ratio:16/11;opacity:1;background:0 0;border:2px solid;width:auto;max-width:100%;max-height:72cqh;padding:2px}.nb-wireframe__box--icon[data-v-0fbb2d4b]{aspect-ratio:auto;width:10px;height:10px}.nb-wireframe__screen[data-v-0fbb2d4b]{opacity:.22;background:currentColor;border-radius:1px;width:100%;height:100%;display:block}.nb-wireframe__cards[data-v-0fbb2d4b]{gap:4px;width:100%;display:grid}.nb-wireframe__card[data-v-0fbb2d4b]{opacity:.8;border:1px solid;border-radius:3px;flex-direction:column;gap:3px;padding:4px;display:flex}.nb-wireframe__card--tile[data-v-0fbb2d4b]{aspect-ratio:1;opacity:.22;background:currentColor;border:0}.nb-wireframe__item[data-v-0fbb2d4b]{align-items:center;gap:3px;display:flex}.nb-wireframe__dot[data-v-0fbb2d4b]{background:var(--nb-wireframe-accent);border-radius:50%;flex:none;width:3px;height:3px}.nb-wireframe__field[data-v-0fbb2d4b]{opacity:.5;border:1px solid;border-radius:2px;flex:1;min-width:30px;height:7px;display:block}.nb-wireframe__quote[data-v-0fbb2d4b]{border-left:2px solid var(--nb-wireframe-accent);flex-direction:column;gap:3px;width:100%;padding-left:5px;display:flex}.nb-wireframe__divider[data-v-0fbb2d4b]{opacity:.25;background:currentColor;width:100%;height:1px;display:block}
98
- .nb-spreadsheet[data-v-df859a7e]{--nbss-row-height:32px;--nbss-header-height:36px;--nbss-cell-padding-x:.625rem;--nbss-focus-ring:var(--nb-c-primary,#6a40d0);border:1px solid var(--nb-c-border);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);font-family:var(--nb-font-family-sans,system-ui);border-radius:4px;flex-direction:column;font-size:.8125rem;line-height:1.25;display:flex;overflow:hidden}.nb-spreadsheet__toolbar[data-v-df859a7e]{border-bottom:1px solid var(--nb-c-border);background:var(--nb-c-surface);min-height:var(--nbss-header-height);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.nb-spreadsheet__scroller[data-v-df859a7e]{outline:none;max-height:70vh;position:relative;overflow:auto}.nb-spreadsheet__scroller[data-v-df859a7e]:focus-visible{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring)}.nb-spreadsheet__grid[data-v-df859a7e]{grid-auto-rows:var(--nbss-row-height);display:grid;position:relative}.nb-spreadsheet__corner[data-v-df859a7e]{z-index:5;background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);height:var(--nbss-header-height);position:sticky;top:0;left:0}.nb-spreadsheet__header[data-v-df859a7e]{z-index:3;height:var(--nbss-header-height);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);letter-spacing:.16px;text-transform:uppercase;color:var(--nb-c-text);-webkit-user-select:none;user-select:none;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:sticky;top:0}.nb-spreadsheet__header--sortable[data-v-df859a7e]{cursor:pointer}.nb-spreadsheet__header--sortable[data-v-df859a7e]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__header-label[data-v-df859a7e]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nb-spreadsheet__sort[data-v-df859a7e]{color:var(--nb-c-text-muted);margin-left:.25rem;font-size:.625rem}.nb-spreadsheet__header[data-v-df859a7e]{position:relative}.nb-spreadsheet__resize-handle[data-v-df859a7e]{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:-2px}.nb-spreadsheet__resize-handle[data-v-df859a7e]:after{content:"";background:0 0;width:2px;height:50%;transition:background .12s;position:absolute;top:25%;right:2px}.nb-spreadsheet__resize-handle[data-v-df859a7e]:hover:after{background:var(--nb-c-primary,#6a40d0)}.nb-spreadsheet__gutter[data-v-df859a7e]{background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);color:var(--nb-c-text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.6875rem;display:flex}.nb-spreadsheet__cell[data-v-df859a7e]{border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);white-space:nowrap;text-overflow:ellipsis;cursor:cell;font-variant-numeric:tabular-nums;align-items:center;transition:background-color 80ms linear;display:flex;overflow:hidden}.nb-spreadsheet__cell--left[data-v-df859a7e]{justify-content:flex-start}.nb-spreadsheet__cell--center[data-v-df859a7e]{justify-content:center}.nb-spreadsheet__cell--right[data-v-df859a7e]{justify-content:flex-end}.nb-spreadsheet__cell[data-v-df859a7e]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__cell--selected[data-v-df859a7e]{background:var(--nb-c-primary-100,color-mix(in srgb, var(--nb-c-primary,#6a40d0) 12%, var(--nb-c-surface-raised,white)))}.nb-spreadsheet__cell--focused[data-v-df859a7e]{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring);z-index:2}.nb-spreadsheet__cell--readonly[data-v-df859a7e]{background:var(--nb-c-surface);color:var(--nb-c-text-muted)}.nb-spreadsheet__cell--computed[data-v-df859a7e]{background:var(--nb-c-surface);color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell--pinned-bottom[data-v-df859a7e]{font-weight:600}.nb-spreadsheet__cell[style*="position: sticky"][style*=left]+.nb-spreadsheet__cell[data-v-df859a7e]:not([style*="position: sticky"]){box-shadow:-4px 0 4px -4px #0000001f}.nb-spreadsheet__editor[data-v-df859a7e]{z-index:10;border:2px solid var(--nbss-focus-ring);background:var(--nb-c-surface-raised,white);color:var(--nb-c-text);padding:0 calc(var(--nbss-cell-padding-x) - 2px);font:inherit;font-variant-numeric:tabular-nums;outline:none;position:absolute}
98
+ .nb-spreadsheet[data-v-d04d6e9c]{--nbss-row-height:32px;--nbss-header-height:36px;--nbss-cell-padding-x:.625rem;--nbss-focus-ring:var(--nb-c-primary,#6a40d0);border:1px solid var(--nb-c-border);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);font-family:var(--nb-font-family-sans,system-ui);border-radius:4px;flex-direction:column;font-size:.8125rem;line-height:1.25;display:flex;overflow:hidden}.nb-spreadsheet__toolbar[data-v-d04d6e9c]{border-bottom:1px solid var(--nb-c-border);background:var(--nb-c-surface);min-height:var(--nbss-header-height);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.nb-spreadsheet__scroller[data-v-d04d6e9c]{outline:none;max-height:70vh;position:relative;overflow:auto}.nb-spreadsheet__scroller[data-v-d04d6e9c]:focus-visible{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring)}.nb-spreadsheet__grid[data-v-d04d6e9c]{grid-auto-rows:var(--nbss-row-height);width:max-content;min-width:100%;display:grid;position:relative}.nb-spreadsheet__corner[data-v-d04d6e9c]{z-index:5;background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);height:var(--nbss-header-height);position:sticky;top:0;left:0}.nb-spreadsheet__header[data-v-d04d6e9c]{z-index:3;height:var(--nbss-header-height);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);letter-spacing:.16px;text-transform:uppercase;color:var(--nb-c-text);-webkit-user-select:none;user-select:none;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:sticky;top:0}.nb-spreadsheet__header--sortable[data-v-d04d6e9c]{cursor:pointer}.nb-spreadsheet__header--sortable[data-v-d04d6e9c]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__header-label[data-v-d04d6e9c]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nb-spreadsheet__sort[data-v-d04d6e9c]{color:var(--nb-c-text-muted);margin-left:.25rem;font-size:.625rem}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:-2px}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]:after{content:"";background:0 0;width:2px;height:50%;transition:background .12s;position:absolute;top:25%;right:2px}.nb-spreadsheet__resize-handle[data-v-d04d6e9c]:hover:after{background:var(--nb-c-primary,#6a40d0)}.nb-spreadsheet__gutter[data-v-d04d6e9c]{background:var(--nb-c-surface);border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);color:var(--nb-c-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;display:flex;overflow:hidden}.nb-spreadsheet__gutter--pinned-top[data-v-d04d6e9c],.nb-spreadsheet__gutter--pinned-bottom[data-v-d04d6e9c]{color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell[data-v-d04d6e9c]{border-right:1px solid var(--nb-c-border);border-bottom:1px solid var(--nb-c-border);padding:0 var(--nbss-cell-padding-x);background:var(--nb-c-surface-raised,var(--nb-c-surface));color:var(--nb-c-text);white-space:nowrap;text-overflow:ellipsis;cursor:cell;font-variant-numeric:tabular-nums;align-items:center;transition:background-color 80ms linear;display:flex;overflow:hidden}.nb-spreadsheet__cell--left[data-v-d04d6e9c]{justify-content:flex-start}.nb-spreadsheet__cell--center[data-v-d04d6e9c]{justify-content:center}.nb-spreadsheet__cell--right[data-v-d04d6e9c]{justify-content:flex-end}.nb-spreadsheet__cell[data-v-d04d6e9c]:hover{background:var(--nb-c-surface-hover,var(--nb-c-surface))}.nb-spreadsheet__cell--selected[data-v-d04d6e9c]{background:var(--nb-c-primary-100,color-mix(in srgb, var(--nb-c-primary,#6a40d0) 12%, var(--nb-c-surface-raised,white)))}.nb-spreadsheet__cell--focused[data-v-d04d6e9c]{box-shadow:inset 0 0 0 2px var(--nbss-focus-ring);z-index:2}.nb-spreadsheet__cell--readonly[data-v-d04d6e9c]{background:var(--nb-c-surface);color:var(--nb-c-text-muted)}.nb-spreadsheet__cell--computed[data-v-d04d6e9c]{background:var(--nb-c-surface);color:var(--nb-c-text);font-weight:600}.nb-spreadsheet__cell--pinned-bottom[data-v-d04d6e9c]{font-weight:600}.nb-spreadsheet__cell[style*="position: sticky"][style*=left]+.nb-spreadsheet__cell[data-v-d04d6e9c]:not([style*="position: sticky"]){box-shadow:-4px 0 4px -4px #0000001f}.nb-spreadsheet__editor[data-v-d04d6e9c]{z-index:10;border:2px solid var(--nbss-focus-ring);background:var(--nb-c-surface-raised,white);color:var(--nb-c-text);padding:0 calc(var(--nbss-cell-padding-x) - 2px);font:inherit;font-variant-numeric:tabular-nums;outline:none;position:absolute}@media (width<=671.98px) and (pointer:coarse),(pointer:coarse) and (hover:none) and (height<=500px){.nb-spreadsheet__editor[data-v-d04d6e9c]{font-size:16px}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nubisco/ui",
3
- "version": "5.30.0",
3
+ "version": "5.31.0",
4
4
  "description": "Vue 3 UI component library",
5
5
  "packageManager": "pnpm@12.3.4+sha512.961aa41fb077da3a04a441d9f8e15ebc0c96da8ef710b2eb67bf9ee7cb0610eabd48f1fd85f51cffe73846785fa0f87c56a3a872a1d893f8446741b5cce45457",
6
6
  "repository": {
@@ -1,4 +0,0 @@
1
- const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./composables/useReducedMotion.composable.cjs`),n=require(`./utils/tourTarget.helper.cjs`),r=require(`./composables/useCommandPalette.composable.cjs`),i=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`);let a=require(`vue`);var o=e.t({default:()=>s});function s(e){e.directive(`nb-context-menu`,{mounted(e,t){let n=e=>{e.preventDefault(),typeof t.value==`function`&&t.value({x:e.clientX,y:e.clientY})};e.__nbContextMenuHandler__=n,e.addEventListener(`contextmenu`,n)},updated(e,t){e.__nbContextMenuHandler__&&e.removeEventListener(`contextmenu`,e.__nbContextMenuHandler__);let n=e=>{e.preventDefault(),typeof t.value==`function`&&t.value({x:e.clientX,y:e.clientY})};e.__nbContextMenuHandler__=n,e.addEventListener(`contextmenu`,n)},unmounted(e){e.__nbContextMenuHandler__&&(e.removeEventListener(`contextmenu`,e.__nbContextMenuHandler__),delete e.__nbContextMenuHandler__)}})}var c=e.t({devWarn:()=>C,renderTooltipContent:()=>T}),l=new Set([`span`,`div`,`p`,`b`,`strong`,`em`,`i`,`u`,`s`,`small`,`code`,`kbd`,`br`,`ul`,`ol`,`li`]),u=new Set([`br`]),d=new Set([`class`,`style`,`dir`,`lang`]),f=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`),p=new Set(`color.background-color.font-family.font-size.font-style.font-variant.font-weight.letter-spacing.line-height.text-align.text-decoration.text-transform.white-space.word-break.overflow-wrap.opacity.display.flex-direction.align-items.justify-content.gap.margin.margin-top.margin-right.margin-bottom.margin-left.padding.padding-top.padding-right.padding-bottom.padding-left.max-width.min-width.border-radius`.split(`.`)),m=/url\(|image-set\(|expression\(|javascript:|@import|\\/i,h=/^[A-Za-z_-][A-Za-z0-9_-]*$/,g=e=>e.split(`;`).map(e=>{let t=e.indexOf(`:`);if(t<0)return``;let n=e.slice(0,t).trim().toLowerCase(),r=e.slice(t+1).trim();return!n||!r?``:p.has(n)?m.test(r)?(C(`style-value:${n}`,`The value of "${n}" was dropped: tooltip content may not load a resource or call a CSS function that does.`),``):`${n}: ${r}`:(C(`style:${n}`,`"${n}" is not an allowed tooltip content style property and was dropped.`),``)}).filter(Boolean).join(`; `),_=e=>e.split(/\s+/).filter(e=>e?h.test(e)?!0:(C(`class:${e}`,`"${e}" is not a valid class token for tooltip content and was dropped.`),!1):!1).join(` `),v=(e,t)=>e===`style`?g(t):e===`class`?_(t):t,ee=new Set([`b`,`strong`,`em`,`i`,`u`,`s`,`small`,`code`,`kbd`,`br`,`p`]),y={"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#039;`},b=e=>e.replace(/&(?!(?:[a-zA-Z][a-zA-Z0-9]{1,10}|#\d{1,7}|#[xX][0-9a-fA-F]{1,6});)/g,`&amp;`).replace(/[<>"']/g,e=>y[e]),x=e=>e.split(/(<[^<>]*>)/g).map(e=>{if(e.startsWith(`<`)&&e.endsWith(`>`)){let t=/^<\s*(\/?)\s*([a-zA-Z][a-zA-Z0-9]*)\s*\/?\s*>$/.exec(e),n=t?.[2]?.toLowerCase();return n&&ee.has(n)?`<${t[1]}${n}>`:(n&&C(`string-tag:${n}`,`<${n}> is not allowed in a tooltip string and was shown as text. Use the structured content form for anything richer.`),b(e))}return b(e).replace(/\n/g,`<br>`)}).join(``),S=new Set,C=(e,t)=>{typeof process<`u`&&process.env.NODE_ENV===`production`||S.has(e)||(S.add(e),console.warn(`[nb-tooltip] ${t}`))},w=e=>{if(Array.isArray(e))return e.map(e=>w(e)).join(``);if(!e||typeof e!=`object`||!e.component)return``;let{component:t,props:n={},children:r,content:i}=e,a=r===void 0?i:r,o=Array.isArray(a)?w(a):a===void 0?``:x(String(a)),s=String(t).toLowerCase();if(!l.has(s))return C(`tag:${s}`,`<${s}> is not allowed in tooltip content and was dropped. Allowed tags: ${[...l].join(`, `)}.`),o;let c=Object.entries(n).filter(([e])=>d.has(e)?!0:(C(`prop:${e}`,`"${e}" is not an allowed tooltip content prop and was dropped. Allowed props: ${[...d].join(`, `)}.`),!1)).map(([e,t])=>[e,v(e,String(t))]).filter(([,e])=>e!==``).map(([e,t])=>`${e}="${f(t)}"`).join(` `),p=`<${s}${c?` ${c}`:``}>`;return u.has(s)?p:`${p}${o}</${s}>`},T=e=>e?typeof e==`string`?x(e):Array.isArray(e)?w(e):``:``,E=e.t({default:()=>Ue,dismissAllTooltips:()=>tt}),D=e=>e.status??e.flavor??`default`,O=e=>e.chipClass??e.classExtra,k=new Set,te=0,ne=()=>`nb-tooltip-${++te}`,re=900,A=4e3,ie=500,j=0,M=(e,t)=>{if(!e)return!1;let n=Date.now()-e;return n>=0&&n<t},N=!1,P=()=>{if(N||typeof document>`u`)return;N=!0;let e=e=>{if(k.size===0)return;let t=e?.target;t instanceof Element&&t.closest(`.nb-tooltip`)||et(`dismiss`)};document.addEventListener(`pointerdown`,()=>{j=Date.now()},!0),document.addEventListener(`dragstart`,()=>e(),!0),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e()},!0),document.addEventListener(`pointerdown`,e,!0),window.addEventListener(`blur`,e),document.addEventListener(`mouseleave`,e)},ae=200,oe=1e3,se=2,ce=e=>{let t=e.tooltipElement;if(!t)return!1;if(t.__hovered__)return!0;try{return t.isConnected&&t.matches(`:hover`)}catch{return!1}},F=e=>{if(!e.isConnected)return!1;if(ce(e)||e.__trigger__===`focus`&&e.contains(document.activeElement)||e.__trigger__===`touch`&&M(e.__lastTouchAt__,A))return!0;try{return e.matches(`:hover`)}catch{return!0}},I=e=>{clearTimeout(e.__watchdogTimer__),e.__watchdogTimer__=void 0,e.__watchdogMisses__=0},le=e=>{I(e);let t=()=>{if(!e.__chips__?.size){I(e);return}if(F(e))e.__watchdogMisses__=0;else{if(e.__watchdogMisses__=(e.__watchdogMisses__??0)+1,!e.isConnected){X(e,!0,`program`);return}if(e.__watchdogMisses__>=se){Je(e,`dismiss`);return}}e.__watchdogTimer__=setTimeout(t,oe)};e.__watchdogTimer__=setTimeout(t,oe)},L=new Set,R=null,ue=e=>`${Math.round(e.top)}:${Math.round(e.left)}:${Math.round(e.width)}:${Math.round(e.height)}`,de=e=>{if(typeof getComputedStyle!=`function`)return!1;let t;try{t=getComputedStyle(e)}catch{return!1}let n=`${t.overflow} ${t.overflowX} ${t.overflowY}`;return/hidden|scroll|auto|clip|overlay/.test(n)},fe=e=>{let t=[],n=e.parentElement;for(;n&&n!==document.body&&n!==document.documentElement;)de(n)&&t.push(n),n=n.parentElement;return t},z=e=>!(e.width===0&&e.height===0&&e.top===0&&e.left===0),B=(e,t)=>{if(!e.isConnected)return!1;if(!z(t))return!0;if(t.width===0||t.height===0||!(t.bottom>0&&t.right>0&&t.top<window.innerHeight&&t.left<window.innerWidth))return!1;for(let n of e.__clippers__??[]){if(!n.isConnected)continue;let e=n.getBoundingClientRect();if(z(e)&&(t.bottom<=e.top||t.top>=e.bottom||t.right<=e.left||t.left>=e.right))return!1}return!0},V=e=>{let t=e.tooltipElement;if(!t||!e.__chips__?.size){L.delete(e);return}let n=e.getBoundingClientRect();if(!B(e,n)){e.__offscreenReported__||(e.__offscreenReported__=!0,Je(e,`dismiss`));return}e.__offscreenReported__=!1,e.__lastRect__=ue(n),e.__side__!==`cursor`&&Z(e,t,e.__requestedSide__??e.__side__)},H=()=>{G();for(let e of Array.from(L))V(e)},pe=100,me=320,U=0,W=0,G=()=>{W=Date.now()+me},K=()=>{if(L.size===0){R=null;return}let e=Date.now();if(e>=W&&e-U<pe){R=requestAnimationFrame(K);return}U=e;for(let e of Array.from(L)){if(!e.tooltipElement){L.delete(e);continue}ue(e.getBoundingClientRect())!==e.__lastRect__&&(G(),V(e))}R=requestAnimationFrame(K)},q=!1,he=e=>{L.add(e),e.__lastRect__=void 0,e.__clippers__=fe(e),!(typeof window>`u`)&&(q||(q=!0,document.addEventListener(`scroll`,H,{capture:!0,passive:!0}),window.addEventListener(`resize`,H,{passive:!0})),R===null&&typeof requestAnimationFrame==`function`&&(R=requestAnimationFrame(K)))},J=e=>{L.delete(e),e.__lastRect__=void 0,e.__clippers__=void 0,!(L.size>0||typeof window>`u`)&&(q&&(q=!1,document.removeEventListener(`scroll`,H,{capture:!0}),window.removeEventListener(`resize`,H)),R!==null&&typeof cancelAnimationFrame==`function`&&(cancelAnimationFrame(R),R=null))},ge=(e,n,r)=>{if(e.__chips__?.delete(n),clearTimeout(n.__removeTimer__),n.__removeTimer__=void 0,r||t.prefersReducedMotion()){n.remove();return}n.style.animation=`tooltipDisappear ${ae}ms ease-in-out forwards`,n.__removeTimer__=setTimeout(()=>{n.__removeTimer__=void 0,n.remove()},ae)},_e=(e,t)=>{if(J(e),e.__trigger__=void 0,e.__side__=void 0,e.__chips__)for(let n of Array.from(e.__chips__))ge(e,n,t);e.tooltipElement=void 0,e.__lastContent__=void 0,I(e)},ve=`a[href], button, input, select, textarea, summary, [tabindex]`,ye=`data-nb-tooltip-anchor`,be=(e,t)=>{let n=t.target;if(!(n instanceof Element)||n===e)return!0;let r=n.closest(`[${ye}]`);return r===null||r===e},xe=`button, a[href], [role="button"], [role="tab"], [role="menuitem"], input, select, textarea, label`,Se=e=>{let t=e.closest(xe);return!t||t.disabled===!0?!1:t.getAttribute(`aria-disabled`)!==`true`},Y=e=>{if(!e)return``;if(typeof e==`string`)return e.replace(/<[^>]*>/g,` `).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#039;/g,`'`).replace(/\s+/g,` `).trim();if(Array.isArray(e))return e.map(e=>Y(e)).filter(Boolean).join(` `);if(typeof e==`object`){let t=e;return Y(t.children??t.content)}return``},Ce=e=>[Y(e.header),Y(e.body),Y(e.tip)].filter(Boolean).join(`. `),we=e=>{if(e.hasAttribute(`aria-labelledby`)||e.hasAttribute(`aria-label`)&&!e.__ownsAriaLabel__||e.hasAttribute(`title`)||(e.textContent??``).trim().length>0)return!0;let t=e.querySelector(`img[alt]`);return!!t&&(t.getAttribute(`alt`)??``).trim().length>0},Te=(e,t)=>{let n=t.aria??`auto`;return n===`auto`?we(e)?`description`:`label`:n},Ee=(e,t)=>{if(!t||Te(e,t)!==`label`){e.__ownsAriaLabel__&&=(e.removeAttribute(`aria-label`),!1),e.__ownsRole__&&=(e.removeAttribute(`role`),!1);return}let n=Ce(t);n&&(e.setAttribute(`aria-label`,n),e.__ownsAriaLabel__=!0,!e.__ownsRole__&&!e.hasAttribute(`role`)&&!e.matches(ve)&&(e.setAttribute(`role`,`img`),e.__ownsRole__=!0))},De=(e,t)=>{let n=!!t?.focusable;if(n&&!e.__ownsTabIndex__){if(e.matches(ve)||e.hasAttribute(`tabindex`))return;e.setAttribute(`tabindex`,`0`),e.__ownsTabIndex__=!0;return}!n&&e.__ownsTabIndex__&&(e.removeAttribute(`tabindex`),e.__ownsTabIndex__=!1)},Oe=(e,t)=>{e.__prevDescribedBy__=e.getAttribute(`aria-describedby`);let n=[e.__prevDescribedBy__,t].filter(Boolean).join(` `);e.setAttribute(`aria-describedby`,n)},ke=e=>{e.__prevDescribedBy__!==void 0&&(e.__prevDescribedBy__?e.setAttribute(`aria-describedby`,e.__prevDescribedBy__):e.removeAttribute(`aria-describedby`),e.__prevDescribedBy__=void 0)},Ae=`nb-tooltip-description`,je=e=>!!e&&!!(e.body||e.header||e.tip),Me=(e,t)=>{if(typeof document>`u`)return;let n=t&&je(t)&&Te(e,t)===`description`?Ce(t):``;if(!n){Ne(e);return}let r=e.__descNode__;r||(r=document.createElement(`span`),r.className=Ae,r.id=ne(),r.setAttribute(`role`,`tooltip`),document.body.appendChild(r),e.__descNode__=r,Oe(e,r.id)),e.__descText__!==n&&(r.textContent=n,e.__descText__=n)},Ne=e=>{e.__descNode__&&(ke(e),e.__descNode__.remove(),e.__descNode__=void 0,e.__descText__=void 0)},Pe=(e,t)=>{if(je(t)){e.__prevTitle__===void 0&&e.hasAttribute(`title`)&&(e.__prevTitle__=e.getAttribute(`title`)??``,e.removeAttribute(`title`));return}Fe(e)},Fe=e=>{e.__prevTitle__!==void 0&&(e.hasAttribute(`title`)||e.setAttribute(`title`,e.__prevTitle__),e.__prevTitle__=void 0)},Ie=(e,t)=>{Pe(e,t),Ee(e,t),Me(e,t)},Le=e=>e.disabled===!0?!0:!!e.closest?.(`fieldset[disabled]`)&&!e.closest?.(`fieldset[disabled] > legend:first-of-type`),Re=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,ze=e=>{let t=e.__proxyHost__;t&&(e.__proxyMove__&&t.removeEventListener(`mousemove`,e.__proxyMove__),e.__proxyLeave__&&t.removeEventListener(`mouseleave`,e.__proxyLeave__),e.__proxyHost__=void 0,e.__proxyMove__=void 0,e.__proxyLeave__=void 0,e.__proxyInside__=!1)},Be=e=>{let t=e.__tooltipBinding__&&Le(e)?e.parentElement:null;e.__proxyHost__!==t&&(ze(e),t&&(e.__proxyMove__=(t=>{let n=t;if(n.buttons)return;let r=e.getBoundingClientRect();if(z(r)?Re(r,n.clientX,n.clientY):t.target===e||e.contains(t.target)){e.__mouseX__=n.clientX,e.__mouseY__=n.clientY,e.__proxyInside__?e.__tooltipBinding__?.followCursor&&Z(e,e.tooltipElement,e.__requestedSide__):(e.__proxyInside__=!0,e.__showTooltip__?.(`pointer`));return}e.__proxyInside__&&(e.__proxyInside__=!1,e.__hideTooltip__?.(void 0,`pointer`))}),e.__proxyLeave__=(()=>{e.__proxyInside__&&(e.__proxyInside__=!1,e.__hideTooltip__?.(void 0,`pointer`))}),t.addEventListener(`mousemove`,e.__proxyMove__),t.addEventListener(`mouseleave`,e.__proxyLeave__),e.__proxyHost__=t))},Ve=e=>{e.onOpenChange||C(`controlled-no-handler`,"a tooltip was given `open` but no `onOpenChange`, so nothing the user does (hover, blur, Escape) can change it. Either handle `onOpenChange` or drop `open` and let the directive own visibility.")},He=(e,t)=>{if(!t)return;let n=t.open===void 0?e.__openState__===void 0&&t.defaultOpen?!0:void 0:t.open;n!==void 0&&n!==(e.__openState__===!0||!!e.__showTimer__)&&(n?e.__showTooltip__?.(`program`):e.__hideTooltip__?.(0,`program`))},Ue=e=>{P();let t=e.config.globalProperties.$router;t&&t.beforeEach(()=>{k.forEach(e=>e?.__hideTooltip__?.(0,`program`)),k.clear()}),e.directive(`nb-tooltip`,{mounted(e,t){e.__showTooltip__=(t=`pointer`)=>{let n=e.__tooltipBinding__;if(n){if(n.open!==void 0&&t!==`program`){Ve(n),n.onOpenChange?.(!0,t);return}clearTimeout(e.__hideTimer__),e.__hideTimer__=void 0,qe(e,n,t)}},e.__hideTooltip__=(t=e.__tooltipBinding__?.hideDelay??150,n=`dismiss`)=>{let r=e.__tooltipBinding__;if(r?.open!==void 0&&n!==`program`){Ve(r),r.onOpenChange?.(!1,n);return}if(clearTimeout(e.__hideTimer__),t<=0){e.__hideTimer__=void 0,X(e,!0,n);return}e.__hideTimer__=setTimeout(()=>{e.__hideTimer__=void 0,X(e,t<=0,n)},t)},e.__mouseMove__=t=>{e.__mouseX__=t.clientX,e.__mouseY__=t.clientY,e.__tooltipBinding__?.followCursor&&Z(e,e.tooltipElement,e.__tooltipBinding__?.position)},e.__tooltipBinding__=t.value,e.__showHandler__=t=>{if(M(e.__lastTouchAt__,re))return;let n=t;n.buttons||(typeof n.clientX==`number`&&(n.clientX||n.clientY)&&(e.__mouseX__=n.clientX,e.__mouseY__=n.clientY),e.__showTooltip__?.(`pointer`))},e.__hideHandler__=()=>e.__hideTooltip__?.(void 0,`pointer`),e.__focusHandler__=t=>{M(j,ie)||be(e,t)&&e.__showTooltip__?.(`focus`)},e.__blurHandler__=()=>e.__hideTooltip__?.(void 0,`focus`),e.__touchHandler__=t=>{e.__tooltipBinding__?.touch!==!1&&be(e,t)&&(e.__lastTouchAt__=Date.now(),!Se(e)&&(e.__showTooltip__?.(`touch`),e.__hideTooltip__?.(A,`touch`)))},De(e,t.value),Ie(e,t.value),e.setAttribute(ye,``),e.addEventListener(`mouseenter`,e.__showHandler__),e.addEventListener(`mouseleave`,e.__hideHandler__),e.addEventListener(`mousemove`,e.__mouseMove__),e.addEventListener(`focusin`,e.__focusHandler__),e.addEventListener(`focusout`,e.__blurHandler__),e.addEventListener(`touchstart`,e.__touchHandler__,{passive:!0}),Be(e),He(e,t.value)},updated(e,t){let n=e.__tooltipBinding__;if(e.__tooltipBinding__=t.value,!t.value){Ie(e,void 0),De(e,void 0),X(e,!0);return}if(n!==t.value&&(Ie(e,t.value),De(e,t.value)),Be(e),He(e,t.value),!e.tooltipElement||n===t.value)return;let r=Ke(t.value);r!==e.__lastContent__&&(e.__lastContent__=r,Ye(e,t.value))},unmounted(e){clearTimeout(e.__showTimer__),e.__showTimer__=void 0,clearTimeout(e.__hideTimer__),e.__hideTimer__=void 0,X(e,!0),k.delete(e),e.__showHandler__&&e.removeEventListener(`mouseenter`,e.__showHandler__),e.__hideHandler__&&e.removeEventListener(`mouseleave`,e.__hideHandler__),e.__focusHandler__&&e.removeEventListener(`focusin`,e.__focusHandler__),e.__blurHandler__&&e.removeEventListener(`focusout`,e.__blurHandler__),e.__touchHandler__&&e.removeEventListener(`touchstart`,e.__touchHandler__),Ne(e),Fe(e),e.__ownsAriaLabel__&&=(e.removeAttribute(`aria-label`),!1),e.__ownsTabIndex__&&=(e.removeAttribute(`tabindex`),!1),e.__ownsRole__&&=(e.removeAttribute(`role`),!1),e.removeAttribute(ye),ze(e),e.__mouseMove__&&e.removeEventListener(`mousemove`,e.__mouseMove__),J(e)}})},We=({header:e=``,body:t=``,tip:n=``})=>`<div class="nb-tooltip-content"><div class="nb-tooltip-header">${T(e)}</div><div class="nb-tooltip-body">${T(t)}</div><div class="nb-tooltip-tip">${T(n)}</div></div>`,Ge=(e,t,n)=>[`nb-tooltip`,`nb-tooltip-${e}`,t?`nb-tooltip-flavor-${t}`:``,n||``].filter(Boolean).join(` `),Ke=e=>`${e.position??``}|${D(e)}|${O(e)??``}|${We(e)}`,qe=(e,n,r=`pointer`)=>{let{header:i,body:a,tip:o,delay:s=400,animationTime:c=300,position:l,overflowOnly:u}=n,d=D(n),f=O(n);if(clearTimeout(e.__showTimer__),e.__showTimer__=void 0,_e(e,!0),u){let t=e.getBoundingClientRect();if(!(Math.round(t.width)<Math.round(e.scrollWidth)))return}if(!(a||i||o))return;let p=r===`pointer`?s:0,m=t.prefersReducedMotion();e.__showTimer__=setTimeout(()=>{if(e.__showTimer__=void 0,!e.isConnected)return;let t=r===`pointer`?l??`cursor`:l&&l!==`cursor`?l:`top`;for(let t of Array.from(L))t!==e&&Je(t,`superseded`);let s=document.createElement(`span`);s.className=Ge(t,d,f),s.innerHTML=We({header:i,body:a,tip:o}),s.addEventListener(`mouseenter`,()=>{s.__hovered__=!0,clearTimeout(e.__hideTimer__),e.__hideTimer__=void 0,e.__watchdogMisses__=0}),s.addEventListener(`mouseleave`,()=>{s.__hovered__=!1,e.__hideTooltip__?.()}),m?s.style.opacity=`1`:(s.style.transition=`opacity ${c}ms ease-in-out`,s.style.animation=`tooltipAppear ${c}ms ease-in-out forwards`),s.setAttribute(`aria-hidden`,`true`),e.__trigger__=r,e.tooltipElement=s,(e.__chips__??=new Set).add(s),e.__lastContent__=Ke(n),k.add(e),document.body.appendChild(s),e.__requestedSide__=t,e.__side__=t,Z(e,s,t),he(e),le(e);let u=e.__openState__===!0;e.__openState__=!0,u||n.onOpenChange?.(!0,r)},p)},Je=(e,t,n=!0)=>{if(e.__hideTooltip__){e.__hideTooltip__(n?0:void 0,t);return}X(e,n,t)},X=(e,t=!1,n=`dismiss`)=>{clearTimeout(e.__showTimer__),e.__showTimer__=void 0;let r=e.__openState__===!0;_e(e,t),k.delete(e),e.__requestedSide__=void 0,r&&(e.__openState__=!1,e.__tooltipBinding__?.onOpenChange?.(!1,n))},Ye=(e,t)=>{let{header:n,body:r,tip:i,position:a}=t,o=D(t),s=O(t),c=e.__requestedSide__??e.__side__??a,l=e.tooltipElement;l&&(l.innerHTML=We({header:n,body:r,tip:i}),l.className=Ge(e.__side__??c??`cursor`,o,s),Z(e,l,c))};function Xe(e,t,n,r,i,a,o){switch(e){case`top`:return{top:t.top-(r+i*2),left:t.left+t.width/2-(n/2+i/2)};case`bottom`:return{top:t.bottom+i,left:t.left+t.width/2-(n/2+i/2)};case`left`:return{top:t.top+t.height/2-r/2,left:t.left-(n+i*2)};case`right`:return{top:t.top+t.height/2-r/2,left:t.right+i};default:return{top:o+Ze,left:a+Ze}}}var Ze=14;function Qe(e,t,n,r,i){return t>=i&&e>=i&&t+n<=window.innerWidth-i&&e+r<=window.innerHeight-i}var $e={top:[`bottom`,`right`,`left`],bottom:[`top`,`right`,`left`],left:[`right`,`top`,`bottom`],right:[`left`,`top`,`bottom`],cursor:[]},Z=(e,t,n)=>{if(!t)return;let r=e.getBoundingClientRect(),i=t.getBoundingClientRect(),a=i.width||0,o=i.height||0,s=e.__mouseX__??0,c=e.__mouseY__??0,l=n??`cursor`,u=e=>Xe(e,r,a,o,4,s,c),d=u(l),f=l;if(a>0&&o>0&&!Qe(d.top,d.left,a,o,16))for(let e of $e[l]){let t=u(e);if(Qe(t.top,t.left,a,o,16)){d=t,f=e;break}}let{top:p,left:m}=d;if(a>0&&o>0){let e=window.innerWidth-a-16,t=window.innerHeight-o-16;m>e&&(m=e),m<16&&(m=16),p>t&&(p=t),p<16&&(p=16)}if(f!==`cursor`){for(let e of[`top`,`bottom`,`left`,`right`])t.classList.remove(`nb-tooltip-${e}`);t.classList.add(`nb-tooltip-${f}`)}if(e.__side__=f,a>0&&o>0&&f!==`cursor`){let e=r.left+r.width/2,n=r.top+r.height/2;if(f===`top`||f===`bottom`){let n=Math.max(8,Math.min(a-8,e-m))/a*100;t.style.setProperty(`--nb-tooltip-arrow-offset`,`${n}%`)}else{let e=Math.max(8,Math.min(o-8,n-p))/o*100;t.style.setProperty(`--nb-tooltip-arrow-offset`,`${e}%`)}}t.style.top=`${p}px`,t.style.left=`${m}px`};function et(e){for(let t of Array.from(k))t.__hideTooltip__?.(0,e);let t=new Set;for(let e of Array.from(k))for(let n of e.__chips__??[])t.add(n);document.querySelectorAll(`span.nb-tooltip`).forEach(e=>{t.has(e)||e.remove()})}function tt(){for(let e of Array.from(k))e.__hideTooltip__?.(0,`program`);k.clear();for(let e of Array.from(L))J(e);document.querySelectorAll(`span.nb-tooltip`).forEach(e=>e.remove())}var nt=e.t({default:()=>it});function rt(e,t){let r=t.value;if(r==null||r===``){e.removeAttribute(n.TOUR_STEP_ATTRIBUTE);return}e.setAttribute(n.TOUR_STEP_ATTRIBUTE,String(r))}var it=e=>{e.directive(`nb-tour-step`,{mounted:rt,updated:rt,unmounted(e){e.removeAttribute(n.TOUR_STEP_ATTRIBUTE)}})},at=Object.assign({"./ContextMenu.directive.ts":o,"./ToolTip.content.ts":c,"./ToolTip.directive.ts":E,"./TourStep.directive.ts":nt}),ot={install(e){Object.values(at).forEach(t=>{typeof t.default==`function`&&t.default(e)})}},st={install(e){let t=r.createCommandPaletteState();e.provide(r.NB_COMMAND_PALETTE_KEY,t)}},ct={key:0,class:`nb-spreadsheet__toolbar`},lt={key:0,class:`nb-spreadsheet__corner`,style:{gridRow:1,gridColumn:1}},ut=[`onClick`],dt={class:`nb-spreadsheet__header-label`},ft={key:0,class:`nb-spreadsheet__sort`,"aria-hidden":`true`},pt=[`onMousedown`],mt=[`title`,`data-cell`,`data-row`,`data-col`,`onMousedown`,`onMouseenter`,`onDblclick`],ht=[`inputmode`],gt=44,Q=32,$=28,_t=(0,a.defineComponent)({__name:`Spreadsheet`,props:{columns:{},rows:{},cellAttrs:{},computed:{},resizable:{type:Boolean,default:!0},rowReorderable:{type:Boolean,default:!1},showGutter:{type:Boolean,default:!0},windowRows:{default:80},locale:{default:`pt-PT`}},emits:[`commit`,`change`,`selection`,`focus`,`row-reorder`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=(0,a.useTemplateRef)(`scrollerRef`),s=(0,a.useTemplateRef)(`editorRef`),c=(0,a.ref)({}),l=(0,a.ref)(null),u=(0,a.ref)(null),d=(0,a.ref)(null),f=(0,a.ref)(!1),p=(0,a.ref)(null),m=(0,a.ref)(0),h=(0,a.ref)([]),g=(0,a.ref)([]),_=(0,a.computed)(()=>{let e=r.columns.filter(e=>e.pinned===`left`),t=r.columns.filter(e=>e.pinned===`right`),n=r.columns.filter(e=>!e.pinned);return[...e,...n,...t]});function v(e){return c.value[e.id]??e.width??120}let ee=(0,a.computed)(()=>({gridTemplateColumns:(r.showGutter?`${gt}px `:``)+_.value.map(e=>`${v(e)}px`).join(` `)})),y=(0,a.computed)(()=>{let e=r.rows.filter(e=>!e.pinned);if(!l.value)return e;let t=r.columns.find(e=>e.id===l.value.columnId);if(!t)return e;let n=l.value.direction===`asc`?1:-1,i=(e,t)=>e==null&&t==null?0:e==null?-1:t==null?1:typeof e==`number`&&typeof t==`number`?(e-t)*n:String(e).localeCompare(String(t))*n;return[...e].sort((e,n)=>i(e.values[t.id],n.values[t.id]))}),b=(0,a.computed)(()=>r.rows.filter(e=>e.pinned===`top`)),x=(0,a.computed)(()=>r.rows.filter(e=>e.pinned===`bottom`)),S=(0,a.computed)(()=>{let e=Math.max(1,Math.ceil((o.value?.clientHeight??600)/$)),t=Math.max(10,Math.floor(r.windowRows/4)),n=Math.floor(m.value/$)-b.value.length-t,i=Math.max(0,n),a=Math.min(y.value.length,i+e+t*2),s=b.value.map((e,t)=>({...e,__virtualIndex:t,gutterLabel:``})),c=y.value.slice(i,a).map((e,t)=>({...e,__virtualIndex:i+t+b.value.length})),l=x.value.map((e,t)=>({...e,__virtualIndex:b.value.length+y.value.length+t,gutterLabel:``}));return[...s,...c,...l]});function C(e,t){if(t==null||t===``)return``;if(e.type===`number`){let e=typeof t==`number`?t:Number(t);return Number.isFinite(e)?new Intl.NumberFormat(r.locale,{maximumFractionDigits:4}).format(e):String(t)}if(e.type===`date`){let e=t instanceof Date?t:new Date(t);return Number.isNaN(e.getTime())?String(t):new Intl.DateTimeFormat(r.locale).format(e)}return String(t)}function w(e,t){if(t===``)return null;if(e.type===`number`){let e=t.replace(/\s/g,``).replace(`,`,`.`),n=Number(e);if(!Number.isFinite(n))throw Error(`Invalid number`);return n}if(e.type===`date`){let e=new Date(t);if(Number.isNaN(e.getTime()))throw Error(`Invalid date`);return e.toISOString().slice(0,10)}return t}function T(e,t){let n=r.rows.find(t=>t.id===e);if(!n)return;let i=n.values[t];if(i!==void 0)return i;if(r.computed)return r.computed(e,t,T)}function E(e,t){return r.cellAttrs?r.cellAttrs(e.id,t.id,e,t)??{}:{}}function D(e,t){let n=E(e,t);if(n.display!==void 0)return n.display;let r=T(e.id,t.id);return t.format?t.format(r,e):C(t,r)}function O(e,t){let n=E(e,t),r=u.value?.rowId===e.id&&u.value?.columnId===t.id,i=N(e.id,t.id);return{[`nb-spreadsheet__cell--${t.align??(t.type===`number`||t.type===`date`?`right`:`left`)}`]:!0,"nb-spreadsheet__cell--focused":r,"nb-spreadsheet__cell--selected":i,"nb-spreadsheet__cell--readonly":k(e,t),"nb-spreadsheet__cell--computed":!!n.computed||!!e.computed,"nb-spreadsheet__cell--pinned-top":e.pinned===`top`,"nb-spreadsheet__cell--pinned-bottom":e.pinned===`bottom`,[n.className??``]:!!n.className,[e.className??``]:!!e.className}}function k(e,t){if(e.computed||t.readOnly)return!0;let n=E(e,t);return!!n.readOnly||!!n.computed}function te(e,t){return E(e,t).tooltip??``}function ne(e){return{"nb-spreadsheet__header--sortable":!!e.sortable,"nb-spreadsheet__header--pinned-left":e.pinned===`left`,"nb-spreadsheet__header--pinned-right":e.pinned===`right`}}function re(e){if(e.pinned!==`left`)return 0;let t=r.showGutter?gt:0;for(let n of _.value){if(n.id===e.id)break;n.pinned===`left`&&(t+=v(n))}return t}function A(e){if(e.pinned!==`right`)return 0;let t=0,n=[..._.value].reverse();for(let r of n){if(r.id===e.id)break;r.pinned===`right`&&(t+=v(r))}return t}function ie(e,t){let n=(r.showGutter?2:1)+t,i={};return e.pinned===`left`?(i.position=`sticky`,i.left=`${re(e)}px`,i.zIndex=`3`):e.pinned===`right`&&(i.position=`sticky`,i.right=`${A(e)}px`,i.zIndex=`3`),{gridRow:1,gridColumn:n,...i}}function j(e,t,n,i){let a=(r.showGutter?2:1)+i,o=n+2,s={};return t.pinned===`left`?(s.position=`sticky`,s.left=`${re(t)}px`,s.zIndex=`2`):t.pinned===`right`&&(s.position=`sticky`,s.right=`${A(t)}px`,s.zIndex=`2`),(e.pinned===`top`||e.pinned===`bottom`)&&(s.position=`sticky`,s.zIndex=String(Math.max(Number(s.zIndex??0),2)),e.pinned===`top`&&(s.top=`${Q}px`),e.pinned===`bottom`&&(s.bottom=`0`)),{gridRow:o,gridColumn:a,...s}}function M(e,t){let n={position:`sticky`,left:`0`,zIndex:`2`};return t.pinned===`top`&&(n.top=`${Q}px`,n.zIndex=`4`),t.pinned===`bottom`&&(n.bottom=`0`,n.zIndex=`4`),{gridRow:e+2,gridColumn:1,...n}}function N(e,t){if(!d.value)return!1;let n=[...b.value,...y.value,...x.value].map(e=>e.id),r=_.value.map(e=>e.id),i=n.indexOf(d.value.startRowId),a=n.indexOf(d.value.endRowId),o=r.indexOf(d.value.startColumnId),s=r.indexOf(d.value.endColumnId),c=n.indexOf(e),l=r.indexOf(t);return c>=Math.min(i,a)&&c<=Math.max(i,a)&&l>=Math.min(o,s)&&l<=Math.max(o,s)}function P(e,t,n=!1){u.value={rowId:e,columnId:t},n&&d.value?d.value={...d.value,endRowId:e,endColumnId:t}:d.value={startRowId:e,startColumnId:t,endRowId:e,endColumnId:t},i(`focus`,u.value),i(`selection`,d.value)}function ae(e,t,n){p.value&&z(!0),f.value=!0,P(t.id,n.id,e.shiftKey),o.value?.focus(),e.preventDefault(),document.addEventListener(`mouseup`,se,{once:!0})}function oe(e,t){!f.value||!d.value||(d.value={...d.value,endRowId:e.id,endColumnId:t.id},i(`selection`,d.value))}function se(){f.value=!1}function ce(e,t){k(e,t)||R(e,t,``)}function F(e,t,n=!1){if(!u.value){let e=_.value[0],t=S.value[0];e&&t&&P(t.id,e.id);return}let r=[...b.value,...y.value,...x.value],i=r.findIndex(e=>e.id===u.value.rowId),a=_.value.findIndex(e=>e.id===u.value.columnId),o=Math.max(0,Math.min(r.length-1,i+e)),s=Math.max(0,Math.min(_.value.length-1,a+t));P(r[o].id,_.value[s].id,n),I(r[o].id)}function I(e){let t=y.value.findIndex(t=>t.id===e);if(t<0||!o.value)return;let n=t*$,r=o.value;n<r.scrollTop?r.scrollTop=n:n+$>r.scrollTop+r.clientHeight-Q&&(r.scrollTop=n-r.clientHeight+Q+$)}function le(){m.value=o.value?.scrollTop??0}function L(e){if(!p.value){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?q():K();return}switch(e.key){case`ArrowDown`:e.preventDefault(),F(1,0,e.shiftKey);break;case`ArrowUp`:e.preventDefault(),F(-1,0,e.shiftKey);break;case`ArrowLeft`:e.preventDefault(),F(0,-1,e.shiftKey);break;case`ArrowRight`:e.preventDefault(),F(0,1,e.shiftKey);break;case`Tab`:e.preventDefault(),F(0,e.shiftKey?-1:1);break;case`Enter`:if(e.preventDefault(),u.value){let e=r.rows.find(e=>e.id===u.value.rowId),t=r.columns.find(e=>e.id===u.value.columnId);e&&t&&!k(e,t)&&R(e,t,``)}break;case`Escape`:d.value=null,i(`selection`,null);break;case`Delete`:case`Backspace`:e.preventDefault(),V();break;case`F2`:if(e.preventDefault(),u.value){let e=r.rows.find(e=>e.id===u.value.rowId),t=r.columns.find(e=>e.id===u.value.columnId);if(e&&t&&!k(e,t)){let n=T(e.id,t.id);R(e,t,n==null?``:String(n))}}break;default:if(u.value&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&e.key.length===1){let t=r.rows.find(e=>e.id===u.value.rowId),n=r.columns.find(e=>e.id===u.value.columnId);t&&n&&!k(t,n)&&(e.preventDefault(),R(t,n,e.key))}}}}function R(e,t,n){p.value={rowId:e.id,columnId:t.id,draft:n},(0,a.nextTick)(()=>{s.value?.focus(),s.value?.select()})}let ue=(0,a.computed)(()=>{if(p.value)return r.columns.find(e=>e.id===p.value.columnId)?.type===`number`?`decimal`:`text`}),de=(0,a.computed)(()=>{if(!p.value)return{display:`none`};let e=o.value?.querySelector(`[data-cell="${p.value.rowId}::${p.value.columnId}"]`);if(!e)return{display:`none`};let t=e.getBoundingClientRect(),n=o.value.getBoundingClientRect();return{top:`${t.top-n.top}px`,left:`${t.left-n.left}px`,width:`${t.width}px`,height:`${t.height}px`}});function fe(e){e.key===`Enter`?(e.preventDefault(),z(!1),F(1,0)):e.key===`Tab`?(e.preventDefault(),z(!1),F(0,e.shiftKey?-1:1)):e.key===`Escape`&&(e.preventDefault(),p.value=null,o.value?.focus())}function z(e){if(!p.value)return;let{rowId:t,columnId:n,draft:a}=p.value,s=r.columns.find(e=>e.id===n);if(!s){p.value=null;return}let c;try{c=s.parse?s.parse(a):w(s,a)}catch{p.value=null;return}let l=T(t,n);if(l===c){p.value=null;return}let u={rowId:t,columnId:n,before:l,after:c};G([u]),i(`commit`,u),i(`change`,[u]),p.value=null,o.value?.focus()}function B(){if(!d.value)return[];let e=[...b.value,...y.value,...x.value].map(e=>e.id),t=_.value.map(e=>e.id),n=e.indexOf(d.value.startRowId),r=e.indexOf(d.value.endRowId),i=t.indexOf(d.value.startColumnId),a=t.indexOf(d.value.endColumnId),o=[];for(let s=Math.min(n,r);s<=Math.max(n,r);s++)for(let n=Math.min(i,a);n<=Math.max(i,a);n++)o.push({rowId:e[s],columnId:t[n]});return o}function V(){let e=B(),t=[];for(let{rowId:n,columnId:i}of e){let e=r.rows.find(e=>e.id===n),a=r.columns.find(e=>e.id===i);if(!e||!a||k(e,a))continue;let o=T(n,i);o==null||o===``||t.push({rowId:n,columnId:i,before:o,after:null})}if(t.length!==0){G(t);for(let e of t)i(`commit`,e);i(`change`,t)}}function H(e){if(B().length===0)return;let t=[...b.value,...y.value,...x.value].map(e=>e.id),n=_.value.map(e=>e.id),r=Math.min(t.indexOf(d.value.startRowId),t.indexOf(d.value.endRowId)),i=Math.max(t.indexOf(d.value.startRowId),t.indexOf(d.value.endRowId)),a=Math.min(n.indexOf(d.value.startColumnId),n.indexOf(d.value.endColumnId)),o=Math.max(n.indexOf(d.value.startColumnId),n.indexOf(d.value.endColumnId)),s=[];for(let e=r;e<=i;e++){let r=[];for(let i=a;i<=o;i++){let a=T(t[e],n[i]);r.push(a==null?``:String(a))}s.push(r.join(` `))}e.preventDefault(),e.clipboardData?.setData(`text/plain`,s.join(`
2
- `))}function pe(e){H(e),V()}function me(e){if(!u.value)return;let t=e.clipboardData?.getData(`text/plain`)??``;if(!t)return;e.preventDefault();let n=t.replace(/\r\n?/g,`
3
- `).split(`
4
- `).map(e=>e.split(` `)),a=[...b.value,...y.value,...x.value].map(e=>e.id),o=_.value.map(e=>e.id),s=a.indexOf(u.value.rowId),c=o.indexOf(u.value.columnId),l=[];if(n.forEach((e,t)=>{e.forEach((e,n)=>{let i=a[s+t],u=o[c+n];if(!i||!u)return;let d=r.rows.find(e=>e.id===i),f=r.columns.find(e=>e.id===u);if(!d||!f||k(d,f))return;let p;try{p=f.parse?f.parse(e):w(f,e)}catch{return}let m=T(i,u);m!==p&&l.push({rowId:i,columnId:u,before:m,after:p})})}),l.length!==0){G(l);for(let e of l)i(`commit`,e);i(`change`,l)}}function U(e,t){let n=e.clientX,r=v(t),i=t.minWidth??60,a=e=>{let a=Math.max(i,r+(e.clientX-n));c.value={...c.value,[t.id]:a}},o=()=>{window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)}function W(e){e.sortable&&(l.value?.columnId===e.id?l.value=l.value.direction===`asc`?{columnId:e.id,direction:`desc`}:null:l.value={columnId:e.id,direction:`asc`})}function G(e){h.value.push(e),g.value=[]}function K(){let e=h.value.pop();if(!e)return;let t=e.map(e=>({...e,before:e.after,after:e.before}));for(let e of t)i(`commit`,e);i(`change`,t),g.value.push(e)}function q(){let e=g.value.pop();if(e){for(let t of e)i(`commit`,t);i(`change`,e),h.value.push(e)}}return(0,a.onMounted)(()=>{o.value?.focus()}),t({focus:(e,t)=>P(e,t),undo:K,redo:q,getSelection:()=>d.value}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`nb-spreadsheet`,{"nb-spreadsheet--editing":!!p.value}])},[t.$slots.toolbar?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ct,[(0,a.renderSlot)(t.$slots,`toolbar`,{},void 0,!0)])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`scrollerRef`,ref:o,class:`nb-spreadsheet__scroller`,tabindex:`0`,onKeydown:L,onCopy:H,onCut:pe,onPaste:me,onScroll:le},[(0,a.createElementVNode)(`div`,{class:`nb-spreadsheet__grid`,style:(0,a.normalizeStyle)(ee.value)},[e.showGutter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,lt)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(_.value,(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:`h-${t.id}`,class:(0,a.normalizeClass)([`nb-spreadsheet__header`,ne(t)]),style:(0,a.normalizeStyle)(ie(t,n)),onClick:e=>W(t)},[(0,a.createElementVNode)(`span`,dt,(0,a.toDisplayString)(t.label),1),l.value&&l.value.columnId===t.id?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,ft,(0,a.toDisplayString)(l.value.direction===`asc`?`▲`:`▼`),1)):(0,a.createCommentVNode)(``,!0),e.resizable?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:1,class:`nb-spreadsheet__resize-handle`,onMousedown:(0,a.withModifiers)(e=>U(e,t),[`stop`])},null,40,pt)):(0,a.createCommentVNode)(``,!0)],14,ut))),128)),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(S.value,(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:`r-${t.id}`},[e.showGutter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([`nb-spreadsheet__gutter`,{"nb-spreadsheet__gutter--pinned-top":t.pinned===`top`,"nb-spreadsheet__gutter--pinned-bottom":t.pinned===`bottom`}]),style:(0,a.normalizeStyle)(M(n,t))},(0,a.toDisplayString)(t.gutterLabel??n+1),7)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(_.value,(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:`c-${t.id}-${e.id}`,class:(0,a.normalizeClass)([`nb-spreadsheet__cell`,O(t,e)]),style:(0,a.normalizeStyle)(j(t,e,n,r)),title:te(t,e),"data-cell":`${t.id}::${e.id}`,"data-row":t.id,"data-col":e.id,onMousedown:n=>ae(n,t,e),onMouseenter:n=>oe(t,e),onDblclick:n=>ce(t,e)},[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(D(t,e)),1)],46,mt))),128))],64))),128))],4),p.value?(0,a.withDirectives)(((0,a.openBlock)(),(0,a.createElementBlock)(`input`,{key:0,ref_key:`editorRef`,ref:s,"onUpdate:modelValue":n[0]||=e=>p.value.draft=e,class:`nb-spreadsheet__editor`,style:(0,a.normalizeStyle)(de.value),inputmode:ue.value,onBlur:n[1]||=e=>z(!0),onKeydown:(0,a.withModifiers)(fe,[`stop`])},null,44,ht)),[[a.vModelText,p.value.draft]]):(0,a.createCommentVNode)(``,!0)],544)],2))}}),vt=e.t({default:()=>yt}),yt=i.t(_t,[[`__scopeId`,`data-v-df859a7e`]]),bt=Object.assign({"./components/labs/Spreadsheet.vue":vt}),xt={install(e){Object.keys(bt).forEach(t=>{let n=`Nb${t.replace(/(.+\/)(\w+)(\.vue)$/,`$2`)}`,r=bt[t];e.component(n,r.default)})}},St={install(e,t={}){if(t.components)for(let[n,r]of Object.entries(t.components))e.component(n,r);e.use(ot),e.use(st)}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return St}});