@freegridjs/core 1.9.5 → 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.
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const de: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var de = {
6
6
  apply: "Anwenden",
7
7
  reset: "Zur\xFCcksetzen",
8
8
  selectAll: "(Alle ausw\xE4hlen)",
9
+ setSelected: "({n} ausgew\xE4hlt)",
10
+ noAggregate: "Keine Aggregation",
9
11
  search: "Suchen\u2026",
10
12
  blanks: "(Leer)",
11
13
  value: "Wert",
@@ -92,7 +94,6 @@ var de = {
92
94
  freeBadge: "Kostenlose Version",
93
95
  exportPdf: "Als PDF exportieren",
94
96
  exportJson: "Als JSON exportieren",
95
- ai: { title: "KI-Assistent", placeholder: "Fragen Sie zu den Daten oder sagen Sie der Tabelle, was sie tun soll", send: "Senden", thinking: "Wird bearbeitet\u2026", undo: "R\xFCckg\xE4ngig", undone: "R\xFCckg\xE4ngig gemacht", failed: "Der Assistent hat nicht geantwortet", skipped: "\xDCbersprungen", done: "Fertig" },
96
97
  cf: {
97
98
  title: "Bedingte Formatierung",
98
99
  add: "Regel hinzuf\xFCgen",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const en: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var en = {
6
6
  apply: "Apply",
7
7
  reset: "Reset",
8
8
  selectAll: "(Select all)",
9
+ setSelected: "({n} selected)",
10
+ noAggregate: "No aggregate",
9
11
  search: "Search\u2026",
10
12
  blanks: "(Blanks)",
11
13
  value: "Value",
@@ -92,7 +94,6 @@ var en = {
92
94
  freeBadge: "Free version",
93
95
  exportPdf: "Export PDF",
94
96
  exportJson: "Export JSON",
95
- ai: { title: "AI assistant", placeholder: "Ask about the data or tell the grid what to do", send: "Send", thinking: "Working\u2026", undo: "Undo", undone: "Undone", failed: "The assistant did not answer", skipped: "Skipped", done: "Done" },
96
97
  cf: {
97
98
  title: "Conditional formatting",
98
99
  add: "Add rule",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const es: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var es = {
6
6
  apply: "Aplicar",
7
7
  reset: "Restablecer",
8
8
  selectAll: "(Seleccionar todo)",
9
+ setSelected: "({n} seleccionados)",
10
+ noAggregate: "Sin agregaci\xF3n",
9
11
  search: "Buscar\u2026",
10
12
  blanks: "(Vac\xEDos)",
11
13
  value: "Valor",
@@ -92,7 +94,6 @@ var es = {
92
94
  freeBadge: "Versi\xF3n gratuita",
93
95
  exportPdf: "Exportar PDF",
94
96
  exportJson: "Exportar JSON",
95
- ai: { title: "Asistente de IA", placeholder: "Pregunte por los datos o diga a la tabla qu\xE9 hacer", send: "Enviar", thinking: "Procesando\u2026", undo: "Deshacer", undone: "Deshecho", failed: "El asistente no respondi\xF3", skipped: "Omitido", done: "Hecho" },
96
97
  cf: {
97
98
  title: "Formato condicional",
98
99
  add: "A\xF1adir regla",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const fr: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var fr = {
6
6
  apply: "Appliquer",
7
7
  reset: "R\xE9initialiser",
8
8
  selectAll: "(Tout s\xE9lectionner)",
9
+ setSelected: "({n} s\xE9lectionn\xE9s)",
10
+ noAggregate: "Aucune agr\xE9gation",
9
11
  search: "Rechercher\u2026",
10
12
  blanks: "(Vides)",
11
13
  value: "Valeur",
@@ -92,7 +94,6 @@ var fr = {
92
94
  freeBadge: "Version gratuite",
93
95
  exportPdf: "Exporter en PDF",
94
96
  exportJson: "Exporter en JSON",
95
- ai: { title: "Assistant IA", placeholder: "Posez une question sur les donn\xE9es ou dites \xE0 la grille quoi faire", send: "Envoyer", thinking: "En cours\u2026", undo: "Annuler", undone: "Annul\xE9", failed: "L'assistant n'a pas r\xE9pondu", skipped: "Ignor\xE9", done: "Termin\xE9" },
96
97
  cf: {
97
98
  title: "Mise en forme conditionnelle",
98
99
  add: "Ajouter une r\xE8gle",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const id: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var id = {
6
6
  apply: "Terapkan",
7
7
  reset: "Atur ulang",
8
8
  selectAll: "(Pilih semua)",
9
+ setSelected: "({n} dipilih)",
10
+ noAggregate: "Tanpa agregasi",
9
11
  search: "Cari\u2026",
10
12
  blanks: "(Kosong)",
11
13
  value: "Nilai",
@@ -92,7 +94,6 @@ var id = {
92
94
  freeBadge: "Versi gratis",
93
95
  exportPdf: "Ekspor PDF",
94
96
  exportJson: "Ekspor JSON",
95
- ai: { title: "Asisten AI", placeholder: "Tanyakan tentang data atau beri tahu grid apa yang harus dilakukan", send: "Kirim", thinking: "Memproses\u2026", undo: "Urungkan", undone: "Diurungkan", failed: "Asisten tidak menjawab", skipped: "Dilewati", done: "Selesai" },
96
97
  cf: {
97
98
  title: "Pemformatan bersyarat",
98
99
  add: "Tambah aturan",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const it: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var it = {
6
6
  apply: "Applica",
7
7
  reset: "Reimposta",
8
8
  selectAll: "(Seleziona tutto)",
9
+ setSelected: "({n} selezionati)",
10
+ noAggregate: "Nessuna aggregazione",
9
11
  search: "Cerca\u2026",
10
12
  blanks: "(Vuoti)",
11
13
  value: "Valore",
@@ -92,7 +94,6 @@ var it = {
92
94
  freeBadge: "Versione gratuita",
93
95
  exportPdf: "Esporta PDF",
94
96
  exportJson: "Esporta JSON",
95
- ai: { title: "Assistente IA", placeholder: "Chiedi qualcosa sui dati o di\u2019 alla griglia cosa fare", send: "Invia", thinking: "In corso\u2026", undo: "Annulla", undone: "Annullato", failed: "L'assistente non ha risposto", skipped: "Saltato", done: "Fatto" },
96
97
  cf: {
97
98
  title: "Formattazione condizionale",
98
99
  add: "Aggiungi regola",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const ja: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var ja = {
6
6
  apply: "\u9069\u7528",
7
7
  reset: "\u30EA\u30BB\u30C3\u30C8",
8
8
  selectAll: "(\u3059\u3079\u3066\u9078\u629E)",
9
+ setSelected: "({n} \u4EF6\u9078\u629E)",
10
+ noAggregate: "\u96C6\u8A08\u3057\u306A\u3044",
9
11
  search: "\u691C\u7D22\u2026",
10
12
  blanks: "(\u7A7A\u767D)",
11
13
  value: "\u5024",
@@ -92,7 +94,6 @@ var ja = {
92
94
  freeBadge: "\u7121\u6599\u7248\u3092\u4F7F\u7528\u4E2D",
93
95
  exportPdf: "PDF \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",
94
96
  exportJson: "JSON \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",
95
- ai: { title: "AI \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8", placeholder: "\u30C7\u30FC\u30BF\u306B\u3064\u3044\u3066\u8CEA\u554F\u3059\u308B\u304B\u3001\u30B0\u30EA\u30C3\u30C9\u3078\u306E\u6307\u793A\u3092\u5165\u529B", send: "\u9001\u4FE1", thinking: "\u51E6\u7406\u4E2D\u2026", undo: "\u5143\u306B\u623B\u3059", undone: "\u5143\u306B\u623B\u3057\u307E\u3057\u305F", failed: "\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u304B\u3089\u5FDC\u7B54\u304C\u3042\u308A\u307E\u305B\u3093", skipped: "\u30B9\u30AD\u30C3\u30D7", done: "\u5B8C\u4E86" },
96
97
  cf: {
97
98
  title: "\u6761\u4EF6\u4ED8\u304D\u66F8\u5F0F",
98
99
  add: "\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const ko: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var ko = {
6
6
  apply: "\uC801\uC6A9",
7
7
  reset: "\uCD08\uAE30\uD654",
8
8
  selectAll: "(\uC804\uCCB4 \uC120\uD0DD)",
9
+ setSelected: "({n}\uAC1C \uC120\uD0DD\uB428)",
10
+ noAggregate: "\uC9D1\uACC4 \uC548 \uD568",
9
11
  search: "\uAC80\uC0C9\u2026",
10
12
  blanks: "(\uBE48 \uAC12)",
11
13
  value: "\uAC12",
@@ -92,7 +94,6 @@ var ko = {
92
94
  freeBadge: "\uBB34\uB8CC \uC0AC\uC6A9 \uC911",
93
95
  exportPdf: "PDF\uB85C \uB0B4\uBCF4\uB0B4\uAE30",
94
96
  exportJson: "JSON\uC73C\uB85C \uB0B4\uBCF4\uB0B4\uAE30",
95
- ai: { title: "AI \uC5B4\uC2DC\uC2A4\uD134\uD2B8", placeholder: "\uB370\uC774\uD130\uC5D0 \uB300\uD574 \uBB3B\uAC70\uB098 \uADF8\uB9AC\uB4DC\uC5D0 \uD560 \uC77C\uC744 \uB9D0\uD574 \uBCF4\uC138\uC694", send: "\uBCF4\uB0B4\uAE30", thinking: "\uCC98\uB9AC \uC911\u2026", undo: "\uB418\uB3CC\uB9AC\uAE30", undone: "\uB418\uB3CC\uB838\uC2B5\uB2C8\uB2E4", failed: "\uC5B4\uC2DC\uC2A4\uD134\uD2B8\uAC00 \uC751\uB2F5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4", skipped: "\uAC74\uB108\uB700", done: "\uC644\uB8CC" },
96
97
  cf: {
97
98
  title: "\uC870\uAC74\uBD80 \uC11C\uC2DD",
98
99
  add: "\uADDC\uCE59 \uCD94\uAC00",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const ptBR: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var ptBR = {
6
6
  apply: "Aplicar",
7
7
  reset: "Limpar",
8
8
  selectAll: "(Selecionar tudo)",
9
+ setSelected: "({n} selecionados)",
10
+ noAggregate: "Sem agrega\xE7\xE3o",
9
11
  search: "Pesquisar\u2026",
10
12
  blanks: "(Vazios)",
11
13
  value: "Valor",
@@ -92,7 +94,6 @@ var ptBR = {
92
94
  freeBadge: "Vers\xE3o gratuita",
93
95
  exportPdf: "Exportar PDF",
94
96
  exportJson: "Exportar JSON",
95
- ai: { title: "Assistente de IA", placeholder: "Pergunte sobre os dados ou diga \xE0 grade o que fazer", send: "Enviar", thinking: "Processando\u2026", undo: "Desfazer", undone: "Desfeito", failed: "O assistente n\xE3o respondeu", skipped: "Ignorado", done: "Pronto" },
96
97
  cf: {
97
98
  title: "Formata\xE7\xE3o condicional",
98
99
  add: "Adicionar regra",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const ru: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var ru = {
6
6
  apply: "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",
7
7
  reset: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C",
8
8
  selectAll: "(\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435)",
9
+ setSelected: "(\u0432\u044B\u0431\u0440\u0430\u043D\u043E: {n})",
10
+ noAggregate: "\u0411\u0435\u0437 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
9
11
  search: "\u041F\u043E\u0438\u0441\u043A\u2026",
10
12
  blanks: "(\u041F\u0443\u0441\u0442\u044B\u0435)",
11
13
  value: "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435",
@@ -92,7 +94,6 @@ var ru = {
92
94
  freeBadge: "\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",
93
95
  exportPdf: "\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 PDF",
94
96
  exportJson: "\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 JSON",
95
- ai: { title: "\u0418\u0418-\u043F\u043E\u043C\u043E\u0449\u043D\u0438\u043A", placeholder: "\u0421\u043F\u0440\u043E\u0441\u0438\u0442\u0435 \u043E \u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u043B\u0438 \u0441\u043A\u0430\u0436\u0438\u0442\u0435 \u0442\u0430\u0431\u043B\u0438\u0446\u0435, \u0447\u0442\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C", send: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C", thinking: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430\u2026", undo: "\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C", undone: "\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E", failed: "\u041F\u043E\u043C\u043E\u0449\u043D\u0438\u043A \u043D\u0435 \u043E\u0442\u0432\u0435\u0442\u0438\u043B", skipped: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E", done: "\u0413\u043E\u0442\u043E\u0432\u043E" },
96
97
  cf: {
97
98
  title: "\u0423\u0441\u043B\u043E\u0432\u043D\u043E\u0435 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",
98
99
  add: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u043E",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const th: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var th = {
6
6
  apply: "\u0E43\u0E0A\u0E49",
7
7
  reset: "\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15",
8
8
  selectAll: "(\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14)",
9
+ setSelected: "(\u0E40\u0E25\u0E37\u0E2D\u0E01 {n} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23)",
10
+ noAggregate: "\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E04\u0E48\u0E32",
9
11
  search: "\u0E04\u0E49\u0E19\u0E2B\u0E32\u2026",
10
12
  blanks: "(\u0E27\u0E48\u0E32\u0E07)",
11
13
  value: "\u0E04\u0E48\u0E32",
@@ -92,7 +94,6 @@ var th = {
92
94
  freeBadge: "\u0E23\u0E38\u0E48\u0E19\u0E1F\u0E23\u0E35",
93
95
  exportPdf: "\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01 PDF",
94
96
  exportJson: "\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01 JSON",
95
- ai: { title: "\u0E1C\u0E39\u0E49\u0E0A\u0E48\u0E27\u0E22 AI", placeholder: "\u0E16\u0E32\u0E21\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25 \u0E2B\u0E23\u0E37\u0E2D\u0E1A\u0E2D\u0E01\u0E15\u0E32\u0E23\u0E32\u0E07\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E17\u0E33\u0E2D\u0E30\u0E44\u0E23", send: "\u0E2A\u0E48\u0E07", thinking: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E17\u0E33\u0E07\u0E32\u0E19\u2026", undo: "\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33", undone: "\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E41\u0E25\u0E49\u0E27", failed: "\u0E1C\u0E39\u0E49\u0E0A\u0E48\u0E27\u0E22\u0E44\u0E21\u0E48\u0E15\u0E2D\u0E1A\u0E01\u0E25\u0E31\u0E1A", skipped: "\u0E02\u0E49\u0E32\u0E21", done: "\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27" },
96
97
  cf: {
97
98
  title: "\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E15\u0E32\u0E21\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02",
98
99
  add: "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E0E",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const vi: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var vi = {
6
6
  apply: "\xC1p d\u1EE5ng",
7
7
  reset: "\u0110\u1EB7t l\u1EA1i",
8
8
  selectAll: "(Ch\u1ECDn t\u1EA5t c\u1EA3)",
9
+ setSelected: "(\u0111\xE3 ch\u1ECDn {n})",
10
+ noAggregate: "Kh\xF4ng t\u1ED5ng h\u1EE3p",
9
11
  search: "T\xECm\u2026",
10
12
  blanks: "(Tr\u1ED1ng)",
11
13
  value: "Gi\xE1 tr\u1ECB",
@@ -92,7 +94,6 @@ var vi = {
92
94
  freeBadge: "B\u1EA3n mi\u1EC5n ph\xED",
93
95
  exportPdf: "Xu\u1EA5t PDF",
94
96
  exportJson: "Xu\u1EA5t JSON",
95
- ai: { title: "Tr\u1EE3 l\xFD AI", placeholder: "H\u1ECFi v\u1EC1 d\u1EEF li\u1EC7u ho\u1EB7c b\u1EA3o b\u1EA3ng c\u1EA7n l\xE0m g\xEC", send: "G\u1EEDi", thinking: "\u0110ang x\u1EED l\xFD\u2026", undo: "Ho\xE0n t\xE1c", undone: "\u0110\xE3 ho\xE0n t\xE1c", failed: "Tr\u1EE3 l\xFD kh\xF4ng ph\u1EA3n h\u1ED3i", skipped: "\u0110\xE3 b\u1ECF qua", done: "Xong" },
96
97
  cf: {
97
98
  title: "\u0110\u1ECBnh d\u1EA1ng c\xF3 \u0111i\u1EC1u ki\u1EC7n",
98
99
  add: "Th\xEAm quy t\u1EAFc",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const zhCN: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var zhCN = {
6
6
  apply: "\u5E94\u7528",
7
7
  reset: "\u91CD\u7F6E",
8
8
  selectAll: "(\u5168\u9009)",
9
+ setSelected: "(\u5DF2\u9009 {n} \u9879)",
10
+ noAggregate: "\u4E0D\u6C47\u603B",
9
11
  search: "\u641C\u7D22\u2026",
10
12
  blanks: "(\u7A7A\u767D)",
11
13
  value: "\u503C",
@@ -92,7 +94,6 @@ var zhCN = {
92
94
  freeBadge: "\u514D\u8D39\u4F7F\u7528\u4E2D",
93
95
  exportPdf: "\u5BFC\u51FA PDF",
94
96
  exportJson: "\u5BFC\u51FA JSON",
95
- ai: { title: "AI \u52A9\u624B", placeholder: "\u8BE2\u95EE\u6570\u636E\uFF0C\u6216\u544A\u8BC9\u8868\u683C\u8981\u505A\u4EC0\u4E48", send: "\u53D1\u9001", thinking: "\u5904\u7406\u4E2D\u2026", undo: "\u64A4\u9500", undone: "\u5DF2\u64A4\u9500", failed: "\u52A9\u624B\u6CA1\u6709\u56DE\u5E94", skipped: "\u5DF2\u8DF3\u8FC7", done: "\u5B8C\u6210" },
96
97
  cf: {
97
98
  title: "\u6761\u4EF6\u683C\u5F0F",
98
99
  add: "\u6DFB\u52A0\u89C4\u5219",
@@ -1,4 +1,4 @@
1
- import { L as LocalePack } from '../types-CIOv3MoN.js';
1
+ import { L as LocalePack } from '../types-8dux3w2p.js';
2
2
 
3
3
  declare const zhTW: LocalePack;
4
4
 
@@ -6,6 +6,8 @@ var zhTW = {
6
6
  apply: "\u5957\u7528",
7
7
  reset: "\u91CD\u8A2D",
8
8
  selectAll: "(\u5168\u9078)",
9
+ setSelected: "(\u5DF2\u9078 {n} \u9805)",
10
+ noAggregate: "\u4E0D\u5F59\u7E3D",
9
11
  search: "\u641C\u5C0B\u2026",
10
12
  blanks: "(\u7A7A\u767D)",
11
13
  value: "\u503C",
@@ -92,7 +94,6 @@ var zhTW = {
92
94
  freeBadge: "\u514D\u8CBB\u7248",
93
95
  exportPdf: "\u532F\u51FA PDF",
94
96
  exportJson: "\u532F\u51FA JSON",
95
- ai: { title: "AI \u52A9\u7406", placeholder: "\u8A62\u554F\u8CC7\u6599\uFF0C\u6216\u544A\u8A34\u8868\u683C\u8981\u505A\u4EC0\u9EBC", send: "\u50B3\u9001", thinking: "\u8655\u7406\u4E2D\u2026", undo: "\u5FA9\u539F", undone: "\u5DF2\u5FA9\u539F", failed: "\u52A9\u7406\u6C92\u6709\u56DE\u61C9", skipped: "\u5DF2\u7565\u904E", done: "\u5B8C\u6210" },
96
97
  cf: {
97
98
  title: "\u8A2D\u5B9A\u683C\u5F0F\u5316\u7684\u689D\u4EF6",
98
99
  add: "\u65B0\u589E\u898F\u5247",
package/dist/styles.css CHANGED
@@ -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; }
@@ -101,7 +107,8 @@
101
107
  .fg-summary-label { color: var(--fg-muted); }
102
108
  .fg-overlay { position: absolute; left: 0; right: 0; bottom: 0; display: grid; place-items: center; color: var(--fg-muted); pointer-events: none; }
103
109
  .fg-menu {
104
- position: fixed; z-index: 10000; width: 248px; padding: 6px; border-radius: 10px; overflow: auto; overscroll-behavior: contain;
110
+ /* border-box: the max-height set from the window size includes padding and border */
111
+ position: fixed; z-index: 10000; box-sizing: border-box; width: 262px; max-width: calc(100vw - 8px); padding: 6px; border-radius: 10px; overflow: auto; overscroll-behavior: contain;
105
112
  font: var(--fg-font-size)/1.4 var(--fg-font); color: var(--fg-fg); background: var(--fg-popup-bg);
106
113
  border: 1px solid var(--fg-border); box-shadow: var(--fg-shadow);
107
114
  }
@@ -133,7 +140,7 @@
133
140
  .fg-btn-primary { background: var(--fg-accent); border-color: var(--fg-accent); color: var(--fg-accent-fg); }
134
141
  .fg-btn-primary:hover { background: var(--fg-accent); filter: brightness(1.08); }
135
142
  .fg-sidebar { display: flex; flex: none; border-left: 1px solid var(--fg-border); background: var(--fg-header-bg); }
136
- .fg-sidebar-panel { width: 240px; display: flex; flex-direction: column; border-right: 1px solid var(--fg-border); background: var(--fg-bg); }
143
+ .fg-sidebar-panel { width: min(240px, 50vw); display: flex; flex-direction: column; border-right: 1px solid var(--fg-border); background: var(--fg-bg); }
137
144
  .fg-sidebar-tabs { width: 28px; display: flex; flex-direction: column; }
138
145
  .fg-sidebar-tab {
139
146
  writing-mode: vertical-rl; padding: 12px 0; border: 0; background: none; color: var(--fg-header-fg);
@@ -151,7 +158,7 @@
151
158
  }
152
159
  .fg-sidebar-open .fg-sidebar-tab:focus-visible { outline: 2px solid var(--fg-accent); outline-offset: -2px; }
153
160
  .fg-chooser { display: flex; flex-direction: column; gap: 6px; padding: 8px; min-height: 0; flex: 1; }
154
- .fg-chooser-dialog { width: 280px; }
161
+ .fg-chooser-dialog { width: 294px; }
155
162
  .fg-chooser-dialog .fg-chooser { max-height: 420px; }
156
163
  .fg-chooser-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 0 0; }
157
164
  .fg-chooser-close { width: 26px; height: 26px; border: 0; border-radius: 6px; background: none; color: var(--fg-muted); font-size: 18px; cursor: pointer; }
@@ -235,7 +242,7 @@
235
242
  /* ── cell ranges, context menu, toast ───────────────────────────────── */
236
243
  .fg-cell-range { background: var(--fg-range-bg, color-mix(in srgb, var(--fg-accent) 13%, transparent)); }
237
244
  .fg-range-dragging, .fg-range-dragging * { user-select: none; cursor: cell; }
238
- .fg-context-menu { width: 236px; }
245
+ .fg-context-menu { width: 250px; }
239
246
  .fg-cm-item { display: flex; align-items: center; gap: 12px; width: 100%; }
240
247
  .fg-cm-item:disabled { opacity: .45; cursor: default; background: none; }
241
248
  .fg-cm-label { flex: 1; }
@@ -410,9 +417,9 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
410
417
  .fg-free-badge {
411
418
  position: absolute; right: 22px; bottom: 22px; z-index: 30; display: inline-flex; align-items: center; gap: 6px;
412
419
  padding: 4px 10px 4px 6px; border-radius: 999px; background: rgba(255, 255, 255, .92); border: 1px solid rgba(14, 23, 38, .15);
413
- box-shadow: 0 2px 8px rgba(14, 23, 38, .12); color: #0E1726; font: 600 11px/1.2 var(--fg-font); text-decoration: none; opacity: .9;
420
+ box-shadow: 0 2px 8px rgba(14, 23, 38, .12); color: #0E1726; font: 600 11px/1.2 var(--fg-font); text-decoration: none; opacity: .45;
421
+ pointer-events: none; user-select: none;
414
422
  }
415
- .fg-free-badge:hover { opacity: 1; }
416
423
  .fg-free-badge svg { flex: none; }
417
424
 
418
425
  /* column spans */
@@ -495,9 +502,28 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
495
502
  .fg-filter-join { display: flex; gap: 14px; padding: 2px 2px 0; font-size: .92em; color: var(--fg-muted); }
496
503
  .fg-filter-join label { display: flex; align-items: center; gap: 4px; cursor: pointer; }
497
504
 
505
+ /* advanced filter builder: one condition per line (column, operator, value, ×) */
506
+ .fg-filter-builder { width: 520px; display: flex; flex-direction: column; gap: 8px; }
507
+ .fg-filter-builder .fg-filter-join { padding: 0 4px; }
508
+ .fg-fb-list { display: flex; flex-direction: column; border-top: 1px solid var(--fg-border); border-bottom: 1px solid var(--fg-border); max-height: 50vh; overflow: auto; }
509
+ .fg-fb-list:empty { display: none; }
510
+ .fg-fb-row { display: flex; align-items: center; gap: 6px; padding: 6px 2px; }
511
+ .fg-fb-row + .fg-fb-row { border-top: 1px dashed var(--fg-border); }
512
+ .fg-fb-row > select, .fg-fb-row > input { flex: 1 1 0; min-width: 0; }
513
+ .fg-fb-row > .fg-fb-col, .fg-fb-row > .fg-fb-value { flex-grow: 1.3; }
514
+ .fg-fb-remove { flex: none; }
515
+ .fg-fb-group-label { flex: 1; min-width: 0; padding: 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--fg-muted); }
516
+ .fg-fb-add { align-self: flex-start; }
517
+ @media (max-width: 560px) {
518
+ /* narrow screens: the column on its own line, operator and value under it */
519
+ .fg-fb-row { flex-wrap: wrap; }
520
+ .fg-fb-row > .fg-fb-col { flex-basis: calc(100% - 32px); }
521
+ }
522
+
498
523
  /* autoHeight: grow with the rows */
499
524
  .fg-root.fg-auto-height { height: auto; }
500
- .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; }
501
527
  .fg-auto-height .fg-body { flex: none; min-height: 0; }
502
528
  .fg-auto-height .fg-body-pane-center { overflow-y: hidden; }
503
529
 
@@ -512,7 +538,7 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
512
538
  /* conditional formats */
513
539
  .fg-cf-bar { background-image: linear-gradient(to right, transparent var(--fg-bar-from), color-mix(in srgb, var(--fg-bar-color) 38%, transparent) var(--fg-bar-from), color-mix(in srgb, var(--fg-bar-color) 38%, transparent) var(--fg-bar-to), transparent var(--fg-bar-to)); background-repeat: no-repeat; background-size: 100% 70%; background-position: 0 50%; }
514
540
  .fg-cf-icon { display: inline-block; margin-inline-end: 6px; font-size: .9em; line-height: 1; }
515
- .fg-cf-dialog { width: 340px; }
541
+ .fg-cf-dialog { width: 354px; }
516
542
  .fg-cf-list { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 10px; }
517
543
  .fg-cf-rule { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border: 1px solid var(--fg-border); border-radius: 6px; }
518
544
  .fg-cf-rule-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@@ -524,19 +550,3 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
524
550
  .fg-cf-swatch[aria-pressed="true"] { outline: 2px solid var(--fg-accent); outline-offset: 1px; }
525
551
  .fg-cf-empty { color: var(--fg-muted); padding: 4px 0; }
526
552
 
527
- /* AI assistant */
528
- .fg-ai-panel { width: 360px; display: flex; flex-direction: column; gap: 8px; }
529
- .fg-ai-log { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow-y: auto; }
530
- .fg-ai-log:empty { display: none; }
531
- .fg-ai-msg { padding: 7px 10px; border-radius: 10px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 92%; }
532
- .fg-ai-user { align-self: flex-end; background: var(--fg-accent); color: var(--fg-accent-fg); border-bottom-right-radius: 3px; }
533
- .fg-ai-ai { align-self: flex-start; background: var(--fg-header-bg); border: 1px solid var(--fg-border); border-bottom-left-radius: 3px; }
534
- .fg-ai-error { align-self: flex-start; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; }
535
- .fg-ai-wait { color: var(--fg-muted); }
536
- .fg-ai-note { margin-top: 4px; font-size: .9em; color: var(--fg-muted); }
537
- .fg-ai-undo { margin-top: 6px; height: 24px; padding: 0 10px; }
538
- .fg-ai-form { display: flex; gap: 6px; align-items: flex-end; }
539
- .fg-ai-input { flex: 1; resize: vertical; min-height: 40px; max-height: 140px; padding: 6px 8px; font: inherit; }
540
- .fg-ai-tips { display: flex; flex-wrap: wrap; gap: 6px; }
541
- .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; }
542
- .fg-ai-tip:hover { background: var(--fg-row-hover); }