@freegridjs/core 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,8 +54,8 @@ printing, themes, languages) is free for everyone, companies included.
54
54
 
55
55
  Paid features need a key after a 30-day trial per domain: row grouping and aggregation, pivot, charts,
56
56
  cell range selection, range copy and paste, fill handle, Excel and PDF export, workbook, server-side groups,
57
- advanced filter, side bar panels, context menu, summary rows, formulas, find, conditional formatting,
58
- the AI assistant and merged cells. Development hosts (localhost, private networks, .local, .test) always
57
+ advanced filter, side bar panels, context menu, summary rows, formulas, find, conditional formatting
58
+ and merged cells. Development hosts (localhost, private networks, .local, .test) always
59
59
  have every feature.
60
60
 
61
61
  - Personal, educational and non-commercial projects: a free personal key, valid 6 months and renewable
@@ -55,8 +55,14 @@
55
55
  margin-left: auto; display: inline-grid; place-items: center; width: 22px; height: 22px; flex: none;
56
56
  border: 0; border-radius: 5px; background: none; color: var(--fg-muted); cursor: pointer; opacity: 0; transition: opacity .12s;
57
57
  }
58
+ /* the hidden button takes no room, so narrow columns keep their label; on hover it shows over the label's end.
59
+ An active filter's button stays in the row, always visible. */
60
+ .fg-menu-btn:not(.fg-filter-active) {
61
+ position: absolute; inset-inline-end: 6px; top: 50%; transform: translateY(-50%); margin: 0; background: var(--fg-header-bg);
62
+ }
58
63
  .fg-header-cell.fg-align-right .fg-menu-btn { margin-left: 0; margin-right: auto; }
59
- .fg-header-cell:hover .fg-menu-btn, .fg-menu-btn.fg-filter-active { opacity: 1; }
64
+ .fg-header-cell.fg-align-right .fg-menu-btn:not(.fg-filter-active) { inset-inline-end: auto; inset-inline-start: 6px; }
65
+ .fg-header-cell:hover .fg-menu-btn, .fg-menu-btn:focus-visible, .fg-menu-btn.fg-filter-active { opacity: 1; }
60
66
  .fg-menu-btn:hover { background: var(--fg-row-hover); color: var(--fg-fg); }
61
67
  .fg-menu-btn.fg-filter-active { color: var(--fg-accent); }
62
68
  .fg-resize { position: absolute; right: 0; top: 0; bottom: 0; width: 8px; cursor: col-resize; z-index: 1; }
@@ -516,7 +522,8 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
516
522
 
517
523
  /* autoHeight: grow with the rows */
518
524
  .fg-root.fg-auto-height { height: auto; }
519
- .fg-auto-height .fg-main, .fg-auto-height .fg-grid { flex: none; }
525
+ /* only the height follows the rows: .fg-main still fills the width (the root is a flex row) */
526
+ .fg-auto-height .fg-grid { flex: none; }
520
527
  .fg-auto-height .fg-body { flex: none; min-height: 0; }
521
528
  .fg-auto-height .fg-body-pane-center { overflow-y: hidden; }
522
529
 
@@ -543,19 +550,3 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
543
550
  .fg-cf-swatch[aria-pressed="true"] { outline: 2px solid var(--fg-accent); outline-offset: 1px; }
544
551
  .fg-cf-empty { color: var(--fg-muted); padding: 4px 0; }
545
552
 
546
- /* AI assistant */
547
- .fg-ai-panel { width: 374px; display: flex; flex-direction: column; gap: 8px; }
548
- .fg-ai-log { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow-y: auto; }
549
- .fg-ai-log:empty { display: none; }
550
- .fg-ai-msg { padding: 7px 10px; border-radius: 10px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 92%; }
551
- .fg-ai-user { align-self: flex-end; background: var(--fg-accent); color: var(--fg-accent-fg); border-bottom-right-radius: 3px; }
552
- .fg-ai-ai { align-self: flex-start; background: var(--fg-header-bg); border: 1px solid var(--fg-border); border-bottom-left-radius: 3px; }
553
- .fg-ai-error { align-self: flex-start; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; }
554
- .fg-ai-wait { color: var(--fg-muted); }
555
- .fg-ai-note { margin-top: 4px; font-size: .9em; color: var(--fg-muted); }
556
- .fg-ai-undo { margin-top: 6px; height: 24px; padding: 0 10px; }
557
- .fg-ai-form { display: flex; gap: 6px; align-items: flex-end; }
558
- .fg-ai-input { flex: 1; resize: vertical; min-height: 40px; max-height: 140px; padding: 6px 8px; font: inherit; }
559
- .fg-ai-tips { display: flex; flex-wrap: wrap; gap: 6px; }
560
- .fg-ai-tip { border: 1px solid var(--fg-border); border-radius: 999px; background: none; color: inherit; font: inherit; font-size: .92em; padding: 3px 10px; cursor: pointer; }
561
- .fg-ai-tip:hover { background: var(--fg-row-hover); }