@freegridjs/core 0.1.0 → 0.7.1
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/LICENSE +72 -21
- package/README.md +18 -5
- package/dist/cdn/freegrid.css +178 -1
- package/dist/cdn/freegrid.esm.js +8 -1
- package/dist/cdn/freegrid.min.js +8 -1
- package/dist/index.d.ts +75 -3
- package/dist/index.js +4597 -376
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +53 -0
- package/dist/locales/en.d.ts +1 -1
- package/dist/locales/en.js +53 -0
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +53 -0
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +53 -0
- package/dist/locales/ja.d.ts +1 -1
- package/dist/locales/ja.js +53 -0
- package/dist/locales/ko.d.ts +1 -1
- package/dist/locales/ko.js +53 -0
- package/dist/locales/zh-CN.d.ts +1 -1
- package/dist/locales/zh-CN.js +53 -0
- package/dist/styles.css +178 -1
- package/dist/types-CusLVNhk.d.ts +604 -0
- package/package.json +3 -3
- package/dist/types-vxZQWo_S.d.ts +0 -226
package/dist/locales/de.d.ts
CHANGED
package/dist/locales/de.js
CHANGED
|
@@ -26,6 +26,59 @@ var de = {
|
|
|
26
26
|
resetColumns: "Spalten zur\xFCcksetzen",
|
|
27
27
|
hideColumn: "Spalte ausblenden",
|
|
28
28
|
close: "Schlie\xDFen",
|
|
29
|
+
copy: "Kopieren",
|
|
30
|
+
copyWithHeaders: "Mit \xDCberschriften kopieren",
|
|
31
|
+
paste: "Einf\xFCgen",
|
|
32
|
+
pasteHint: "Der Browser hat die Zwischenablage blockiert. Dr\xFCcken Sie Ctrl+V zum Einf\xFCgen.",
|
|
33
|
+
required: "Dieses Feld ist erforderlich",
|
|
34
|
+
invalidValue: "Ung\xFCltiger Wert",
|
|
35
|
+
undo: "R\xFCckg\xE4ngig",
|
|
36
|
+
redo: "Wiederholen",
|
|
37
|
+
deleteRows: "Ausgew\xE4hlte Zeilen l\xF6schen",
|
|
38
|
+
copyRows: "Ausgew\xE4hlte Zeilen kopieren",
|
|
39
|
+
statusRows: "{n} Zeilen",
|
|
40
|
+
statusFiltered: "{shown} von {total} Zeilen",
|
|
41
|
+
statusSelected: "{n} ausgew\xE4hlt",
|
|
42
|
+
count: "Anzahl",
|
|
43
|
+
sum: "Summe",
|
|
44
|
+
avg: "Mittelwert",
|
|
45
|
+
min: "Min",
|
|
46
|
+
max: "Max",
|
|
47
|
+
findPlaceholder: "Im Raster suchen",
|
|
48
|
+
noMatches: "Keine Treffer",
|
|
49
|
+
findNext: "N\xE4chster Treffer",
|
|
50
|
+
findPrevious: "Vorheriger Treffer",
|
|
51
|
+
groupPanelHint: "Spalten\xFCberschrift hierher ziehen, um zu gruppieren",
|
|
52
|
+
groupByThis: "Nach dieser Spalte gruppieren",
|
|
53
|
+
ungroup: "Gruppierung aufheben",
|
|
54
|
+
expandAll: "Alle aufklappen",
|
|
55
|
+
collapseAll: "Alle zuklappen",
|
|
56
|
+
pagerRange: "{from}\u2013{to} von {total}",
|
|
57
|
+
pageOf: "Seite {page} von {pages}",
|
|
58
|
+
pageSize: "Zeilen pro Seite",
|
|
59
|
+
firstPage: "Erste Seite",
|
|
60
|
+
previousPage: "Vorherige Seite",
|
|
61
|
+
nextPage: "N\xE4chste Seite",
|
|
62
|
+
lastPage: "Letzte Seite",
|
|
63
|
+
loading: "Wird geladen\u2026",
|
|
64
|
+
loadFailed: "Zeilen konnten nicht geladen werden",
|
|
65
|
+
filters: "Filter",
|
|
66
|
+
clearFilters: "Alle Filter entfernen",
|
|
67
|
+
exportCsv: "Als CSV exportieren",
|
|
68
|
+
exportExcel: "Nach Excel exportieren",
|
|
69
|
+
pivot: "Pivot",
|
|
70
|
+
pivotMode: "Pivot-Modus",
|
|
71
|
+
pivotRows: "Zeilengruppen",
|
|
72
|
+
pivotColumns: "Spaltenbeschriftungen",
|
|
73
|
+
pivotValues: "Werte",
|
|
74
|
+
total: "Gesamt",
|
|
75
|
+
addColumn: "Spalte hinzuf\xFCgen\u2026",
|
|
76
|
+
chartBar: "Balkendiagramm",
|
|
77
|
+
chartStacked: "Gestapelte Balken",
|
|
78
|
+
chartLine: "Liniendiagramm",
|
|
79
|
+
chartArea: "Fl\xE4chendiagramm",
|
|
80
|
+
chartPie: "Kreisdiagramm",
|
|
81
|
+
freeBadge: "Kostenlose Version",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "Enth\xE4lt",
|
|
31
84
|
equals: "Gleich",
|
package/dist/locales/en.d.ts
CHANGED
package/dist/locales/en.js
CHANGED
|
@@ -26,6 +26,59 @@ var en = {
|
|
|
26
26
|
resetColumns: "Reset columns",
|
|
27
27
|
hideColumn: "Hide column",
|
|
28
28
|
close: "Close",
|
|
29
|
+
copy: "Copy",
|
|
30
|
+
copyWithHeaders: "Copy with headers",
|
|
31
|
+
paste: "Paste",
|
|
32
|
+
pasteHint: "Clipboard access was blocked. Press Ctrl+V to paste.",
|
|
33
|
+
required: "This field is required",
|
|
34
|
+
invalidValue: "Invalid value",
|
|
35
|
+
undo: "Undo",
|
|
36
|
+
redo: "Redo",
|
|
37
|
+
deleteRows: "Delete selected rows",
|
|
38
|
+
copyRows: "Copy selected rows",
|
|
39
|
+
statusRows: "{n} rows",
|
|
40
|
+
statusFiltered: "{shown} of {total} rows",
|
|
41
|
+
statusSelected: "{n} selected",
|
|
42
|
+
count: "Count",
|
|
43
|
+
sum: "Sum",
|
|
44
|
+
avg: "Average",
|
|
45
|
+
min: "Min",
|
|
46
|
+
max: "Max",
|
|
47
|
+
findPlaceholder: "Find in grid",
|
|
48
|
+
noMatches: "No matches",
|
|
49
|
+
findNext: "Next match",
|
|
50
|
+
findPrevious: "Previous match",
|
|
51
|
+
groupPanelHint: "Drag a column header here to group rows",
|
|
52
|
+
groupByThis: "Group by this column",
|
|
53
|
+
ungroup: "Remove grouping",
|
|
54
|
+
expandAll: "Expand all",
|
|
55
|
+
collapseAll: "Collapse all",
|
|
56
|
+
pagerRange: "{from}\u2013{to} of {total}",
|
|
57
|
+
pageOf: "Page {page} of {pages}",
|
|
58
|
+
pageSize: "Rows per page",
|
|
59
|
+
firstPage: "First page",
|
|
60
|
+
previousPage: "Previous page",
|
|
61
|
+
nextPage: "Next page",
|
|
62
|
+
lastPage: "Last page",
|
|
63
|
+
loading: "Loading\u2026",
|
|
64
|
+
loadFailed: "Could not load rows",
|
|
65
|
+
filters: "Filters",
|
|
66
|
+
clearFilters: "Clear all filters",
|
|
67
|
+
exportCsv: "Export CSV",
|
|
68
|
+
exportExcel: "Export Excel",
|
|
69
|
+
pivot: "Pivot",
|
|
70
|
+
pivotMode: "Pivot mode",
|
|
71
|
+
pivotRows: "Row groups",
|
|
72
|
+
pivotColumns: "Column labels",
|
|
73
|
+
pivotValues: "Values",
|
|
74
|
+
total: "Total",
|
|
75
|
+
addColumn: "Add a column\u2026",
|
|
76
|
+
chartBar: "Bar chart",
|
|
77
|
+
chartStacked: "Stacked bar chart",
|
|
78
|
+
chartLine: "Line chart",
|
|
79
|
+
chartArea: "Area chart",
|
|
80
|
+
chartPie: "Pie chart",
|
|
81
|
+
freeBadge: "Free version",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "Contains",
|
|
31
84
|
equals: "Equals",
|
package/dist/locales/es.d.ts
CHANGED
package/dist/locales/es.js
CHANGED
|
@@ -26,6 +26,59 @@ var es = {
|
|
|
26
26
|
resetColumns: "Restablecer columnas",
|
|
27
27
|
hideColumn: "Ocultar columna",
|
|
28
28
|
close: "Cerrar",
|
|
29
|
+
copy: "Copiar",
|
|
30
|
+
copyWithHeaders: "Copiar con encabezados",
|
|
31
|
+
paste: "Pegar",
|
|
32
|
+
pasteHint: "El navegador bloque\xF3 el portapapeles. Pulsa Ctrl+V para pegar.",
|
|
33
|
+
required: "Este campo es obligatorio",
|
|
34
|
+
invalidValue: "Valor no v\xE1lido",
|
|
35
|
+
undo: "Deshacer",
|
|
36
|
+
redo: "Rehacer",
|
|
37
|
+
deleteRows: "Eliminar filas seleccionadas",
|
|
38
|
+
copyRows: "Copiar filas seleccionadas",
|
|
39
|
+
statusRows: "{n} filas",
|
|
40
|
+
statusFiltered: "{shown} de {total} filas",
|
|
41
|
+
statusSelected: "{n} seleccionadas",
|
|
42
|
+
count: "Recuento",
|
|
43
|
+
sum: "Suma",
|
|
44
|
+
avg: "Promedio",
|
|
45
|
+
min: "M\xEDn.",
|
|
46
|
+
max: "M\xE1x.",
|
|
47
|
+
findPlaceholder: "Buscar en la tabla",
|
|
48
|
+
noMatches: "Sin coincidencias",
|
|
49
|
+
findNext: "Siguiente",
|
|
50
|
+
findPrevious: "Anterior",
|
|
51
|
+
groupPanelHint: "Arrastre aqu\xED un encabezado de columna para agrupar",
|
|
52
|
+
groupByThis: "Agrupar por esta columna",
|
|
53
|
+
ungroup: "Quitar agrupaci\xF3n",
|
|
54
|
+
expandAll: "Expandir todo",
|
|
55
|
+
collapseAll: "Contraer todo",
|
|
56
|
+
pagerRange: "{from}\u2013{to} de {total}",
|
|
57
|
+
pageOf: "P\xE1gina {page} de {pages}",
|
|
58
|
+
pageSize: "Filas por p\xE1gina",
|
|
59
|
+
firstPage: "Primera p\xE1gina",
|
|
60
|
+
previousPage: "P\xE1gina anterior",
|
|
61
|
+
nextPage: "P\xE1gina siguiente",
|
|
62
|
+
lastPage: "\xDAltima p\xE1gina",
|
|
63
|
+
loading: "Cargando\u2026",
|
|
64
|
+
loadFailed: "No se pudieron cargar las filas",
|
|
65
|
+
filters: "Filtros",
|
|
66
|
+
clearFilters: "Quitar todos los filtros",
|
|
67
|
+
exportCsv: "Exportar CSV",
|
|
68
|
+
exportExcel: "Exportar a Excel",
|
|
69
|
+
pivot: "Tabla din\xE1mica",
|
|
70
|
+
pivotMode: "Modo tabla din\xE1mica",
|
|
71
|
+
pivotRows: "Grupos de filas",
|
|
72
|
+
pivotColumns: "Etiquetas de columna",
|
|
73
|
+
pivotValues: "Valores",
|
|
74
|
+
total: "Total",
|
|
75
|
+
addColumn: "A\xF1adir columna\u2026",
|
|
76
|
+
chartBar: "Gr\xE1fico de barras",
|
|
77
|
+
chartStacked: "Barras apiladas",
|
|
78
|
+
chartLine: "Gr\xE1fico de l\xEDneas",
|
|
79
|
+
chartArea: "Gr\xE1fico de \xE1reas",
|
|
80
|
+
chartPie: "Gr\xE1fico circular",
|
|
81
|
+
freeBadge: "Versi\xF3n gratuita",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "Contiene",
|
|
31
84
|
equals: "Igual a",
|
package/dist/locales/fr.d.ts
CHANGED
package/dist/locales/fr.js
CHANGED
|
@@ -26,6 +26,59 @@ var fr = {
|
|
|
26
26
|
resetColumns: "R\xE9initialiser les colonnes",
|
|
27
27
|
hideColumn: "Masquer la colonne",
|
|
28
28
|
close: "Fermer",
|
|
29
|
+
copy: "Copier",
|
|
30
|
+
copyWithHeaders: "Copier avec les en-t\xEAtes",
|
|
31
|
+
paste: "Coller",
|
|
32
|
+
pasteHint: "Le navigateur a bloqu\xE9 le presse-papiers. Appuyez sur Ctrl+V pour coller.",
|
|
33
|
+
required: "Ce champ est obligatoire",
|
|
34
|
+
invalidValue: "Valeur non valide",
|
|
35
|
+
undo: "Annuler",
|
|
36
|
+
redo: "R\xE9tablir",
|
|
37
|
+
deleteRows: "Supprimer les lignes s\xE9lectionn\xE9es",
|
|
38
|
+
copyRows: "Copier les lignes s\xE9lectionn\xE9es",
|
|
39
|
+
statusRows: "{n} lignes",
|
|
40
|
+
statusFiltered: "{shown} sur {total} lignes",
|
|
41
|
+
statusSelected: "{n} s\xE9lectionn\xE9es",
|
|
42
|
+
count: "Nombre",
|
|
43
|
+
sum: "Somme",
|
|
44
|
+
avg: "Moyenne",
|
|
45
|
+
min: "Min",
|
|
46
|
+
max: "Max",
|
|
47
|
+
findPlaceholder: "Rechercher dans la grille",
|
|
48
|
+
noMatches: "Aucun r\xE9sultat",
|
|
49
|
+
findNext: "Suivant",
|
|
50
|
+
findPrevious: "Pr\xE9c\xE9dent",
|
|
51
|
+
groupPanelHint: "Faites glisser un en-t\xEAte de colonne ici pour regrouper",
|
|
52
|
+
groupByThis: "Regrouper par cette colonne",
|
|
53
|
+
ungroup: "Supprimer le regroupement",
|
|
54
|
+
expandAll: "Tout d\xE9velopper",
|
|
55
|
+
collapseAll: "Tout r\xE9duire",
|
|
56
|
+
pagerRange: "{from}\u2013{to} sur {total}",
|
|
57
|
+
pageOf: "Page {page} sur {pages}",
|
|
58
|
+
pageSize: "Lignes par page",
|
|
59
|
+
firstPage: "Premi\xE8re page",
|
|
60
|
+
previousPage: "Page pr\xE9c\xE9dente",
|
|
61
|
+
nextPage: "Page suivante",
|
|
62
|
+
lastPage: "Derni\xE8re page",
|
|
63
|
+
loading: "Chargement\u2026",
|
|
64
|
+
loadFailed: "Impossible de charger les lignes",
|
|
65
|
+
filters: "Filtres",
|
|
66
|
+
clearFilters: "Effacer tous les filtres",
|
|
67
|
+
exportCsv: "Exporter en CSV",
|
|
68
|
+
exportExcel: "Exporter vers Excel",
|
|
69
|
+
pivot: "Tableau crois\xE9",
|
|
70
|
+
pivotMode: "Mode tableau crois\xE9",
|
|
71
|
+
pivotRows: "Groupes de lignes",
|
|
72
|
+
pivotColumns: "\xC9tiquettes de colonnes",
|
|
73
|
+
pivotValues: "Valeurs",
|
|
74
|
+
total: "Total",
|
|
75
|
+
addColumn: "Ajouter une colonne\u2026",
|
|
76
|
+
chartBar: "Histogramme",
|
|
77
|
+
chartStacked: "Histogramme empil\xE9",
|
|
78
|
+
chartLine: "Courbes",
|
|
79
|
+
chartArea: "Aires",
|
|
80
|
+
chartPie: "Secteurs",
|
|
81
|
+
freeBadge: "Version gratuite",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "Contient",
|
|
31
84
|
equals: "\xC9gal \xE0",
|
package/dist/locales/ja.d.ts
CHANGED
package/dist/locales/ja.js
CHANGED
|
@@ -26,6 +26,59 @@ var ja = {
|
|
|
26
26
|
resetColumns: "\u5217\u3092\u30EA\u30BB\u30C3\u30C8",
|
|
27
27
|
hideColumn: "\u5217\u3092\u975E\u8868\u793A",
|
|
28
28
|
close: "\u9589\u3058\u308B",
|
|
29
|
+
copy: "\u30B3\u30D4\u30FC",
|
|
30
|
+
copyWithHeaders: "\u30D8\u30C3\u30C0\u30FC\u4ED8\u304D\u3067\u30B3\u30D4\u30FC",
|
|
31
|
+
paste: "\u8CBC\u308A\u4ED8\u3051",
|
|
32
|
+
pasteHint: "\u30D6\u30E9\u30A6\u30B6\u30FC\u304C\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u30D6\u30ED\u30C3\u30AF\u3057\u307E\u3057\u305F\u3002Ctrl+V \u3067\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
33
|
+
required: "\u3053\u306E\u9805\u76EE\u306F\u5FC5\u9808\u3067\u3059",
|
|
34
|
+
invalidValue: "\u7121\u52B9\u306A\u5024\u3067\u3059",
|
|
35
|
+
undo: "\u5143\u306B\u623B\u3059",
|
|
36
|
+
redo: "\u3084\u308A\u76F4\u3057",
|
|
37
|
+
deleteRows: "\u9078\u629E\u3057\u305F\u884C\u3092\u524A\u9664",
|
|
38
|
+
copyRows: "\u9078\u629E\u3057\u305F\u884C\u3092\u30B3\u30D4\u30FC",
|
|
39
|
+
statusRows: "{n} \u884C",
|
|
40
|
+
statusFiltered: "{total} \u884C\u4E2D {shown} \u884C",
|
|
41
|
+
statusSelected: "{n} \u4EF6\u9078\u629E",
|
|
42
|
+
count: "\u30C7\u30FC\u30BF\u306E\u500B\u6570",
|
|
43
|
+
sum: "\u5408\u8A08",
|
|
44
|
+
avg: "\u5E73\u5747",
|
|
45
|
+
min: "\u6700\u5C0F",
|
|
46
|
+
max: "\u6700\u5927",
|
|
47
|
+
findPlaceholder: "\u30B0\u30EA\u30C3\u30C9\u5185\u3092\u691C\u7D22",
|
|
48
|
+
noMatches: "\u4E00\u81F4\u306A\u3057",
|
|
49
|
+
findNext: "\u6B21\u3092\u691C\u7D22",
|
|
50
|
+
findPrevious: "\u524D\u3092\u691C\u7D22",
|
|
51
|
+
groupPanelHint: "\u5217\u898B\u51FA\u3057\u3092\u3053\u3053\u306B\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u30B0\u30EB\u30FC\u30D7\u5316",
|
|
52
|
+
groupByThis: "\u3053\u306E\u5217\u3067\u30B0\u30EB\u30FC\u30D7\u5316",
|
|
53
|
+
ungroup: "\u30B0\u30EB\u30FC\u30D7\u5316\u3092\u89E3\u9664",
|
|
54
|
+
expandAll: "\u3059\u3079\u3066\u5C55\u958B",
|
|
55
|
+
collapseAll: "\u3059\u3079\u3066\u6298\u308A\u305F\u305F\u3080",
|
|
56
|
+
pagerRange: "{total} \u4EF6\u4E2D {from}\u2013{to} \u4EF6",
|
|
57
|
+
pageOf: "{pages} \u30DA\u30FC\u30B8\u4E2D {page} \u30DA\u30FC\u30B8",
|
|
58
|
+
pageSize: "1 \u30DA\u30FC\u30B8\u306E\u884C\u6570",
|
|
59
|
+
firstPage: "\u6700\u521D\u306E\u30DA\u30FC\u30B8",
|
|
60
|
+
previousPage: "\u524D\u306E\u30DA\u30FC\u30B8",
|
|
61
|
+
nextPage: "\u6B21\u306E\u30DA\u30FC\u30B8",
|
|
62
|
+
lastPage: "\u6700\u5F8C\u306E\u30DA\u30FC\u30B8",
|
|
63
|
+
loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",
|
|
64
|
+
loadFailed: "\u884C\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",
|
|
65
|
+
filters: "\u30D5\u30A3\u30EB\u30BF\u30FC",
|
|
66
|
+
clearFilters: "\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u89E3\u9664",
|
|
67
|
+
exportCsv: "CSV \u306B\u66F8\u304D\u51FA\u3059",
|
|
68
|
+
exportExcel: "Excel \u306B\u66F8\u304D\u51FA\u3059",
|
|
69
|
+
pivot: "\u30D4\u30DC\u30C3\u30C8",
|
|
70
|
+
pivotMode: "\u30D4\u30DC\u30C3\u30C8\u30E2\u30FC\u30C9",
|
|
71
|
+
pivotRows: "\u884C\u30B0\u30EB\u30FC\u30D7",
|
|
72
|
+
pivotColumns: "\u5217\u30E9\u30D9\u30EB",
|
|
73
|
+
pivotValues: "\u5024",
|
|
74
|
+
total: "\u5408\u8A08",
|
|
75
|
+
addColumn: "\u5217\u3092\u8FFD\u52A0\u2026",
|
|
76
|
+
chartBar: "\u68D2\u30B0\u30E9\u30D5",
|
|
77
|
+
chartStacked: "\u7A4D\u307F\u4E0A\u3052\u68D2\u30B0\u30E9\u30D5",
|
|
78
|
+
chartLine: "\u6298\u308C\u7DDA\u30B0\u30E9\u30D5",
|
|
79
|
+
chartArea: "\u9762\u30B0\u30E9\u30D5",
|
|
80
|
+
chartPie: "\u5186\u30B0\u30E9\u30D5",
|
|
81
|
+
freeBadge: "\u7121\u6599\u7248\u3092\u4F7F\u7528\u4E2D",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "\u542B\u3080",
|
|
31
84
|
equals: "\u7B49\u3057\u3044",
|
package/dist/locales/ko.d.ts
CHANGED
package/dist/locales/ko.js
CHANGED
|
@@ -26,6 +26,59 @@ var ko = {
|
|
|
26
26
|
resetColumns: "\uCEEC\uB7FC \uCD08\uAE30\uD654",
|
|
27
27
|
hideColumn: "\uCEEC\uB7FC \uC228\uAE30\uAE30",
|
|
28
28
|
close: "\uB2EB\uAE30",
|
|
29
|
+
copy: "\uBCF5\uC0AC",
|
|
30
|
+
copyWithHeaders: "\uD5E4\uB354 \uD3EC\uD568 \uBCF5\uC0AC",
|
|
31
|
+
paste: "\uBD99\uC5EC\uB123\uAE30",
|
|
32
|
+
pasteHint: "\uBE0C\uB77C\uC6B0\uC800\uAC00 \uD074\uB9BD\uBCF4\uB4DC \uC811\uADFC\uC744 \uB9C9\uC558\uC2B5\uB2C8\uB2E4. Ctrl+V\uB85C \uBD99\uC5EC\uB123\uC73C\uC138\uC694.",
|
|
33
|
+
required: "\uD544\uC218 \uC785\uB825 \uD56D\uBAA9\uC785\uB2C8\uB2E4",
|
|
34
|
+
invalidValue: "\uC62C\uBC14\uB978 \uAC12\uC774 \uC544\uB2D9\uB2C8\uB2E4",
|
|
35
|
+
undo: "\uC2E4\uD589 \uCDE8\uC18C",
|
|
36
|
+
redo: "\uB2E4\uC2DC \uC2E4\uD589",
|
|
37
|
+
deleteRows: "\uC120\uD0DD\uD55C \uD589 \uC0AD\uC81C",
|
|
38
|
+
copyRows: "\uC120\uD0DD\uD55C \uD589 \uBCF5\uC0AC",
|
|
39
|
+
statusRows: "{n}\uD589",
|
|
40
|
+
statusFiltered: "{total}\uD589 \uC911 {shown}\uD589",
|
|
41
|
+
statusSelected: "{n}\uAC1C \uC120\uD0DD",
|
|
42
|
+
count: "\uAC1C\uC218",
|
|
43
|
+
sum: "\uD569\uACC4",
|
|
44
|
+
avg: "\uD3C9\uADE0",
|
|
45
|
+
min: "\uCD5C\uC18C",
|
|
46
|
+
max: "\uCD5C\uB300",
|
|
47
|
+
findPlaceholder: "\uADF8\uB9AC\uB4DC\uC5D0\uC11C \uCC3E\uAE30",
|
|
48
|
+
noMatches: "\uC77C\uCE58 \uD56D\uBAA9 \uC5C6\uC74C",
|
|
49
|
+
findNext: "\uB2E4\uC74C \uCC3E\uAE30",
|
|
50
|
+
findPrevious: "\uC774\uC804 \uCC3E\uAE30",
|
|
51
|
+
groupPanelHint: "\uC5F4 \uBA38\uB9AC\uAE00\uC744 \uC5EC\uAE30\uB85C \uB04C\uC5B4\uC640 \uD589\uC744 \uBB36\uC73C\uC138\uC694",
|
|
52
|
+
groupByThis: "\uC774 \uC5F4\uB85C \uBB36\uAE30",
|
|
53
|
+
ungroup: "\uBB36\uAE30 \uD574\uC81C",
|
|
54
|
+
expandAll: "\uBAA8\uB450 \uD3BC\uCE58\uAE30",
|
|
55
|
+
collapseAll: "\uBAA8\uB450 \uC811\uAE30",
|
|
56
|
+
pagerRange: "{total}\uAC1C \uC911 {from}\u2013{to}",
|
|
57
|
+
pageOf: "{pages}\uCABD \uC911 {page}\uCABD",
|
|
58
|
+
pageSize: "\uCABD\uB2F9 \uD589 \uC218",
|
|
59
|
+
firstPage: "\uCCAB \uCABD",
|
|
60
|
+
previousPage: "\uC774\uC804 \uCABD",
|
|
61
|
+
nextPage: "\uB2E4\uC74C \uCABD",
|
|
62
|
+
lastPage: "\uB9C8\uC9C0\uB9C9 \uCABD",
|
|
63
|
+
loading: "\uBD88\uB7EC\uC624\uB294 \uC911\u2026",
|
|
64
|
+
loadFailed: "\uD589\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4",
|
|
65
|
+
filters: "\uD544\uD130",
|
|
66
|
+
clearFilters: "\uD544\uD130 \uBAA8\uB450 \uC9C0\uC6B0\uAE30",
|
|
67
|
+
exportCsv: "CSV\uB85C \uB0B4\uBCF4\uB0B4\uAE30",
|
|
68
|
+
exportExcel: "\uC5D1\uC140\uB85C \uB0B4\uBCF4\uB0B4\uAE30",
|
|
69
|
+
pivot: "\uD53C\uBC97",
|
|
70
|
+
pivotMode: "\uD53C\uBC97 \uBAA8\uB4DC",
|
|
71
|
+
pivotRows: "\uD589 \uADF8\uB8F9",
|
|
72
|
+
pivotColumns: "\uC5F4 \uB808\uC774\uBE14",
|
|
73
|
+
pivotValues: "\uAC12",
|
|
74
|
+
total: "\uD569\uACC4",
|
|
75
|
+
addColumn: "\uCEEC\uB7FC \uCD94\uAC00\u2026",
|
|
76
|
+
chartBar: "\uB9C9\uB300 \uCC28\uD2B8",
|
|
77
|
+
chartStacked: "\uB204\uC801 \uB9C9\uB300 \uCC28\uD2B8",
|
|
78
|
+
chartLine: "\uAEBE\uC740\uC120 \uCC28\uD2B8",
|
|
79
|
+
chartArea: "\uC601\uC5ED \uCC28\uD2B8",
|
|
80
|
+
chartPie: "\uC6D0\uD615 \uCC28\uD2B8",
|
|
81
|
+
freeBadge: "\uBB34\uB8CC \uC0AC\uC6A9 \uC911",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "\uD3EC\uD568",
|
|
31
84
|
equals: "\uAC19\uC74C",
|
package/dist/locales/zh-CN.d.ts
CHANGED
package/dist/locales/zh-CN.js
CHANGED
|
@@ -26,6 +26,59 @@ var zhCN = {
|
|
|
26
26
|
resetColumns: "\u91CD\u7F6E\u5217",
|
|
27
27
|
hideColumn: "\u9690\u85CF\u5217",
|
|
28
28
|
close: "\u5173\u95ED",
|
|
29
|
+
copy: "\u590D\u5236",
|
|
30
|
+
copyWithHeaders: "\u8FDE\u540C\u6807\u9898\u590D\u5236",
|
|
31
|
+
paste: "\u7C98\u8D34",
|
|
32
|
+
pasteHint: "\u6D4F\u89C8\u5668\u963B\u6B62\u4E86\u526A\u8D34\u677F\u8BBF\u95EE\u3002\u8BF7\u6309 Ctrl+V \u7C98\u8D34\u3002",
|
|
33
|
+
required: "\u6B64\u9879\u4E3A\u5FC5\u586B\u9879",
|
|
34
|
+
invalidValue: "\u503C\u65E0\u6548",
|
|
35
|
+
undo: "\u64A4\u9500",
|
|
36
|
+
redo: "\u91CD\u505A",
|
|
37
|
+
deleteRows: "\u5220\u9664\u6240\u9009\u884C",
|
|
38
|
+
copyRows: "\u590D\u5236\u6240\u9009\u884C",
|
|
39
|
+
statusRows: "{n} \u884C",
|
|
40
|
+
statusFiltered: "{total} \u884C\u4E2D\u7684 {shown} \u884C",
|
|
41
|
+
statusSelected: "\u5DF2\u9009 {n} \u884C",
|
|
42
|
+
count: "\u8BA1\u6570",
|
|
43
|
+
sum: "\u6C42\u548C",
|
|
44
|
+
avg: "\u5E73\u5747\u503C",
|
|
45
|
+
min: "\u6700\u5C0F\u503C",
|
|
46
|
+
max: "\u6700\u5927\u503C",
|
|
47
|
+
findPlaceholder: "\u5728\u8868\u683C\u4E2D\u67E5\u627E",
|
|
48
|
+
noMatches: "\u65E0\u5339\u914D\u9879",
|
|
49
|
+
findNext: "\u4E0B\u4E00\u4E2A",
|
|
50
|
+
findPrevious: "\u4E0A\u4E00\u4E2A",
|
|
51
|
+
groupPanelHint: "\u5C06\u5217\u6807\u9898\u62D6\u5230\u6B64\u5904\u4EE5\u5206\u7EC4",
|
|
52
|
+
groupByThis: "\u6309\u6B64\u5217\u5206\u7EC4",
|
|
53
|
+
ungroup: "\u53D6\u6D88\u5206\u7EC4",
|
|
54
|
+
expandAll: "\u5168\u90E8\u5C55\u5F00",
|
|
55
|
+
collapseAll: "\u5168\u90E8\u6298\u53E0",
|
|
56
|
+
pagerRange: "\u7B2C {from}\u2013{to} \u6761\uFF0C\u5171 {total} \u6761",
|
|
57
|
+
pageOf: "\u7B2C {page} \u9875\uFF0C\u5171 {pages} \u9875",
|
|
58
|
+
pageSize: "\u6BCF\u9875\u884C\u6570",
|
|
59
|
+
firstPage: "\u9996\u9875",
|
|
60
|
+
previousPage: "\u4E0A\u4E00\u9875",
|
|
61
|
+
nextPage: "\u4E0B\u4E00\u9875",
|
|
62
|
+
lastPage: "\u672B\u9875",
|
|
63
|
+
loading: "\u52A0\u8F7D\u4E2D\u2026",
|
|
64
|
+
loadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6570\u636E",
|
|
65
|
+
filters: "\u7B5B\u9009",
|
|
66
|
+
clearFilters: "\u6E05\u9664\u6240\u6709\u7B5B\u9009",
|
|
67
|
+
exportCsv: "\u5BFC\u51FA CSV",
|
|
68
|
+
exportExcel: "\u5BFC\u51FA Excel",
|
|
69
|
+
pivot: "\u6570\u636E\u900F\u89C6",
|
|
70
|
+
pivotMode: "\u900F\u89C6\u6A21\u5F0F",
|
|
71
|
+
pivotRows: "\u884C\u5206\u7EC4",
|
|
72
|
+
pivotColumns: "\u5217\u6807\u7B7E",
|
|
73
|
+
pivotValues: "\u503C",
|
|
74
|
+
total: "\u603B\u8BA1",
|
|
75
|
+
addColumn: "\u6DFB\u52A0\u5217\u2026",
|
|
76
|
+
chartBar: "\u67F1\u72B6\u56FE",
|
|
77
|
+
chartStacked: "\u5806\u79EF\u67F1\u72B6\u56FE",
|
|
78
|
+
chartLine: "\u6298\u7EBF\u56FE",
|
|
79
|
+
chartArea: "\u9762\u79EF\u56FE",
|
|
80
|
+
chartPie: "\u997C\u56FE",
|
|
81
|
+
freeBadge: "\u514D\u8D39\u4F7F\u7528\u4E2D",
|
|
29
82
|
ops: {
|
|
30
83
|
contains: "\u5305\u542B",
|
|
31
84
|
equals: "\u7B49\u4E8E",
|
package/dist/styles.css
CHANGED
|
@@ -192,9 +192,186 @@
|
|
|
192
192
|
.fg-theme-classic .fg-menu-btn { color: #c9d2e0; }
|
|
193
193
|
.fg-theme-classic .fg-menu-btn:hover { background: rgba(255, 255, 255, .12); color: #ffffff; }
|
|
194
194
|
.fg-theme-classic .fg-sort-icon, .fg-theme-classic .fg-menu-btn.fg-filter-active { color: #ffd166; }
|
|
195
|
-
.fg-theme-classic .fg-sidebar-tab { color: #
|
|
195
|
+
.fg-theme-classic .fg-sidebar-tab { color: #c9d2e0; }
|
|
196
|
+
.fg-theme-classic .fg-sidebar-tab[aria-expanded="true"] { color: #ffd166; box-shadow: inset 2px 0 #ffd166; }
|
|
196
197
|
.fg-theme-board .fg-header-cell, .fg-theme-erp .fg-header-cell, .fg-theme-excel .fg-header-cell, .fg-theme-classic .fg-header-cell { flex-direction: row; justify-content: center; }
|
|
197
198
|
.fg-theme-board .fg-menu-btn, .fg-theme-erp .fg-menu-btn, .fg-theme-excel .fg-menu-btn, .fg-theme-classic .fg-menu-btn {
|
|
198
199
|
position: absolute; right: 6px; top: 50%; transform: translateY(-50%); margin: 0;
|
|
199
200
|
}
|
|
200
201
|
.fg-theme-board .fg-header-label, .fg-theme-erp .fg-header-label, .fg-theme-excel .fg-header-label, .fg-theme-classic .fg-header-label { flex: 0 1 auto; }
|
|
202
|
+
|
|
203
|
+
/* ── cell ranges, context menu, toast ───────────────────────────────── */
|
|
204
|
+
.fg-cell-range { background: var(--fg-range-bg, color-mix(in srgb, var(--fg-accent) 13%, transparent)); }
|
|
205
|
+
.fg-range-dragging, .fg-range-dragging * { user-select: none; cursor: cell; }
|
|
206
|
+
.fg-context-menu { width: 236px; }
|
|
207
|
+
.fg-cm-item { display: flex; align-items: center; gap: 12px; width: 100%; }
|
|
208
|
+
.fg-cm-item:disabled { opacity: .45; cursor: default; background: none; }
|
|
209
|
+
.fg-cm-label { flex: 1; }
|
|
210
|
+
.fg-cm-shortcut { color: var(--fg-muted); font-size: .9em; }
|
|
211
|
+
.fg-cm-sep { height: 1px; margin: 4px 2px; background: var(--fg-border); }
|
|
212
|
+
.fg-toast {
|
|
213
|
+
position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 20; max-width: 90%;
|
|
214
|
+
padding: 8px 14px; border-radius: 8px; background: var(--fg-fg); color: var(--fg-bg); font-size: .95em; box-shadow: var(--fg-shadow);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/* ── editing ────────────────────────────────────────────────────────── */
|
|
218
|
+
.fg-editor { position: absolute; z-index: 15; display: flex; background: var(--fg-bg); box-shadow: 0 0 0 2px var(--fg-focus), var(--fg-shadow); border-radius: 2px; }
|
|
219
|
+
.fg-editor-control { flex: 1; min-width: 0; width: 100%; height: 100%; border: 0; outline: none; padding: 0 var(--fg-cell-px); background: transparent; color: var(--fg-fg); font: inherit; }
|
|
220
|
+
textarea.fg-editor-control { padding-top: 8px; resize: none; }
|
|
221
|
+
.fg-editor-msg { position: absolute; left: -2px; top: 100%; margin-top: 4px; white-space: nowrap; padding: 4px 8px; border-radius: 6px; background: #c2361f; color: #fff; font-size: .9em; }
|
|
222
|
+
.fg-editor-msg:empty { display: none; }
|
|
223
|
+
.fg-editor-invalid { box-shadow: 0 0 0 2px #c2361f, var(--fg-shadow); }
|
|
224
|
+
.fg-cell-dirty { background-image: linear-gradient(225deg, var(--fg-dirty, #f2a900) 6px, transparent 6px); }
|
|
225
|
+
.fg-row-created { box-shadow: inset 3px 0 0 var(--fg-accent); }
|
|
226
|
+
|
|
227
|
+
/* ── v0.3: merge, pinned rows, status bar, fill handle, find, header wrap ── */
|
|
228
|
+
.fg-cell-merged { z-index: 1; background: var(--fg-bg); align-items: flex-start; padding-top: calc((var(--fg-font-size, 13px) * 2.75 - 1.4em) / 2); border-bottom: 1px solid var(--fg-row-border); box-shadow: var(--fg-col-line, none); }
|
|
229
|
+
.fg-row-odd .fg-cell-merged { background: var(--fg-bg); }
|
|
230
|
+
.fg-cell-merge-hidden { visibility: hidden; }
|
|
231
|
+
.fg-pinned-rows { display: flex; flex: none; background: var(--fg-bg); }
|
|
232
|
+
.fg-pinned-top { border-bottom: 2px solid var(--fg-border); }
|
|
233
|
+
.fg-pinned-bottom { border-top: 2px solid var(--fg-border); }
|
|
234
|
+
.fg-section-pane { position: relative; overflow: hidden; flex: none; }
|
|
235
|
+
.fg-section-pane-center { flex: 1 1 0; min-width: 0; }
|
|
236
|
+
.fg-section-pane-left { border-right: 1px solid var(--fg-border); }
|
|
237
|
+
.fg-section-pane-right { border-left: 1px solid var(--fg-border); }
|
|
238
|
+
.fg-section-inner { position: relative; will-change: transform; }
|
|
239
|
+
.fg-row-pinned, .fg-row-pinned:hover { background: var(--fg-row-odd); font-weight: 500; }
|
|
240
|
+
.fg-statusbar { display: flex; flex: none; justify-content: space-between; gap: 16px; padding: 6px var(--fg-cell-px); border-top: 1px solid var(--fg-border); background: var(--fg-header-bg); color: var(--fg-muted); font-size: .92em; white-space: nowrap; overflow: hidden; }
|
|
241
|
+
.fg-status-aggs { color: var(--fg-fg); font-variant-numeric: tabular-nums; white-space: pre; }
|
|
242
|
+
.fg-fill-handle { position: absolute; z-index: 16; width: 8px; height: 8px; background: var(--fg-accent); border: 1px solid var(--fg-bg); cursor: crosshair; }
|
|
243
|
+
.fg-fill-preview { position: absolute; z-index: 15; border: 1px dashed var(--fg-accent); pointer-events: none; }
|
|
244
|
+
.fg-cell-match { background: color-mix(in srgb, #f2a900 22%, transparent); }
|
|
245
|
+
.fg-cell-match-current { background: #f2a900; color: #1a1300; }
|
|
246
|
+
.fg-findbar { position: absolute; top: 6px; right: 18px; z-index: 30; display: flex; align-items: center; gap: 4px; padding: 5px 6px; border-radius: 8px; background: var(--fg-popup-bg); border: 1px solid var(--fg-border); box-shadow: var(--fg-shadow); }
|
|
247
|
+
.fg-findbar .fg-input { width: 200px; height: 28px; }
|
|
248
|
+
.fg-findbar-count { min-width: 56px; text-align: center; color: var(--fg-muted); font-size: .9em; font-variant-numeric: tabular-nums; }
|
|
249
|
+
.fg-findbar-btn { width: 26px; height: 26px; border: 0; border-radius: 6px; background: none; color: var(--fg-fg); cursor: pointer; }
|
|
250
|
+
.fg-findbar-btn:hover { background: var(--fg-row-hover); }
|
|
251
|
+
.fg-header-wrap .fg-header-label { white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; line-height: 1.25; }
|
|
252
|
+
|
|
253
|
+
/* grouping, tree data, master/detail, row drag */
|
|
254
|
+
.fg-group-panel {
|
|
255
|
+
display: flex; flex: none; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 36px; padding: 4px 10px;
|
|
256
|
+
background: var(--fg-bg); border-bottom: 1px solid var(--fg-border); color: var(--fg-muted, #6b7280);
|
|
257
|
+
}
|
|
258
|
+
.fg-group-panel-over { background: var(--fg-row-hover); outline: 2px dashed var(--fg-accent); outline-offset: -4px; }
|
|
259
|
+
.fg-group-hint { font-size: .92em; }
|
|
260
|
+
.fg-group-chip {
|
|
261
|
+
display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 10px; border: 1px solid var(--fg-border);
|
|
262
|
+
border-radius: 999px; background: var(--fg-header-bg); color: var(--fg-header-fg); cursor: grab; user-select: none;
|
|
263
|
+
}
|
|
264
|
+
.fg-group-chip.fg-dragging { opacity: .5; }
|
|
265
|
+
.fg-group-chip-remove {
|
|
266
|
+
width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit;
|
|
267
|
+
font: inherit; line-height: 1; cursor: pointer;
|
|
268
|
+
}
|
|
269
|
+
.fg-group-chip-remove:hover { background: var(--fg-row-hover); }
|
|
270
|
+
.fg-group-sep { opacity: .6; }
|
|
271
|
+
.fg-row-group, .fg-row-group:hover { background: var(--fg-header-bg); font-weight: 600; }
|
|
272
|
+
.fg-group-cell { overflow: visible; z-index: 1; padding-left: calc(4px + var(--fg-level, 0) * 16px); }
|
|
273
|
+
.fg-group-label { white-space: nowrap; }
|
|
274
|
+
.fg-cell-agg { color: var(--fg-header-fg); }
|
|
275
|
+
.fg-group-toggle, .fg-tree-toggle, .fg-detail-toggle {
|
|
276
|
+
display: inline-flex; align-items: center; justify-content: center; flex: none; width: 20px; height: 20px; margin-right: 4px;
|
|
277
|
+
padding: 0; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer;
|
|
278
|
+
}
|
|
279
|
+
.fg-group-toggle:hover, .fg-tree-toggle:hover, .fg-detail-toggle:hover { background: var(--fg-row-hover); }
|
|
280
|
+
.fg-group-toggle svg, .fg-tree-toggle svg, .fg-detail-toggle svg { transition: transform .12s ease; }
|
|
281
|
+
.fg-expanded svg { transform: rotate(90deg); }
|
|
282
|
+
.fg-tree-spacer { display: inline-block; flex: none; width: 24px; }
|
|
283
|
+
.fg-cell-lead { padding-left: calc(4px + var(--fg-level, 0) * 16px); }
|
|
284
|
+
.fg-row-detail, .fg-row-detail:hover { background: var(--fg-bg); }
|
|
285
|
+
.fg-detail {
|
|
286
|
+
position: absolute; top: 0; bottom: 0; box-sizing: border-box; overflow: auto; padding: 10px 14px;
|
|
287
|
+
border-bottom: 1px solid var(--fg-row-border); background: var(--fg-bg);
|
|
288
|
+
}
|
|
289
|
+
.fg-cell-drag { justify-content: center; padding: 0; cursor: grab; }
|
|
290
|
+
.fg-drag-handle { color: var(--fg-muted, #9aa1ad); cursor: grab; letter-spacing: -1px; user-select: none; }
|
|
291
|
+
.fg-drag-handle.fg-drag-disabled { opacity: .35; cursor: not-allowed; }
|
|
292
|
+
.fg-row-dragging, .fg-row-dragging * { cursor: grabbing !important; }
|
|
293
|
+
.fg-row-drop-marker { position: absolute; left: 0; right: 0; height: 2px; background: var(--fg-accent); z-index: 6; pointer-events: none; }
|
|
294
|
+
@media (prefers-reduced-motion: reduce) { .fg-group-toggle svg, .fg-tree-toggle svg, .fg-detail-toggle svg { transition: none; } }
|
|
295
|
+
|
|
296
|
+
/* pagination and server rows */
|
|
297
|
+
.fg-pager {
|
|
298
|
+
display: flex; flex: none; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-height: 38px; padding: 4px 10px;
|
|
299
|
+
border-top: 1px solid var(--fg-border); background: var(--fg-header-bg); color: var(--fg-header-fg); font-variant-numeric: tabular-nums;
|
|
300
|
+
}
|
|
301
|
+
.fg-pager-spacer { flex: 1; }
|
|
302
|
+
.fg-pager-size-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 10px; }
|
|
303
|
+
.fg-pager-size { font: inherit; color: var(--fg-fg); background: var(--fg-input-bg); border: 1px solid var(--fg-border); border-radius: 4px; padding: 2px 4px; }
|
|
304
|
+
.fg-pager-page { padding: 0 8px; }
|
|
305
|
+
.fg-pager-btn {
|
|
306
|
+
min-width: 28px; height: 28px; padding: 0 6px; border: 1px solid transparent; border-radius: 4px;
|
|
307
|
+
background: transparent; color: inherit; font: inherit; font-size: 1.1em; line-height: 1; cursor: pointer;
|
|
308
|
+
}
|
|
309
|
+
.fg-pager-btn:hover:not(:disabled) { background: var(--fg-row-hover); border-color: var(--fg-border); }
|
|
310
|
+
.fg-pager-btn:disabled { opacity: .35; cursor: default; }
|
|
311
|
+
.fg-skeleton {
|
|
312
|
+
display: block; width: 70%; height: .8em; border-radius: 4px;
|
|
313
|
+
background: linear-gradient(90deg, var(--fg-row-border) 25%, var(--fg-border) 50%, var(--fg-row-border) 75%);
|
|
314
|
+
background-size: 200% 100%; animation: fg-shimmer 1.2s ease-in-out infinite;
|
|
315
|
+
}
|
|
316
|
+
@keyframes fg-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
|
|
317
|
+
@media (prefers-reduced-motion: reduce) { .fg-skeleton { animation: none; } }
|
|
318
|
+
|
|
319
|
+
/* filters tool panel */
|
|
320
|
+
.fg-filters-panel { display: flex; flex-direction: column; min-height: 0; flex: 1; }
|
|
321
|
+
.fg-filters-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--fg-border); }
|
|
322
|
+
.fg-filters-title { font-weight: 600; }
|
|
323
|
+
.fg-filters-clear { font-size: .9em; padding: 2px 8px; }
|
|
324
|
+
.fg-filters-list { overflow: auto; flex: 1; }
|
|
325
|
+
.fg-filters-item { border-bottom: 1px solid var(--fg-row-border); }
|
|
326
|
+
.fg-filters-item > summary { padding: 7px 10px; cursor: pointer; list-style-position: inside; }
|
|
327
|
+
.fg-filters-item > summary:hover { background: var(--fg-row-hover); }
|
|
328
|
+
.fg-filters-item.fg-filter-on > summary { color: var(--fg-accent); font-weight: 600; }
|
|
329
|
+
.fg-filters-item.fg-filter-on > summary::after { content: ' ●'; font-size: .7em; vertical-align: middle; }
|
|
330
|
+
.fg-filters-item .fg-filter { border: 0; padding: 4px 10px 10px; }
|
|
331
|
+
|
|
332
|
+
/* pivot panel */
|
|
333
|
+
.fg-pivot-panel { display: flex; flex-direction: column; gap: 4px; overflow: auto; flex: 1; padding: 8px 10px; }
|
|
334
|
+
.fg-pivot-mode { display: flex; align-items: center; gap: 8px; padding: 4px 0 8px; font-weight: 600; border-bottom: 1px solid var(--fg-border); }
|
|
335
|
+
.fg-pivot-zone { padding: 8px 0; border-bottom: 1px solid var(--fg-row-border); }
|
|
336
|
+
.fg-pivot-zone-title { font-size: .9em; color: var(--fg-muted); margin-bottom: 6px; }
|
|
337
|
+
.fg-pivot-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
|
|
338
|
+
.fg-pivot-chips .fg-group-chip { cursor: default; }
|
|
339
|
+
.fg-pivot-agg, .fg-pivot-add {
|
|
340
|
+
font: inherit; font-size: .92em; color: var(--fg-fg); background: var(--fg-input-bg);
|
|
341
|
+
border: 1px solid var(--fg-border); border-radius: 4px; padding: 2px 4px;
|
|
342
|
+
}
|
|
343
|
+
.fg-pivot-add { width: 100%; }
|
|
344
|
+
|
|
345
|
+
/* charts */
|
|
346
|
+
.fg-chart-panel {
|
|
347
|
+
position: absolute; top: 12px; right: 12px; z-index: 20; width: min(640px, calc(100% - 24px));
|
|
348
|
+
background: var(--fg-popup-bg); border: 1px solid var(--fg-border); border-radius: 8px; box-shadow: var(--fg-shadow);
|
|
349
|
+
display: flex; flex-direction: column;
|
|
350
|
+
}
|
|
351
|
+
.fg-chart-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px 8px; border-bottom: 1px solid var(--fg-border); }
|
|
352
|
+
.fg-chart-type {
|
|
353
|
+
padding: 3px 8px; border: 1px solid var(--fg-border); border-radius: 999px; background: transparent;
|
|
354
|
+
color: var(--fg-fg); font: inherit; font-size: .88em; cursor: pointer;
|
|
355
|
+
}
|
|
356
|
+
.fg-chart-type[aria-pressed="true"] { background: var(--fg-accent); border-color: var(--fg-accent); color: var(--fg-accent-fg); }
|
|
357
|
+
.fg-chart-spacer { flex: 1; }
|
|
358
|
+
.fg-chart-body { padding: 4px 8px 8px; }
|
|
359
|
+
.fg-chart { display: block; width: 100%; height: auto; font: 11px var(--fg-font); color: var(--fg-fg); }
|
|
360
|
+
.fg-chart text { fill: var(--fg-muted); }
|
|
361
|
+
.fg-chart .fg-chart-title { fill: var(--fg-fg); font-size: 14px; font-weight: 600; }
|
|
362
|
+
.fg-chart-grid { stroke: var(--fg-row-border); }
|
|
363
|
+
.fg-chart-zero { stroke: var(--fg-border); stroke-width: 1.5; }
|
|
364
|
+
.fg-chart-legend-item text { fill: var(--fg-fg); }
|
|
365
|
+
.fg-chart-bar, .fg-chart-slice, .fg-chart-point { transition: opacity .12s; }
|
|
366
|
+
.fg-chart-plot:hover .fg-chart-bar:not(:hover), .fg-chart:hover .fg-chart-slice:not(:hover) { opacity: .55; }
|
|
367
|
+
.fg-chart-slice { stroke: var(--fg-popup-bg, #fff); stroke-width: 1.5; }
|
|
368
|
+
@media (prefers-reduced-motion: reduce) { .fg-chart-bar, .fg-chart-slice, .fg-chart-point { transition: none; } }
|
|
369
|
+
|
|
370
|
+
/* free-use badge (unlicensed company domains) */
|
|
371
|
+
.fg-free-badge {
|
|
372
|
+
position: absolute; right: 22px; bottom: 22px; z-index: 30; display: inline-flex; align-items: center; gap: 6px;
|
|
373
|
+
padding: 4px 10px 4px 6px; border-radius: 999px; background: rgba(255, 255, 255, .92); border: 1px solid rgba(14, 23, 38, .15);
|
|
374
|
+
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;
|
|
375
|
+
}
|
|
376
|
+
.fg-free-badge:hover { opacity: 1; }
|
|
377
|
+
.fg-free-badge svg { flex: none; }
|