react-cheminfo 0.47.0 → 0.48.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 +69 -0
- package/lib/core.d.ts +1 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +1 -0
- package/lib/core.js.map +1 -1
- package/lib/download/core/cssPaint.d.ts +27 -0
- package/lib/download/core/cssPaint.d.ts.map +1 -0
- package/lib/download/core/cssPaint.js +63 -0
- package/lib/download/core/cssPaint.js.map +1 -0
- package/lib/download/core/drawingMarkup.d.ts +11 -0
- package/lib/download/core/drawingMarkup.d.ts.map +1 -0
- package/lib/download/core/drawingMarkup.js +32 -0
- package/lib/download/core/drawingMarkup.js.map +1 -0
- package/lib/download/core/figureHtml.d.ts +25 -0
- package/lib/download/core/figureHtml.d.ts.map +1 -0
- package/lib/download/core/figureHtml.js +174 -0
- package/lib/download/core/figureHtml.js.map +1 -0
- package/lib/download/core/figureHtmlMarkup.d.ts +107 -0
- package/lib/download/core/figureHtmlMarkup.d.ts.map +1 -0
- package/lib/download/core/figureHtmlMarkup.js +75 -0
- package/lib/download/core/figureHtmlMarkup.js.map +1 -0
- package/lib/download/core/figureSvg.d.ts.map +1 -1
- package/lib/download/core/figureSvg.js +16 -35
- package/lib/download/core/figureSvg.js.map +1 -1
- package/lib/download/core/figureSvgDocument.d.ts +3 -3
- package/lib/download/core/figureSvgDocument.d.ts.map +1 -1
- package/lib/download/core/figureTarget.d.ts +14 -3
- package/lib/download/core/figureTarget.d.ts.map +1 -1
- package/lib/download/core/figureTarget.js +42 -3
- package/lib/download/core/figureTarget.js.map +1 -1
- package/lib/download/core/index.d.ts +1 -1
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +1 -1
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/core/textLines.d.ts +27 -0
- package/lib/download/core/textLines.d.ts.map +1 -0
- package/lib/download/core/textLines.js +51 -0
- package/lib/download/core/textLines.js.map +1 -0
- package/lib/ecosystem/core/lookup.d.ts +2 -1
- package/lib/ecosystem/core/lookup.d.ts.map +1 -1
- package/lib/ecosystem/core/lookup.js +10 -3
- package/lib/ecosystem/core/lookup.js.map +1 -1
- package/lib/ecosystem/core/types.d.ts +2 -2
- package/lib/ecosystem/core/types.d.ts.map +1 -1
- package/lib/ecosystem/core/unlistedSites.d.ts +9 -0
- package/lib/ecosystem/core/unlistedSites.d.ts.map +1 -0
- package/lib/ecosystem/core/unlistedSites.js +35 -0
- package/lib/ecosystem/core/unlistedSites.js.map +1 -0
- package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +7 -0
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/locales/de.json +55 -1
- package/lib/locales/en.json +55 -1
- package/lib/locales/es.json +55 -1
- package/lib/locales/fr.json +55 -1
- package/lib/locales/it.json +55 -1
- package/lib/periodic/ui/PeriodicTable.d.ts +3 -107
- package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTable.js +5 -82
- package/lib/periodic/ui/PeriodicTable.js.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.js +3 -25
- package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
- package/lib/periodic/ui/SelectAllCorner.d.ts +23 -0
- package/lib/periodic/ui/SelectAllCorner.d.ts.map +1 -0
- package/lib/periodic/ui/SelectAllCorner.js +40 -0
- package/lib/periodic/ui/SelectAllCorner.js.map +1 -0
- package/lib/periodic/ui/headerStyles.d.ts +17 -0
- package/lib/periodic/ui/headerStyles.d.ts.map +1 -0
- package/lib/periodic/ui/headerStyles.js +19 -0
- package/lib/periodic/ui/headerStyles.js.map +1 -0
- package/lib/periodic/ui/periodicTableProps.d.ts +115 -0
- package/lib/periodic/ui/periodicTableProps.d.ts.map +1 -0
- package/lib/periodic/ui/periodicTableProps.js +8 -0
- package/lib/periodic/ui/periodicTableProps.js.map +1 -0
- package/lib/periodic/ui/tableLayout.d.ts +26 -0
- package/lib/periodic/ui/tableLayout.d.ts.map +1 -0
- package/lib/periodic/ui/tableLayout.js +86 -0
- package/lib/periodic/ui/tableLayout.js.map +1 -0
- package/lib/split/ui/SplitColumn.d.ts +0 -1
- package/lib/split/ui/SplitColumn.d.ts.map +1 -1
- package/lib/split/ui/SplitColumn.js +0 -1
- package/lib/split/ui/SplitColumn.js.map +1 -1
- package/lib/split/ui/SplitRow.d.ts +0 -1
- package/lib/split/ui/SplitRow.d.ts.map +1 -1
- package/lib/split/ui/SplitRow.js +0 -1
- package/lib/split/ui/SplitRow.js.map +1 -1
- package/lib/split/ui/splitPanes.d.ts +12 -1
- package/lib/split/ui/splitPanes.d.ts.map +1 -1
- package/lib/split/ui/splitPanes.js +1 -4
- package/lib/split/ui/splitPanes.js.map +1 -1
- package/lib/taxonomy/core/index.d.ts +8 -0
- package/lib/taxonomy/core/index.d.ts.map +1 -0
- package/lib/taxonomy/core/index.js +5 -0
- package/lib/taxonomy/core/index.js.map +1 -0
- package/lib/taxonomy/core/lineage.d.ts +83 -0
- package/lib/taxonomy/core/lineage.d.ts.map +1 -0
- package/lib/taxonomy/core/lineage.js +126 -0
- package/lib/taxonomy/core/lineage.js.map +1 -0
- package/lib/taxonomy/core/ncbi.d.ts +8 -0
- package/lib/taxonomy/core/ncbi.d.ts.map +1 -0
- package/lib/taxonomy/core/ncbi.js +10 -0
- package/lib/taxonomy/core/ncbi.js.map +1 -0
- package/lib/taxonomy/core/organismName.d.ts +28 -0
- package/lib/taxonomy/core/organismName.d.ts.map +1 -0
- package/lib/taxonomy/core/organismName.js +188 -0
- package/lib/taxonomy/core/organismName.js.map +1 -0
- package/lib/taxonomy/core/organismWords.d.ts +20 -0
- package/lib/taxonomy/core/organismWords.d.ts.map +1 -0
- package/lib/taxonomy/core/organismWords.js +86 -0
- package/lib/taxonomy/core/organismWords.js.map +1 -0
- package/lib/taxonomy/core/ranks.d.ts +51 -0
- package/lib/taxonomy/core/ranks.d.ts.map +1 -0
- package/lib/taxonomy/core/ranks.js +123 -0
- package/lib/taxonomy/core/ranks.js.map +1 -0
- package/lib/taxonomy/ui/OrganismName.d.ts +28 -0
- package/lib/taxonomy/ui/OrganismName.d.ts.map +1 -0
- package/lib/taxonomy/ui/OrganismName.js +28 -0
- package/lib/taxonomy/ui/OrganismName.js.map +1 -0
- package/lib/taxonomy/ui/TaxonLineage.d.ts +67 -0
- package/lib/taxonomy/ui/TaxonLineage.d.ts.map +1 -0
- package/lib/taxonomy/ui/TaxonLineage.js +45 -0
- package/lib/taxonomy/ui/TaxonLineage.js.map +1 -0
- package/lib/taxonomy/ui/index.d.ts +6 -0
- package/lib/taxonomy/ui/index.d.ts.map +1 -0
- package/lib/taxonomy/ui/index.js +4 -0
- package/lib/taxonomy/ui/index.js.map +1 -0
- package/lib/taxonomy/ui/rankLabel.d.ts +17 -0
- package/lib/taxonomy/ui/rankLabel.d.ts.map +1 -0
- package/lib/taxonomy/ui/rankLabel.js +77 -0
- package/lib/taxonomy/ui/rankLabel.js.map +1 -0
- package/lib/ui.d.ts +1 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +1 -0
- package/lib/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +1 -0
- package/src/download/core/cssPaint.ts +71 -0
- package/src/download/core/drawingMarkup.ts +35 -0
- package/src/download/core/figureHtml.ts +214 -0
- package/src/download/core/figureHtmlMarkup.ts +187 -0
- package/src/download/core/figureSvg.ts +17 -38
- package/src/download/core/figureSvgDocument.ts +3 -3
- package/src/download/core/figureTarget.ts +41 -8
- package/src/download/core/index.ts +1 -0
- package/src/download/core/textLines.ts +67 -0
- package/src/ecosystem/core/lookup.ts +11 -3
- package/src/ecosystem/core/types.ts +4 -2
- package/src/ecosystem/core/unlistedSites.ts +37 -0
- package/src/ecosystem/ui/glyphs.tsx +44 -0
- package/src/locales/de.json +55 -1
- package/src/locales/en.json +55 -1
- package/src/locales/es.json +55 -1
- package/src/locales/fr.json +55 -1
- package/src/locales/it.json +55 -1
- package/src/periodic/ui/PeriodicTable.tsx +16 -204
- package/src/periodic/ui/PeriodicTableChrome.tsx +3 -24
- package/src/periodic/ui/SelectAllCorner.tsx +65 -0
- package/src/periodic/ui/headerStyles.ts +23 -0
- package/src/periodic/ui/periodicTableProps.ts +117 -0
- package/src/periodic/ui/tableLayout.ts +96 -0
- package/src/split/ui/SplitColumn.tsx +0 -1
- package/src/split/ui/SplitRow.tsx +0 -1
- package/src/split/ui/splitPanes.tsx +21 -5
- package/src/taxonomy/core/index.ts +20 -0
- package/src/taxonomy/core/lineage.ts +161 -0
- package/src/taxonomy/core/ncbi.ts +9 -0
- package/src/taxonomy/core/organismName.ts +217 -0
- package/src/taxonomy/core/organismWords.ts +86 -0
- package/src/taxonomy/core/ranks.ts +134 -0
- package/src/taxonomy/ui/OrganismName.tsx +59 -0
- package/src/taxonomy/ui/TaxonLineage.tsx +183 -0
- package/src/taxonomy/ui/index.ts +5 -0
- package/src/taxonomy/ui/rankLabel.ts +81 -0
- package/src/ui.ts +1 -0
- package/styles/chrome.css +135 -6
package/src/locales/de.json
CHANGED
|
@@ -505,5 +505,59 @@
|
|
|
505
505
|
"range.noLowerBound": "{label}: keine Untergrenze",
|
|
506
506
|
"range.noUpperBound": "{label}: keine Obergrenze",
|
|
507
507
|
"range.typeValue": "Klicken, um einen Wert einzugeben",
|
|
508
|
-
"range.clear": "{label} zurücksetzen"
|
|
508
|
+
"range.clear": "{label} zurücksetzen",
|
|
509
|
+
"taxonomy.lineage": "Abstammungslinie",
|
|
510
|
+
"taxonomy.rankNote": "({rank})",
|
|
511
|
+
"taxonomy.ncbi": "NCBI Taxonomy",
|
|
512
|
+
"taxonomy.ncbiTitle": "{name} im NCBI-Taxonomy-Browser öffnen",
|
|
513
|
+
"taxonomy.rank.realm": "Realm",
|
|
514
|
+
"taxonomy.rank.domain": "Domäne",
|
|
515
|
+
"taxonomy.rank.superkingdom": "Überreich",
|
|
516
|
+
"taxonomy.rank.kingdom": "Reich",
|
|
517
|
+
"taxonomy.rank.subkingdom": "Unterreich",
|
|
518
|
+
"taxonomy.rank.superphylum": "Überphylum",
|
|
519
|
+
"taxonomy.rank.phylum": "Phylum",
|
|
520
|
+
"taxonomy.rank.subphylum": "Subphylum",
|
|
521
|
+
"taxonomy.rank.superclass": "Überklasse",
|
|
522
|
+
"taxonomy.rank.class": "Klasse",
|
|
523
|
+
"taxonomy.rank.subclass": "Unterklasse",
|
|
524
|
+
"taxonomy.rank.infraclass": "Teilklasse",
|
|
525
|
+
"taxonomy.rank.cohort": "Kohorte",
|
|
526
|
+
"taxonomy.rank.subcohort": "Unterkohorte",
|
|
527
|
+
"taxonomy.rank.superorder": "Überordnung",
|
|
528
|
+
"taxonomy.rank.order": "Ordnung",
|
|
529
|
+
"taxonomy.rank.suborder": "Unterordnung",
|
|
530
|
+
"taxonomy.rank.infraorder": "Teilordnung",
|
|
531
|
+
"taxonomy.rank.parvorder": "Kleinordnung",
|
|
532
|
+
"taxonomy.rank.superfamily": "Überfamilie",
|
|
533
|
+
"taxonomy.rank.family": "Familie",
|
|
534
|
+
"taxonomy.rank.subfamily": "Unterfamilie",
|
|
535
|
+
"taxonomy.rank.tribe": "Tribus",
|
|
536
|
+
"taxonomy.rank.subtribe": "Subtribus",
|
|
537
|
+
"taxonomy.rank.genus": "Gattung",
|
|
538
|
+
"taxonomy.rank.subgenus": "Untergattung",
|
|
539
|
+
"taxonomy.rank.section": "Sektion",
|
|
540
|
+
"taxonomy.rank.subsection": "Untersektion",
|
|
541
|
+
"taxonomy.rank.series": "Serie",
|
|
542
|
+
"taxonomy.rank.subseries": "Unterserie",
|
|
543
|
+
"taxonomy.rank.speciesGroup": "Artengruppe",
|
|
544
|
+
"taxonomy.rank.speciesSubgroup": "Artenuntergruppe",
|
|
545
|
+
"taxonomy.rank.species": "Art",
|
|
546
|
+
"taxonomy.rank.formaSpecialis": "Forma specialis",
|
|
547
|
+
"taxonomy.rank.subspecies": "Unterart",
|
|
548
|
+
"taxonomy.rank.varietas": "Varietät",
|
|
549
|
+
"taxonomy.rank.subvariety": "Subvarietät",
|
|
550
|
+
"taxonomy.rank.forma": "Form",
|
|
551
|
+
"taxonomy.rank.pathogroup": "Pathogruppe",
|
|
552
|
+
"taxonomy.rank.serogroup": "Serogruppe",
|
|
553
|
+
"taxonomy.rank.serotype": "Serotyp",
|
|
554
|
+
"taxonomy.rank.biotype": "Biotyp",
|
|
555
|
+
"taxonomy.rank.genotype": "Genotyp",
|
|
556
|
+
"taxonomy.rank.morph": "Morphe",
|
|
557
|
+
"taxonomy.rank.strain": "Stamm",
|
|
558
|
+
"taxonomy.rank.isolate": "Isolat",
|
|
559
|
+
"taxonomy.rank.noRank": "ohne Rang",
|
|
560
|
+
"taxonomy.rank.clade": "Klade",
|
|
561
|
+
"taxonomy.rank.cellularRoot": "zelluläre Wurzel",
|
|
562
|
+
"taxonomy.rank.acellularRoot": "azelluläre Wurzel"
|
|
509
563
|
}
|
package/src/locales/en.json
CHANGED
|
@@ -505,5 +505,59 @@
|
|
|
505
505
|
"range.noLowerBound": "{label}: no lower bound",
|
|
506
506
|
"range.noUpperBound": "{label}: no upper bound",
|
|
507
507
|
"range.typeValue": "Click to type a value",
|
|
508
|
-
"range.clear": "Clear {label}"
|
|
508
|
+
"range.clear": "Clear {label}",
|
|
509
|
+
"taxonomy.lineage": "Lineage",
|
|
510
|
+
"taxonomy.rankNote": "({rank})",
|
|
511
|
+
"taxonomy.ncbi": "NCBI Taxonomy",
|
|
512
|
+
"taxonomy.ncbiTitle": "Open {name} in the NCBI Taxonomy Browser",
|
|
513
|
+
"taxonomy.rank.realm": "realm",
|
|
514
|
+
"taxonomy.rank.domain": "domain",
|
|
515
|
+
"taxonomy.rank.superkingdom": "superkingdom",
|
|
516
|
+
"taxonomy.rank.kingdom": "kingdom",
|
|
517
|
+
"taxonomy.rank.subkingdom": "subkingdom",
|
|
518
|
+
"taxonomy.rank.superphylum": "superphylum",
|
|
519
|
+
"taxonomy.rank.phylum": "phylum",
|
|
520
|
+
"taxonomy.rank.subphylum": "subphylum",
|
|
521
|
+
"taxonomy.rank.superclass": "superclass",
|
|
522
|
+
"taxonomy.rank.class": "class",
|
|
523
|
+
"taxonomy.rank.subclass": "subclass",
|
|
524
|
+
"taxonomy.rank.infraclass": "infraclass",
|
|
525
|
+
"taxonomy.rank.cohort": "cohort",
|
|
526
|
+
"taxonomy.rank.subcohort": "subcohort",
|
|
527
|
+
"taxonomy.rank.superorder": "superorder",
|
|
528
|
+
"taxonomy.rank.order": "order",
|
|
529
|
+
"taxonomy.rank.suborder": "suborder",
|
|
530
|
+
"taxonomy.rank.infraorder": "infraorder",
|
|
531
|
+
"taxonomy.rank.parvorder": "parvorder",
|
|
532
|
+
"taxonomy.rank.superfamily": "superfamily",
|
|
533
|
+
"taxonomy.rank.family": "family",
|
|
534
|
+
"taxonomy.rank.subfamily": "subfamily",
|
|
535
|
+
"taxonomy.rank.tribe": "tribe",
|
|
536
|
+
"taxonomy.rank.subtribe": "subtribe",
|
|
537
|
+
"taxonomy.rank.genus": "genus",
|
|
538
|
+
"taxonomy.rank.subgenus": "subgenus",
|
|
539
|
+
"taxonomy.rank.section": "section",
|
|
540
|
+
"taxonomy.rank.subsection": "subsection",
|
|
541
|
+
"taxonomy.rank.series": "series",
|
|
542
|
+
"taxonomy.rank.subseries": "subseries",
|
|
543
|
+
"taxonomy.rank.speciesGroup": "species group",
|
|
544
|
+
"taxonomy.rank.speciesSubgroup": "species subgroup",
|
|
545
|
+
"taxonomy.rank.species": "species",
|
|
546
|
+
"taxonomy.rank.formaSpecialis": "forma specialis",
|
|
547
|
+
"taxonomy.rank.subspecies": "subspecies",
|
|
548
|
+
"taxonomy.rank.varietas": "variety",
|
|
549
|
+
"taxonomy.rank.subvariety": "subvariety",
|
|
550
|
+
"taxonomy.rank.forma": "form",
|
|
551
|
+
"taxonomy.rank.pathogroup": "pathogroup",
|
|
552
|
+
"taxonomy.rank.serogroup": "serogroup",
|
|
553
|
+
"taxonomy.rank.serotype": "serotype",
|
|
554
|
+
"taxonomy.rank.biotype": "biotype",
|
|
555
|
+
"taxonomy.rank.genotype": "genotype",
|
|
556
|
+
"taxonomy.rank.morph": "morph",
|
|
557
|
+
"taxonomy.rank.strain": "strain",
|
|
558
|
+
"taxonomy.rank.isolate": "isolate",
|
|
559
|
+
"taxonomy.rank.noRank": "no rank",
|
|
560
|
+
"taxonomy.rank.clade": "clade",
|
|
561
|
+
"taxonomy.rank.cellularRoot": "cellular root",
|
|
562
|
+
"taxonomy.rank.acellularRoot": "acellular root"
|
|
509
563
|
}
|
package/src/locales/es.json
CHANGED
|
@@ -505,5 +505,59 @@
|
|
|
505
505
|
"range.noLowerBound": "{label}: sin límite inferior",
|
|
506
506
|
"range.noUpperBound": "{label}: sin límite superior",
|
|
507
507
|
"range.typeValue": "Haga clic para escribir un valor",
|
|
508
|
-
"range.clear": "Borrar {label}"
|
|
508
|
+
"range.clear": "Borrar {label}",
|
|
509
|
+
"taxonomy.lineage": "Linaje",
|
|
510
|
+
"taxonomy.rankNote": "({rank})",
|
|
511
|
+
"taxonomy.ncbi": "NCBI Taxonomy",
|
|
512
|
+
"taxonomy.ncbiTitle": "Abrir {name} en el navegador NCBI Taxonomy",
|
|
513
|
+
"taxonomy.rank.realm": "dominio viral",
|
|
514
|
+
"taxonomy.rank.domain": "dominio",
|
|
515
|
+
"taxonomy.rank.superkingdom": "superreino",
|
|
516
|
+
"taxonomy.rank.kingdom": "reino",
|
|
517
|
+
"taxonomy.rank.subkingdom": "subreino",
|
|
518
|
+
"taxonomy.rank.superphylum": "superfilo",
|
|
519
|
+
"taxonomy.rank.phylum": "filo",
|
|
520
|
+
"taxonomy.rank.subphylum": "subfilo",
|
|
521
|
+
"taxonomy.rank.superclass": "superclase",
|
|
522
|
+
"taxonomy.rank.class": "clase",
|
|
523
|
+
"taxonomy.rank.subclass": "subclase",
|
|
524
|
+
"taxonomy.rank.infraclass": "infraclase",
|
|
525
|
+
"taxonomy.rank.cohort": "cohorte",
|
|
526
|
+
"taxonomy.rank.subcohort": "subcohorte",
|
|
527
|
+
"taxonomy.rank.superorder": "superorden",
|
|
528
|
+
"taxonomy.rank.order": "orden",
|
|
529
|
+
"taxonomy.rank.suborder": "suborden",
|
|
530
|
+
"taxonomy.rank.infraorder": "infraorden",
|
|
531
|
+
"taxonomy.rank.parvorder": "parvorden",
|
|
532
|
+
"taxonomy.rank.superfamily": "superfamilia",
|
|
533
|
+
"taxonomy.rank.family": "familia",
|
|
534
|
+
"taxonomy.rank.subfamily": "subfamilia",
|
|
535
|
+
"taxonomy.rank.tribe": "tribu",
|
|
536
|
+
"taxonomy.rank.subtribe": "subtribu",
|
|
537
|
+
"taxonomy.rank.genus": "género",
|
|
538
|
+
"taxonomy.rank.subgenus": "subgénero",
|
|
539
|
+
"taxonomy.rank.section": "sección",
|
|
540
|
+
"taxonomy.rank.subsection": "subsección",
|
|
541
|
+
"taxonomy.rank.series": "serie",
|
|
542
|
+
"taxonomy.rank.subseries": "subserie",
|
|
543
|
+
"taxonomy.rank.speciesGroup": "grupo de especies",
|
|
544
|
+
"taxonomy.rank.speciesSubgroup": "subgrupo de especies",
|
|
545
|
+
"taxonomy.rank.species": "especie",
|
|
546
|
+
"taxonomy.rank.formaSpecialis": "forma specialis",
|
|
547
|
+
"taxonomy.rank.subspecies": "subespecie",
|
|
548
|
+
"taxonomy.rank.varietas": "variedad",
|
|
549
|
+
"taxonomy.rank.subvariety": "subvariedad",
|
|
550
|
+
"taxonomy.rank.forma": "forma",
|
|
551
|
+
"taxonomy.rank.pathogroup": "patogrupo",
|
|
552
|
+
"taxonomy.rank.serogroup": "serogrupo",
|
|
553
|
+
"taxonomy.rank.serotype": "serotipo",
|
|
554
|
+
"taxonomy.rank.biotype": "biotipo",
|
|
555
|
+
"taxonomy.rank.genotype": "genotipo",
|
|
556
|
+
"taxonomy.rank.morph": "morfo",
|
|
557
|
+
"taxonomy.rank.strain": "cepa",
|
|
558
|
+
"taxonomy.rank.isolate": "aislado",
|
|
559
|
+
"taxonomy.rank.noRank": "sin rango",
|
|
560
|
+
"taxonomy.rank.clade": "clado",
|
|
561
|
+
"taxonomy.rank.cellularRoot": "raíz celular",
|
|
562
|
+
"taxonomy.rank.acellularRoot": "raíz acelular"
|
|
509
563
|
}
|
package/src/locales/fr.json
CHANGED
|
@@ -505,5 +505,59 @@
|
|
|
505
505
|
"range.noLowerBound": "{label} : pas de borne inférieure",
|
|
506
506
|
"range.noUpperBound": "{label} : pas de borne supérieure",
|
|
507
507
|
"range.typeValue": "Cliquer pour saisir une valeur",
|
|
508
|
-
"range.clear": "Effacer {label}"
|
|
508
|
+
"range.clear": "Effacer {label}",
|
|
509
|
+
"taxonomy.lineage": "Lignée",
|
|
510
|
+
"taxonomy.rankNote": "({rank})",
|
|
511
|
+
"taxonomy.ncbi": "NCBI Taxonomy",
|
|
512
|
+
"taxonomy.ncbiTitle": "Ouvrir {name} dans le navigateur NCBI Taxonomy",
|
|
513
|
+
"taxonomy.rank.realm": "domaine viral",
|
|
514
|
+
"taxonomy.rank.domain": "domaine",
|
|
515
|
+
"taxonomy.rank.superkingdom": "superrègne",
|
|
516
|
+
"taxonomy.rank.kingdom": "règne",
|
|
517
|
+
"taxonomy.rank.subkingdom": "sous-règne",
|
|
518
|
+
"taxonomy.rank.superphylum": "super-embranchement",
|
|
519
|
+
"taxonomy.rank.phylum": "embranchement",
|
|
520
|
+
"taxonomy.rank.subphylum": "sous-embranchement",
|
|
521
|
+
"taxonomy.rank.superclass": "super-classe",
|
|
522
|
+
"taxonomy.rank.class": "classe",
|
|
523
|
+
"taxonomy.rank.subclass": "sous-classe",
|
|
524
|
+
"taxonomy.rank.infraclass": "infra-classe",
|
|
525
|
+
"taxonomy.rank.cohort": "cohorte",
|
|
526
|
+
"taxonomy.rank.subcohort": "sous-cohorte",
|
|
527
|
+
"taxonomy.rank.superorder": "super-ordre",
|
|
528
|
+
"taxonomy.rank.order": "ordre",
|
|
529
|
+
"taxonomy.rank.suborder": "sous-ordre",
|
|
530
|
+
"taxonomy.rank.infraorder": "infra-ordre",
|
|
531
|
+
"taxonomy.rank.parvorder": "micro-ordre",
|
|
532
|
+
"taxonomy.rank.superfamily": "super-famille",
|
|
533
|
+
"taxonomy.rank.family": "famille",
|
|
534
|
+
"taxonomy.rank.subfamily": "sous-famille",
|
|
535
|
+
"taxonomy.rank.tribe": "tribu",
|
|
536
|
+
"taxonomy.rank.subtribe": "sous-tribu",
|
|
537
|
+
"taxonomy.rank.genus": "genre",
|
|
538
|
+
"taxonomy.rank.subgenus": "sous-genre",
|
|
539
|
+
"taxonomy.rank.section": "section",
|
|
540
|
+
"taxonomy.rank.subsection": "sous-section",
|
|
541
|
+
"taxonomy.rank.series": "série",
|
|
542
|
+
"taxonomy.rank.subseries": "sous-série",
|
|
543
|
+
"taxonomy.rank.speciesGroup": "groupe d’espèces",
|
|
544
|
+
"taxonomy.rank.speciesSubgroup": "sous-groupe d’espèces",
|
|
545
|
+
"taxonomy.rank.species": "espèce",
|
|
546
|
+
"taxonomy.rank.formaSpecialis": "forma specialis",
|
|
547
|
+
"taxonomy.rank.subspecies": "sous-espèce",
|
|
548
|
+
"taxonomy.rank.varietas": "variété",
|
|
549
|
+
"taxonomy.rank.subvariety": "sous-variété",
|
|
550
|
+
"taxonomy.rank.forma": "forme",
|
|
551
|
+
"taxonomy.rank.pathogroup": "pathogroupe",
|
|
552
|
+
"taxonomy.rank.serogroup": "sérogroupe",
|
|
553
|
+
"taxonomy.rank.serotype": "sérotype",
|
|
554
|
+
"taxonomy.rank.biotype": "biotype",
|
|
555
|
+
"taxonomy.rank.genotype": "génotype",
|
|
556
|
+
"taxonomy.rank.morph": "morphe",
|
|
557
|
+
"taxonomy.rank.strain": "souche",
|
|
558
|
+
"taxonomy.rank.isolate": "isolat",
|
|
559
|
+
"taxonomy.rank.noRank": "sans rang",
|
|
560
|
+
"taxonomy.rank.clade": "clade",
|
|
561
|
+
"taxonomy.rank.cellularRoot": "racine cellulaire",
|
|
562
|
+
"taxonomy.rank.acellularRoot": "racine acellulaire"
|
|
509
563
|
}
|
package/src/locales/it.json
CHANGED
|
@@ -505,5 +505,59 @@
|
|
|
505
505
|
"range.noLowerBound": "{label}: nessun limite inferiore",
|
|
506
506
|
"range.noUpperBound": "{label}: nessun limite superiore",
|
|
507
507
|
"range.typeValue": "Fai clic per inserire un valore",
|
|
508
|
-
"range.clear": "Cancella {label}"
|
|
508
|
+
"range.clear": "Cancella {label}",
|
|
509
|
+
"taxonomy.lineage": "Lignaggio",
|
|
510
|
+
"taxonomy.rankNote": "({rank})",
|
|
511
|
+
"taxonomy.ncbi": "NCBI Taxonomy",
|
|
512
|
+
"taxonomy.ncbiTitle": "Apri {name} nel browser NCBI Taxonomy",
|
|
513
|
+
"taxonomy.rank.realm": "dominio virale",
|
|
514
|
+
"taxonomy.rank.domain": "dominio",
|
|
515
|
+
"taxonomy.rank.superkingdom": "superregno",
|
|
516
|
+
"taxonomy.rank.kingdom": "regno",
|
|
517
|
+
"taxonomy.rank.subkingdom": "sottoregno",
|
|
518
|
+
"taxonomy.rank.superphylum": "superphylum",
|
|
519
|
+
"taxonomy.rank.phylum": "phylum",
|
|
520
|
+
"taxonomy.rank.subphylum": "subphylum",
|
|
521
|
+
"taxonomy.rank.superclass": "superclasse",
|
|
522
|
+
"taxonomy.rank.class": "classe",
|
|
523
|
+
"taxonomy.rank.subclass": "sottoclasse",
|
|
524
|
+
"taxonomy.rank.infraclass": "infraclasse",
|
|
525
|
+
"taxonomy.rank.cohort": "coorte",
|
|
526
|
+
"taxonomy.rank.subcohort": "sottocoorte",
|
|
527
|
+
"taxonomy.rank.superorder": "superordine",
|
|
528
|
+
"taxonomy.rank.order": "ordine",
|
|
529
|
+
"taxonomy.rank.suborder": "sottordine",
|
|
530
|
+
"taxonomy.rank.infraorder": "infraordine",
|
|
531
|
+
"taxonomy.rank.parvorder": "parvordine",
|
|
532
|
+
"taxonomy.rank.superfamily": "superfamiglia",
|
|
533
|
+
"taxonomy.rank.family": "famiglia",
|
|
534
|
+
"taxonomy.rank.subfamily": "sottofamiglia",
|
|
535
|
+
"taxonomy.rank.tribe": "tribù",
|
|
536
|
+
"taxonomy.rank.subtribe": "sottotribù",
|
|
537
|
+
"taxonomy.rank.genus": "genere",
|
|
538
|
+
"taxonomy.rank.subgenus": "sottogenere",
|
|
539
|
+
"taxonomy.rank.section": "sezione",
|
|
540
|
+
"taxonomy.rank.subsection": "sottosezione",
|
|
541
|
+
"taxonomy.rank.series": "serie",
|
|
542
|
+
"taxonomy.rank.subseries": "sottoserie",
|
|
543
|
+
"taxonomy.rank.speciesGroup": "gruppo di specie",
|
|
544
|
+
"taxonomy.rank.speciesSubgroup": "sottogruppo di specie",
|
|
545
|
+
"taxonomy.rank.species": "specie",
|
|
546
|
+
"taxonomy.rank.formaSpecialis": "forma specialis",
|
|
547
|
+
"taxonomy.rank.subspecies": "sottospecie",
|
|
548
|
+
"taxonomy.rank.varietas": "varietà",
|
|
549
|
+
"taxonomy.rank.subvariety": "sottovarietà",
|
|
550
|
+
"taxonomy.rank.forma": "forma",
|
|
551
|
+
"taxonomy.rank.pathogroup": "patogruppo",
|
|
552
|
+
"taxonomy.rank.serogroup": "sierogruppo",
|
|
553
|
+
"taxonomy.rank.serotype": "sierotipo",
|
|
554
|
+
"taxonomy.rank.biotype": "biotipo",
|
|
555
|
+
"taxonomy.rank.genotype": "genotipo",
|
|
556
|
+
"taxonomy.rank.morph": "morfo",
|
|
557
|
+
"taxonomy.rank.strain": "ceppo",
|
|
558
|
+
"taxonomy.rank.isolate": "isolato",
|
|
559
|
+
"taxonomy.rank.noRank": "senza rango",
|
|
560
|
+
"taxonomy.rank.clade": "clade",
|
|
561
|
+
"taxonomy.rank.cellularRoot": "radice cellulare",
|
|
562
|
+
"taxonomy.rank.acellularRoot": "radice acellulare"
|
|
509
563
|
}
|
|
@@ -10,12 +10,7 @@
|
|
|
10
10
|
* a site's own richer element record never has to cross into this component.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type {
|
|
14
|
-
CSSProperties,
|
|
15
|
-
KeyboardEvent,
|
|
16
|
-
ReactElement,
|
|
17
|
-
ReactNode,
|
|
18
|
-
} from 'react';
|
|
13
|
+
import type { KeyboardEvent, ReactElement } from 'react';
|
|
19
14
|
import { useEffect, useRef } from 'react';
|
|
20
15
|
|
|
21
16
|
import type { Swatch } from '../../color/core/interpolate.ts';
|
|
@@ -23,13 +18,8 @@ import { useResizeObserver } from '../../hooks/ui/useResizeObserver.ts';
|
|
|
23
18
|
import { useChromeT } from '../../i18n/ui/useT.ts';
|
|
24
19
|
import { categorySwatch } from '../core/categories.ts';
|
|
25
20
|
import type { PeriodicElement } from '../core/elements.ts';
|
|
26
|
-
import type { ElementPick
|
|
27
|
-
import {
|
|
28
|
-
COLUMN_COUNT,
|
|
29
|
-
EMPTY_BLOCK,
|
|
30
|
-
elementByArrowKey,
|
|
31
|
-
placedElements,
|
|
32
|
-
} from '../core/layout.ts';
|
|
21
|
+
import type { ElementPick } from '../core/layout.ts';
|
|
22
|
+
import { elementByArrowKey, placedElements } from '../core/layout.ts';
|
|
33
23
|
|
|
34
24
|
import { CategoryLegend } from './CategoryLegend.tsx';
|
|
35
25
|
import { ElementCell } from './ElementCell.tsx';
|
|
@@ -38,117 +28,16 @@ import {
|
|
|
38
28
|
InnerTransitionMarkers,
|
|
39
29
|
} from './PeriodicTableChrome.tsx';
|
|
40
30
|
import {
|
|
41
|
-
ROW_SHARE,
|
|
42
31
|
SHELLS_RESERVED,
|
|
43
32
|
detailType,
|
|
44
33
|
shellFontSize,
|
|
45
34
|
textWidthInEm,
|
|
46
35
|
} from './cellType.ts';
|
|
47
|
-
import {
|
|
36
|
+
import type { PeriodicTableProps } from './periodicTableProps.ts';
|
|
37
|
+
import { gridStyle, insetStyle, rootStyle } from './tableLayout.ts';
|
|
38
|
+
import { UNIT_PROPERTY, unitValue } from './unit.ts';
|
|
48
39
|
|
|
49
|
-
|
|
50
|
-
export interface PeriodicTableProps {
|
|
51
|
-
/**
|
|
52
|
-
* Symbol of the element the tools are pointed at.
|
|
53
|
-
* @default undefined — none is
|
|
54
|
-
*/
|
|
55
|
-
selected?: string;
|
|
56
|
-
/**
|
|
57
|
-
* Called with the symbol of the element that was clicked, and by the arrow
|
|
58
|
-
* keys. The pick says whether the click was additive — Cmd or Ctrl held — so
|
|
59
|
-
* a tool whose plain click already reads one element into a card can let the
|
|
60
|
-
* same table build a set of them.
|
|
61
|
-
* @default undefined — the table is a figure rather than a control
|
|
62
|
-
*/
|
|
63
|
-
onSelect?: (symbol: string, pick: ElementPick) => void;
|
|
64
|
-
/**
|
|
65
|
-
* The colour each cell takes.
|
|
66
|
-
* @default the family colour
|
|
67
|
-
*/
|
|
68
|
-
swatchOf?: (element: PeriodicElement) => Swatch;
|
|
69
|
-
/**
|
|
70
|
-
* What is written under the symbol; an empty string writes nothing.
|
|
71
|
-
* @default nothing is written
|
|
72
|
-
*/
|
|
73
|
-
detailOf?: (element: PeriodicElement) => string;
|
|
74
|
-
/**
|
|
75
|
-
* How an element is named, for the label a screen reader reads. The hook a
|
|
76
|
-
* site translating the table writes its own names through.
|
|
77
|
-
* @default the English name
|
|
78
|
-
*/
|
|
79
|
-
nameOf?: (element: PeriodicElement) => string;
|
|
80
|
-
/**
|
|
81
|
-
* Electrons in each shell of an element, innermost first, written down the
|
|
82
|
-
* right-hand edge of its cell. The energy levels, which a table is also read
|
|
83
|
-
* for: none of ours knows them, so the tool that does says so here.
|
|
84
|
-
* @default undefined — no cell writes any
|
|
85
|
-
*/
|
|
86
|
-
shellsOf?: (element: PeriodicElement) => readonly number[] | undefined;
|
|
87
|
-
/**
|
|
88
|
-
* Whether an element is inside the set the tool is showing. Everything
|
|
89
|
-
* outside it is dimmed rather than removed, so the table keeps its shape.
|
|
90
|
-
* @default every element is
|
|
91
|
-
*/
|
|
92
|
-
isIncluded?: (element: PeriodicElement) => boolean;
|
|
93
|
-
/**
|
|
94
|
-
* What is written in the block the table leaves empty — columns 3 to 12 of
|
|
95
|
-
* the first three periods, in the middle of the top edge. A tool that reads
|
|
96
|
-
* one element off the table puts what it says about it there, where the eye
|
|
97
|
-
* already is, rather than under the grid.
|
|
98
|
-
*
|
|
99
|
-
* It is sized against the table, like everything else in the grid, so give
|
|
100
|
-
* it type in `em` and it scales with the drawing.
|
|
101
|
-
* @default undefined — the block stays empty
|
|
102
|
-
*/
|
|
103
|
-
inset?: ReactNode;
|
|
104
|
-
/**
|
|
105
|
-
* Whether to draw the group and period strips.
|
|
106
|
-
* @default false
|
|
107
|
-
*/
|
|
108
|
-
headers?: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Called when a whole group or period header is clicked. The run says
|
|
111
|
-
* whether the click was additive — Cmd or Ctrl held — so a tool can let a
|
|
112
|
-
* reader put two periods on one chart. Without it the strips are labels
|
|
113
|
-
* rather than buttons.
|
|
114
|
-
* @default undefined
|
|
115
|
-
*/
|
|
116
|
-
onSelectRange?: (range: ElementRange) => void;
|
|
117
|
-
/**
|
|
118
|
-
* Called when the corner where the two header strips meet is clicked, which
|
|
119
|
-
* is how a reader takes the whole table back. Without it the corner stays
|
|
120
|
-
* empty.
|
|
121
|
-
* @default undefined
|
|
122
|
-
*/
|
|
123
|
-
onSelectAll?: () => void;
|
|
124
|
-
/**
|
|
125
|
-
* Whether to draw the family legend under the grid.
|
|
126
|
-
* @default false
|
|
127
|
-
*/
|
|
128
|
-
legend?: boolean;
|
|
129
|
-
/**
|
|
130
|
-
* Whether the dashed markers stand where the two inner-transition series were
|
|
131
|
-
* lifted out of the main block.
|
|
132
|
-
* @default true
|
|
133
|
-
*/
|
|
134
|
-
markers?: boolean;
|
|
135
|
-
/**
|
|
136
|
-
* Whether the arrow keys walk the grid: down from carbon is silicon, and
|
|
137
|
-
* right from the end of a period is the start of the next.
|
|
138
|
-
* @default true
|
|
139
|
-
*/
|
|
140
|
-
keyboard?: boolean;
|
|
141
|
-
/**
|
|
142
|
-
* Called on pointer enter with the symbol, and on leave with `null`.
|
|
143
|
-
* @default undefined
|
|
144
|
-
*/
|
|
145
|
-
onHover?: (symbol: string | null) => void;
|
|
146
|
-
/**
|
|
147
|
-
* Class of the outermost element.
|
|
148
|
-
* @default undefined
|
|
149
|
-
*/
|
|
150
|
-
className?: string;
|
|
151
|
-
}
|
|
40
|
+
export type { PeriodicTableProps } from './periodicTableProps.ts';
|
|
152
41
|
|
|
153
42
|
/**
|
|
154
43
|
* The 118 elements, laid out as the table.
|
|
@@ -229,7 +118,15 @@ export function PeriodicTable(props: PeriodicTableProps): ReactElement {
|
|
|
229
118
|
const shellSize = shellFontSize(deepest);
|
|
230
119
|
|
|
231
120
|
return (
|
|
232
|
-
<div
|
|
121
|
+
<div
|
|
122
|
+
ref={rootRef}
|
|
123
|
+
className={className}
|
|
124
|
+
// Drawn in HTML so every cell is a button, and saved by being painted
|
|
125
|
+
// from where the browser put it: a site saves the table by pointing
|
|
126
|
+
// `FigureDownload` at any box around it.
|
|
127
|
+
data-figure="html"
|
|
128
|
+
style={rootStyle}
|
|
129
|
+
>
|
|
233
130
|
<div
|
|
234
131
|
ref={gridRef}
|
|
235
132
|
role="grid"
|
|
@@ -273,30 +170,6 @@ export function PeriodicTable(props: PeriodicTableProps): ReactElement {
|
|
|
273
170
|
);
|
|
274
171
|
}
|
|
275
172
|
|
|
276
|
-
/**
|
|
277
|
-
* Where what the caller writes in the empty block is placed.
|
|
278
|
-
* @param offset - 1 when the table draws its header strips, 0 otherwise.
|
|
279
|
-
* @returns The style of the slot.
|
|
280
|
-
*/
|
|
281
|
-
function insetStyle(offset: number): CSSProperties {
|
|
282
|
-
return {
|
|
283
|
-
alignItems: 'center',
|
|
284
|
-
display: 'flex',
|
|
285
|
-
// A column of air on each side, so the writing reads as sitting in the
|
|
286
|
-
// block rather than as running into the cells beside it.
|
|
287
|
-
padding: `0 ${ofWidth(2.4)}`,
|
|
288
|
-
gridColumn: `${String(EMPTY_BLOCK.column + offset)} / span ${String(EMPTY_BLOCK.columnSpan)}`,
|
|
289
|
-
gridRow: `${String(EMPTY_BLOCK.row + offset)} / span ${String(EMPTY_BLOCK.rowSpan)}`,
|
|
290
|
-
// A share of the table, with a floor, exactly as a cell sizes its symbol:
|
|
291
|
-
// the block holds the same three rows at every width, so what is written
|
|
292
|
-
// in it has to shrink with them.
|
|
293
|
-
fontSize: `max(0.6rem, ${ofWidth(1.8)})`,
|
|
294
|
-
lineHeight: 1.35,
|
|
295
|
-
minWidth: 0,
|
|
296
|
-
overflow: 'hidden',
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
|
|
300
173
|
function defaultSwatchOf(element: PeriodicElement): Swatch {
|
|
301
174
|
return categorySwatch(element.category);
|
|
302
175
|
}
|
|
@@ -312,64 +185,3 @@ function noop(): void {
|
|
|
312
185
|
// A table with no `onSelect` is a figure; its cells stay buttons so the
|
|
313
186
|
// keyboard and a screen reader still reach every element.
|
|
314
187
|
}
|
|
315
|
-
|
|
316
|
-
/** Narrowest the table is ever drawn; under it the type stops being readable. */
|
|
317
|
-
const MIN_WIDTH = 280;
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* How tall one row of elements is, as a share of the table's width.
|
|
321
|
-
*
|
|
322
|
-
* A column is about 5.2% of that width, so a cell is a third taller than it is
|
|
323
|
-
* wide — the proportion of a wall chart, and the room the three bands of a
|
|
324
|
-
* cell need to be read from the back of a room. It is the same height in every
|
|
325
|
-
* table: a cell keeps the band it writes a value in whether or not that table
|
|
326
|
-
* writes one.
|
|
327
|
-
*/
|
|
328
|
-
const ROW_HEIGHT = ofWidth(ROW_SHARE);
|
|
329
|
-
|
|
330
|
-
/** The band the two inner-transition series were lifted out across. */
|
|
331
|
-
const SERIES_GAP = `max(6px, ${ofWidth(1.1)})`;
|
|
332
|
-
|
|
333
|
-
const rootStyle = {
|
|
334
|
-
display: 'flex',
|
|
335
|
-
flexDirection: 'column',
|
|
336
|
-
gap: 8,
|
|
337
|
-
minWidth: MIN_WIDTH,
|
|
338
|
-
// Everything inside — the height of a row as much as the type in a cell — is
|
|
339
|
-
// a share of this box rather than of the page, so the same table reads at
|
|
340
|
-
// 280px beside a chart and fills a lecture-hall screen at twice that. The
|
|
341
|
-
// share is measured (see `unit.ts`); the container is what the `1cqw`
|
|
342
|
-
// fallback and a site's own `@container` rules are answered by, and it keeps
|
|
343
|
-
// this box's width independent of what is written inside it.
|
|
344
|
-
containerType: 'inline-size',
|
|
345
|
-
} as const satisfies CSSProperties;
|
|
346
|
-
|
|
347
|
-
const baseGridStyle = {
|
|
348
|
-
display: 'grid',
|
|
349
|
-
gap: 2,
|
|
350
|
-
minWidth: MIN_WIDTH,
|
|
351
|
-
width: '100%',
|
|
352
|
-
} as const satisfies CSSProperties;
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* The grid the cells are placed on.
|
|
356
|
-
* @param headers - Whether a leading column and row hold the period and group
|
|
357
|
-
* numbers.
|
|
358
|
-
* @returns The style of the grid.
|
|
359
|
-
*/
|
|
360
|
-
function gridStyle(headers: boolean): CSSProperties {
|
|
361
|
-
// The eighth row is the gap the inner-transition series are lifted out into.
|
|
362
|
-
const rows = `repeat(7, ${ROW_HEIGHT}) ${SERIES_GAP} repeat(2, ${ROW_HEIGHT})`;
|
|
363
|
-
if (!headers) {
|
|
364
|
-
return {
|
|
365
|
-
...baseGridStyle,
|
|
366
|
-
gridTemplateColumns: `repeat(${String(COLUMN_COUNT)}, minmax(0, 1fr))`,
|
|
367
|
-
gridTemplateRows: rows,
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
return {
|
|
371
|
-
...baseGridStyle,
|
|
372
|
-
gridTemplateColumns: `max(14px, ${ofWidth(2.4)}) repeat(${String(COLUMN_COUNT)}, minmax(0, 1fr))`,
|
|
373
|
-
gridTemplateRows: `max(12px, ${ofWidth(2)}) ${rows}`,
|
|
374
|
-
};
|
|
375
|
-
}
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
INNER_TRANSITION_ROWS,
|
|
15
15
|
} from '../core/layout.ts';
|
|
16
16
|
|
|
17
|
+
import { SelectAllCorner } from './SelectAllCorner.tsx';
|
|
18
|
+
import { headerButtonStyle, headerStyle } from './headerStyles.ts';
|
|
17
19
|
import { ofWidth } from './unit.ts';
|
|
18
20
|
|
|
19
21
|
/** What {@link HeaderStrips} needs. */
|
|
@@ -95,15 +97,8 @@ export function HeaderStrips(props: HeaderStripsProps): ReactElement {
|
|
|
95
97
|
return (
|
|
96
98
|
<>
|
|
97
99
|
{onSelectAll === undefined ? null : (
|
|
98
|
-
<
|
|
99
|
-
// The glyph points into the grid it takes, as a spreadsheet's does.
|
|
100
|
-
// It is a mark rather than a word because the corner is a
|
|
101
|
-
// seventeenth of the table's width, and the word differs in every
|
|
102
|
-
// language the chrome speaks.
|
|
103
|
-
label="◢"
|
|
100
|
+
<SelectAllCorner
|
|
104
101
|
title={t('periodic.allElements')}
|
|
105
|
-
column={1}
|
|
106
|
-
row={1}
|
|
107
102
|
onClick={onSelectAll}
|
|
108
103
|
/>
|
|
109
104
|
)}
|
|
@@ -191,22 +186,6 @@ function HeaderCell(props: HeaderCellProps): ReactElement {
|
|
|
191
186
|
);
|
|
192
187
|
}
|
|
193
188
|
|
|
194
|
-
const headerStyle = {
|
|
195
|
-
alignItems: 'center',
|
|
196
|
-
color: TOKEN.textMuted,
|
|
197
|
-
display: 'flex',
|
|
198
|
-
fontSize: `max(0.45rem, ${ofWidth(1.35)})`,
|
|
199
|
-
justifyContent: 'center',
|
|
200
|
-
padding: 0,
|
|
201
|
-
} as const satisfies CSSProperties;
|
|
202
|
-
|
|
203
|
-
const headerButtonStyle = {
|
|
204
|
-
background: 'none',
|
|
205
|
-
border: 'none',
|
|
206
|
-
cursor: 'pointer',
|
|
207
|
-
font: 'inherit',
|
|
208
|
-
} as const satisfies CSSProperties;
|
|
209
|
-
|
|
210
189
|
const markerStyle = {
|
|
211
190
|
alignItems: 'center',
|
|
212
191
|
border: `1px dashed ${TOKEN.borderStrong}`,
|