allyhub 0.5.0 → 0.6.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/dist/commands/render.js +1 -1
- package/dist/commands/sheet.js +7 -7
- package/dist/commands/slides.js +1 -1
- package/dist/node_modules/@allyhub-next/audio/package.json +1 -1
- package/dist/node_modules/@allyhub-next/browser/package.json +1 -1
- package/dist/node_modules/@allyhub-next/build/package.json +1 -1
- package/dist/node_modules/@allyhub-next/chart/package.json +1 -1
- package/dist/node_modules/@allyhub-next/check/package.json +1 -1
- package/dist/node_modules/@allyhub-next/cloud/package.json +1 -1
- package/dist/node_modules/@allyhub-next/components/package.json +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/package.json +1 -1
- package/dist/node_modules/@allyhub-next/doc/package.json +1 -1
- package/dist/node_modules/@allyhub-next/export/dist/export.d.ts +2 -2
- package/dist/node_modules/@allyhub-next/export/dist/export.js +4 -4
- package/dist/node_modules/@allyhub-next/export/dist/names.d.ts +1 -1
- package/dist/node_modules/@allyhub-next/export/package.json +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/sheet.d.ts +179 -0
- package/dist/node_modules/@allyhub-next/formats/dist/data/sheet.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +303 -11
- package/dist/node_modules/@allyhub-next/formats/dist/data/slides.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/index.d.ts +1 -0
- package/dist/node_modules/@allyhub-next/formats/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/items.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/schemas.d.ts +135 -3
- package/dist/node_modules/@allyhub-next/formats/dist/zip.d.ts +17 -0
- package/dist/node_modules/@allyhub-next/formats/dist/zip.js +2 -0
- package/dist/node_modules/@allyhub-next/formats/package.json +1 -1
- package/dist/node_modules/@allyhub-next/measure/package.json +1 -1
- package/dist/node_modules/@allyhub-next/media/package.json +1 -1
- package/dist/node_modules/@allyhub-next/model/package.json +1 -1
- package/dist/node_modules/@allyhub-next/project/package.json +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/editor.d.ts +10 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/notes.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/notes.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/package.json +1 -1
- package/dist/node_modules/@allyhub-next/registry/package.json +1 -1
- package/dist/node_modules/@allyhub-next/render/dist/exports.d.ts +2 -11
- package/dist/node_modules/@allyhub-next/render/dist/exports.js +2 -2
- package/dist/node_modules/@allyhub-next/render/dist/page.d.ts +1 -9
- package/dist/node_modules/@allyhub-next/render/package.json +1 -1
- package/dist/node_modules/@allyhub-next/runtime/package.json +1 -1
- package/dist/node_modules/@allyhub-next/runtimes/package.json +1 -1
- package/dist/node_modules/@allyhub-next/scaffold/package.json +1 -1
- package/dist/node_modules/@allyhub-next/scenery/package.json +1 -1
- package/dist/node_modules/@allyhub-next/scenery-host/package.json +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/api/capabilities.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/api/index.d.ts +1 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/api/index.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/api/page.d.ts +83 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/api/page.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/api/workbook.d.ts +40 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/api/workbook.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/check.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/structure.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/charts.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/charts.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/import.d.ts +3 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/import.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/read.d.ts +2 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/read.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/write.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/package.json +1 -1
- package/dist/node_modules/@allyhub-next/site/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/api.d.ts +64 -7
- package/dist/node_modules/@allyhub-next/slides-core/dist/api.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-core/dist/capabilities.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +23 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/chart-api.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/chart-file.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +20 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/enums.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/index.d.ts +1 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/model.d.ts +37 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/office.d.ts +10 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/office.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/preset.d.ts +5 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/preset.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +7 -2
- package/dist/node_modules/@allyhub-next/slides-core/dist/resolve.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/charts.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +2 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +6 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +11 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/text.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/write.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +10 -4
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/xml.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +3 -0
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/draw.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/edit.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-runtime/package.json +1 -1
- package/dist/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
- package/dist/node_modules/@allyhub-next/stage/package.json +1 -1
- package/dist/node_modules/@allyhub-next/stage-page/dist/page.js +19 -19
- package/dist/node_modules/@allyhub-next/stage-page/package.json +1 -1
- package/dist/node_modules/@allyhub-next/video-core/package.json +1 -1
- package/editor-web/assets/dist-BW2s9FMO.js +4 -0
- package/editor-web/assets/{dist-CuW84oPe.js → dist-C-6JmebI.js} +22 -22
- package/editor-web/assets/dist-CCYMLMKN.js +6 -0
- package/editor-web/assets/dist-CHzurjMx.js +33 -0
- package/editor-web/assets/{dist-Yi3sy7Ea.js → dist-DF7H1dxw.js} +1 -1
- package/editor-web/assets/dist-Da5AUSKX.js +2 -0
- package/editor-web/assets/index-CovQYWvD.js +69 -0
- package/editor-web/assets/minus-BrvjaJyO.js +1 -0
- package/editor-web/assets/react-DV5fPdiH.js +101 -0
- package/editor-web/assets/{textarea-CvxipnGW.js → textarea-B0vCGdZI.js} +2 -2
- package/editor-web/assets/{trash-2-Bq1Dt8XG.js → trash-2-B0dvc1cZ.js} +1 -1
- package/editor-web/assets/{undo-2-Djhvu4xt.js → undo-2-A1EPubPO.js} +1 -1
- package/editor-web/index.html +2 -2
- package/package.json +2 -2
- package/editor-web/assets/dist-Cg2PdedY.js +0 -6
- package/editor-web/assets/dist-CxAS_vp7.js +0 -2
- package/editor-web/assets/dist-DCVaj9i1.js +0 -4
- package/editor-web/assets/dist-DGVUuVPB.js +0 -33
- package/editor-web/assets/index-pwRfZ2Jv.js +0 -69
- package/editor-web/assets/minus-BizJdinJ.js +0 -1
- package/editor-web/assets/react-D54s6gwK.js +0 -101
|
@@ -456,6 +456,7 @@ export declare const DATA_FILES: {
|
|
|
456
456
|
}, z.core.$strict>>;
|
|
457
457
|
width: z.ZodOptional<z.ZodNumber>;
|
|
458
458
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
459
|
+
level: z.ZodOptional<z.ZodNumber>;
|
|
459
460
|
}, z.core.$strict>>>;
|
|
460
461
|
rows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
461
462
|
format: z.ZodOptional<z.ZodString>;
|
|
@@ -596,6 +597,7 @@ export declare const DATA_FILES: {
|
|
|
596
597
|
}, z.core.$strict>>;
|
|
597
598
|
height: z.ZodOptional<z.ZodNumber>;
|
|
598
599
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
600
|
+
level: z.ZodOptional<z.ZodNumber>;
|
|
599
601
|
}, z.core.$strict>>>;
|
|
600
602
|
cells: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString, z.ZodNull]>, z.ZodObject<{
|
|
601
603
|
format: z.ZodOptional<z.ZodString>;
|
|
@@ -1671,6 +1673,58 @@ export declare const DATA_FILES: {
|
|
|
1671
1673
|
title_size: z.ZodOptional<z.ZodNumber>;
|
|
1672
1674
|
color: z.ZodOptional<z.ZodString>;
|
|
1673
1675
|
}, z.core.$strict>>>;
|
|
1676
|
+
pictures: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1677
|
+
file: z.ZodString;
|
|
1678
|
+
at: z.ZodString;
|
|
1679
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
1680
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
1681
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1682
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1683
|
+
}, z.core.$strict>>>;
|
|
1684
|
+
links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1685
|
+
notes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1686
|
+
text: z.ZodString;
|
|
1687
|
+
author: z.ZodOptional<z.ZodString>;
|
|
1688
|
+
}, z.core.$strict>]>>>;
|
|
1689
|
+
print: z.ZodOptional<z.ZodObject<{
|
|
1690
|
+
area: z.ZodOptional<z.ZodString>;
|
|
1691
|
+
title_rows: z.ZodOptional<z.ZodString>;
|
|
1692
|
+
title_cols: z.ZodOptional<z.ZodString>;
|
|
1693
|
+
orientation: z.ZodOptional<z.ZodEnum<{
|
|
1694
|
+
portrait: "portrait";
|
|
1695
|
+
landscape: "landscape";
|
|
1696
|
+
}>>;
|
|
1697
|
+
paper: z.ZodOptional<z.ZodEnum<{
|
|
1698
|
+
letter: "letter";
|
|
1699
|
+
legal: "legal";
|
|
1700
|
+
a3: "a3";
|
|
1701
|
+
a4: "a4";
|
|
1702
|
+
a5: "a5";
|
|
1703
|
+
}>>;
|
|
1704
|
+
fit: z.ZodOptional<z.ZodObject<{
|
|
1705
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1706
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1707
|
+
}, z.core.$strict>>;
|
|
1708
|
+
margins: z.ZodOptional<z.ZodObject<{
|
|
1709
|
+
left: z.ZodOptional<z.ZodNumber>;
|
|
1710
|
+
right: z.ZodOptional<z.ZodNumber>;
|
|
1711
|
+
top: z.ZodOptional<z.ZodNumber>;
|
|
1712
|
+
bottom: z.ZodOptional<z.ZodNumber>;
|
|
1713
|
+
header: z.ZodOptional<z.ZodNumber>;
|
|
1714
|
+
footer: z.ZodOptional<z.ZodNumber>;
|
|
1715
|
+
}, z.core.$strict>>;
|
|
1716
|
+
header: z.ZodOptional<z.ZodObject<{
|
|
1717
|
+
left: z.ZodOptional<z.ZodString>;
|
|
1718
|
+
center: z.ZodOptional<z.ZodString>;
|
|
1719
|
+
right: z.ZodOptional<z.ZodString>;
|
|
1720
|
+
}, z.core.$strict>>;
|
|
1721
|
+
footer: z.ZodOptional<z.ZodObject<{
|
|
1722
|
+
left: z.ZodOptional<z.ZodString>;
|
|
1723
|
+
center: z.ZodOptional<z.ZodString>;
|
|
1724
|
+
right: z.ZodOptional<z.ZodString>;
|
|
1725
|
+
}, z.core.$strict>>;
|
|
1726
|
+
}, z.core.$strict>>;
|
|
1727
|
+
protect: z.ZodOptional<z.ZodBoolean>;
|
|
1674
1728
|
}, z.core.$strict>>;
|
|
1675
1729
|
checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1676
1730
|
name: z.ZodString;
|
|
@@ -1710,6 +1764,48 @@ export declare const DATA_FILES: {
|
|
|
1710
1764
|
hlink: "hlink";
|
|
1711
1765
|
folHlink: "folHlink";
|
|
1712
1766
|
}>, z.ZodString]>>;
|
|
1767
|
+
fill_transparency: z.ZodOptional<z.ZodNumber>;
|
|
1768
|
+
gradient: z.ZodOptional<z.ZodObject<{
|
|
1769
|
+
angle: z.ZodOptional<z.ZodNumber>;
|
|
1770
|
+
stops: z.ZodArray<z.ZodObject<{
|
|
1771
|
+
at: z.ZodNumber;
|
|
1772
|
+
color: z.ZodUnion<readonly [z.ZodEnum<{
|
|
1773
|
+
dk1: "dk1";
|
|
1774
|
+
lt1: "lt1";
|
|
1775
|
+
dk2: "dk2";
|
|
1776
|
+
lt2: "lt2";
|
|
1777
|
+
accent1: "accent1";
|
|
1778
|
+
accent2: "accent2";
|
|
1779
|
+
accent3: "accent3";
|
|
1780
|
+
accent4: "accent4";
|
|
1781
|
+
accent5: "accent5";
|
|
1782
|
+
accent6: "accent6";
|
|
1783
|
+
hlink: "hlink";
|
|
1784
|
+
folHlink: "folHlink";
|
|
1785
|
+
}>, z.ZodString]>;
|
|
1786
|
+
transparency: z.ZodOptional<z.ZodNumber>;
|
|
1787
|
+
}, z.core.$strict>>;
|
|
1788
|
+
}, z.core.$strict>>;
|
|
1789
|
+
shadow: z.ZodOptional<z.ZodObject<{
|
|
1790
|
+
color: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1791
|
+
dk1: "dk1";
|
|
1792
|
+
lt1: "lt1";
|
|
1793
|
+
dk2: "dk2";
|
|
1794
|
+
lt2: "lt2";
|
|
1795
|
+
accent1: "accent1";
|
|
1796
|
+
accent2: "accent2";
|
|
1797
|
+
accent3: "accent3";
|
|
1798
|
+
accent4: "accent4";
|
|
1799
|
+
accent5: "accent5";
|
|
1800
|
+
accent6: "accent6";
|
|
1801
|
+
hlink: "hlink";
|
|
1802
|
+
folHlink: "folHlink";
|
|
1803
|
+
}>, z.ZodString]>>;
|
|
1804
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
1805
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
1806
|
+
angle: z.ZodOptional<z.ZodNumber>;
|
|
1807
|
+
transparency: z.ZodOptional<z.ZodNumber>;
|
|
1808
|
+
}, z.core.$strict>>;
|
|
1713
1809
|
line: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodEnum<{
|
|
1714
1810
|
dk1: "dk1";
|
|
1715
1811
|
lt1: "lt1";
|
|
@@ -1738,17 +1834,17 @@ export declare const DATA_FILES: {
|
|
|
1738
1834
|
line_begin: z.ZodOptional<z.ZodEnum<{
|
|
1739
1835
|
arrow: "arrow";
|
|
1740
1836
|
triangle: "triangle";
|
|
1837
|
+
diamond: "diamond";
|
|
1741
1838
|
none: "none";
|
|
1742
1839
|
stealth: "stealth";
|
|
1743
|
-
diamond: "diamond";
|
|
1744
1840
|
oval: "oval";
|
|
1745
1841
|
}>>;
|
|
1746
1842
|
line_end: z.ZodOptional<z.ZodEnum<{
|
|
1747
1843
|
arrow: "arrow";
|
|
1748
1844
|
triangle: "triangle";
|
|
1845
|
+
diamond: "diamond";
|
|
1749
1846
|
none: "none";
|
|
1750
1847
|
stealth: "stealth";
|
|
1751
|
-
diamond: "diamond";
|
|
1752
1848
|
oval: "oval";
|
|
1753
1849
|
}>>;
|
|
1754
1850
|
text: z.ZodOptional<z.ZodObject<{
|
|
@@ -1776,6 +1872,14 @@ export declare const DATA_FILES: {
|
|
|
1776
1872
|
ctr: "ctr";
|
|
1777
1873
|
just: "just";
|
|
1778
1874
|
}>>;
|
|
1875
|
+
numbered: z.ZodOptional<z.ZodEnum<{
|
|
1876
|
+
arabicPeriod: "arabicPeriod";
|
|
1877
|
+
arabicParenR: "arabicParenR";
|
|
1878
|
+
alphaLcPeriod: "alphaLcPeriod";
|
|
1879
|
+
alphaUcPeriod: "alphaUcPeriod";
|
|
1880
|
+
romanLcPeriod: "romanLcPeriod";
|
|
1881
|
+
romanUcPeriod: "romanUcPeriod";
|
|
1882
|
+
}>>;
|
|
1779
1883
|
}, z.core.$strict>>;
|
|
1780
1884
|
textbox: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1781
1885
|
picture: z.ZodOptional<z.ZodString>;
|
|
@@ -1794,6 +1898,22 @@ export declare const DATA_FILES: {
|
|
|
1794
1898
|
ellipse: "ellipse";
|
|
1795
1899
|
triangle: "triangle";
|
|
1796
1900
|
rightArrow: "rightArrow";
|
|
1901
|
+
leftArrow: "leftArrow";
|
|
1902
|
+
upArrow: "upArrow";
|
|
1903
|
+
downArrow: "downArrow";
|
|
1904
|
+
leftRightArrow: "leftRightArrow";
|
|
1905
|
+
diamond: "diamond";
|
|
1906
|
+
parallelogram: "parallelogram";
|
|
1907
|
+
trapezoid: "trapezoid";
|
|
1908
|
+
pentagon: "pentagon";
|
|
1909
|
+
hexagon: "hexagon";
|
|
1910
|
+
octagon: "octagon";
|
|
1911
|
+
chevron: "chevron";
|
|
1912
|
+
homePlate: "homePlate";
|
|
1913
|
+
plus: "plus";
|
|
1914
|
+
star4: "star4";
|
|
1915
|
+
star5: "star5";
|
|
1916
|
+
wedgeRectCallout: "wedgeRectCallout";
|
|
1797
1917
|
}>>;
|
|
1798
1918
|
path: z.ZodOptional<z.ZodObject<{
|
|
1799
1919
|
w: z.ZodNumber;
|
|
@@ -1843,6 +1963,14 @@ export declare const DATA_FILES: {
|
|
|
1843
1963
|
ctr: "ctr";
|
|
1844
1964
|
just: "just";
|
|
1845
1965
|
}>>;
|
|
1966
|
+
numbered: z.ZodOptional<z.ZodEnum<{
|
|
1967
|
+
arabicPeriod: "arabicPeriod";
|
|
1968
|
+
arabicParenR: "arabicParenR";
|
|
1969
|
+
alphaLcPeriod: "alphaLcPeriod";
|
|
1970
|
+
alphaUcPeriod: "alphaUcPeriod";
|
|
1971
|
+
romanLcPeriod: "romanLcPeriod";
|
|
1972
|
+
romanUcPeriod: "romanUcPeriod";
|
|
1973
|
+
}>>;
|
|
1846
1974
|
}, z.core.$strict>>;
|
|
1847
1975
|
line: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1848
1976
|
dk1: "dk1";
|
|
@@ -1875,12 +2003,16 @@ export declare const DATA_FILES: {
|
|
|
1875
2003
|
"area-stacked-100": "area-stacked-100";
|
|
1876
2004
|
pie: "pie";
|
|
1877
2005
|
doughnut: "doughnut";
|
|
2006
|
+
scatter: "scatter";
|
|
2007
|
+
"scatter-lines": "scatter-lines";
|
|
2008
|
+
"scatter-smooth": "scatter-smooth";
|
|
1878
2009
|
}>;
|
|
1879
2010
|
data: z.ZodOptional<z.ZodString>;
|
|
1880
|
-
categories: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]
|
|
2011
|
+
categories: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
1881
2012
|
series: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1882
2013
|
name: z.ZodString;
|
|
1883
2014
|
values: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>;
|
|
2015
|
+
x: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>;
|
|
1884
2016
|
color: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1885
2017
|
dk1: "dk1";
|
|
1886
2018
|
lt1: "lt1";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ZipLimits {
|
|
2
|
+
/** Entries in the file. */
|
|
3
|
+
parts: number;
|
|
4
|
+
/** Bytes of all its entries unzipped. */
|
|
5
|
+
bytes: number;
|
|
6
|
+
}
|
|
7
|
+
/** What Office's own files stay well under, and a hosted Studio can afford. */
|
|
8
|
+
export declare const ZIP_LIMITS: ZipLimits;
|
|
9
|
+
/** A file past its limits: a reader says it as it is. */
|
|
10
|
+
export declare class ZipLimitError extends Error {
|
|
11
|
+
}
|
|
12
|
+
/** An `unzipSync` filter that refuses a file past `limits`, before anything is inflated. */
|
|
13
|
+
export declare function withinZip(limits?: Partial<ZipLimits>): (entry: {
|
|
14
|
+
name: string;
|
|
15
|
+
originalSize: number;
|
|
16
|
+
}) => boolean;
|
|
17
|
+
//# sourceMappingURL=zip.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export const ZIP_LIMITS={parts:1e4,bytes:1610612736};export class ZipLimitError extends Error{}export function withinZip(t={}){const{parts:r,bytes:n}={...ZIP_LIMITS,...t};let e=0,o=0;return i=>{if(e+=1,o+=i.originalSize,e>r)throw new ZipLimitError(`It has more than ${String(r)} parts.`);if(o>n)throw new ZipLimitError(`It unzips to more than ${String(Math.round(n/1024/1024))} MB.`);return!0}}
|
|
@@ -17,6 +17,7 @@ export declare const HostContextSchema: z.ZodObject<{
|
|
|
17
17
|
project: z.ZodObject<{
|
|
18
18
|
name: z.ZodString;
|
|
19
19
|
}, z.core.$strict>;
|
|
20
|
+
notes: z.ZodOptional<z.ZodBoolean>;
|
|
20
21
|
item: z.ZodObject<{
|
|
21
22
|
kind: z.ZodEnum<{
|
|
22
23
|
video: "video";
|
|
@@ -65,6 +66,7 @@ export declare const HOST_METHODS: {
|
|
|
65
66
|
project: z.ZodObject<{
|
|
66
67
|
name: z.ZodString;
|
|
67
68
|
}, z.core.$strict>;
|
|
69
|
+
notes: z.ZodOptional<z.ZodBoolean>;
|
|
68
70
|
item: z.ZodObject<{
|
|
69
71
|
kind: z.ZodEnum<{
|
|
70
72
|
video: "video";
|
|
@@ -121,6 +123,9 @@ export declare const HOST_METHODS: {
|
|
|
121
123
|
}, z.core.$strict>, z.ZodObject<{
|
|
122
124
|
delivered: z.ZodBoolean;
|
|
123
125
|
}, z.core.$strict>>;
|
|
126
|
+
readonly "note/begin": import("./jsonrpc.js").MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
127
|
+
begun: z.ZodBoolean;
|
|
128
|
+
}, z.core.$strict>>;
|
|
124
129
|
readonly "tools/call": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
|
|
125
130
|
name: z.ZodString;
|
|
126
131
|
arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -221,6 +226,7 @@ export declare const HOST_NOTIFICATIONS: {
|
|
|
221
226
|
project: z.ZodObject<{
|
|
222
227
|
name: z.ZodString;
|
|
223
228
|
}, z.core.$strict>;
|
|
229
|
+
notes: z.ZodOptional<z.ZodBoolean>;
|
|
224
230
|
item: z.ZodObject<{
|
|
225
231
|
kind: z.ZodEnum<{
|
|
226
232
|
video: "video";
|
|
@@ -263,6 +269,7 @@ export declare const EDITOR_HOST_METHODS: {
|
|
|
263
269
|
project: z.ZodObject<{
|
|
264
270
|
name: z.ZodString;
|
|
265
271
|
}, z.core.$strict>;
|
|
272
|
+
notes: z.ZodOptional<z.ZodBoolean>;
|
|
266
273
|
item: z.ZodObject<{
|
|
267
274
|
kind: z.ZodEnum<{
|
|
268
275
|
video: "video";
|
|
@@ -319,6 +326,9 @@ export declare const EDITOR_HOST_METHODS: {
|
|
|
319
326
|
}, z.core.$strict>, z.ZodObject<{
|
|
320
327
|
delivered: z.ZodBoolean;
|
|
321
328
|
}, z.core.$strict>>;
|
|
329
|
+
readonly "note/begin": import("./jsonrpc.js").MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
330
|
+
begun: z.ZodBoolean;
|
|
331
|
+
}, z.core.$strict>>;
|
|
322
332
|
readonly "tools/call": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
|
|
323
333
|
name: z.ZodString;
|
|
324
334
|
arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{z as t}from"zod";import{EDITORS as s,KINDS as
|
|
2
|
+
import{z as t}from"zod";import{EDITORS as s,KINDS as r}from"@allyhub-next/formats";import{FILE_METHODS as i,FILE_NOTIFICATIONS as a,PathSchema as o}from"./files.js";import{method as e,notification as n}from"./jsonrpc.js";import{TOOL_NOTIFICATIONS as c}from"./tools.js";export const ThemeSchema=t.enum(["light","dark"]),HostContextSchema=t.strictObject({locale:t.string().min(2),theme:ThemeSchema,agent:t.strictObject({name:t.string().min(1)}).optional(),project:t.strictObject({name:t.string().min(1)}),notes:t.boolean().optional(),item:t.strictObject({kind:t.enum(r),dir:o,entry:o}),editor:t.enum(s)}),OpenTargetSchema=t.discriminatedUnion("type",[t.strictObject({type:t.literal("file"),path:o,line:t.int().positive().optional()}),t.strictObject({type:t.literal("browser"),url:t.url({protocol:/^https?$/u}).optional(),tabId:t.string().min(1).optional()})]),EDITOR_STATES=["saved","saving","unsaved","error"],HOST_METHODS={"host/context":e(t.strictObject({}),HostContextSchema,"Where the editor runs."),"items/open":e(t.strictObject({target:OpenTargetSchema}),t.strictObject({}),"Shows another item, a file or a page, where the host shows things."),"storage/get":e(t.strictObject({key:t.string().min(1)}),t.strictObject({value:t.unknown()}),"What the editor kept for this person on this computer (a hand sort, what was last seen), or null."),"storage/set":e(t.strictObject({key:t.string().min(1),value:t.unknown()}),t.strictObject({}),"Keeps a value for this person on this computer; null removes it."),"editor/state":e(t.strictObject({state:t.enum(EDITOR_STATES),message:t.string().optional()}),t.strictObject({}),"Says whether what the person typed is saved."),"agent/ask":e(t.strictObject({text:t.string().min(1)}),t.strictObject({delivered:t.boolean()}),"Puts words before the person's agent, for them to go on and send; false where no agent takes them. Never sent by itself."),"note/begin":e(t.strictObject({}),t.strictObject({begun:t.boolean()}),"Starts the host's Note mode on what is on show, as its own Note button does, so a person can mark anything up for their agent from wherever they are; false where the host has none. Sends nothing."),"tools/call":e(t.strictObject({name:t.string().min(1),arguments:t.record(t.string(),t.unknown()).default({})}),t.strictObject({result:t.unknown()}),"Runs one of the project server's tools (tools.ts's PROJECT_TOOLS), for an editor that needs more than files (a video's preview, a still).")},HOST_NOTIFICATIONS={"host/context-changed":n(HostContextSchema,"The language, theme or agent changed."),"editor/command":n(t.strictObject({command:t.enum(["export"])}),"The host around the editor asked it to do what its own shortcut does."),...a,...c},EDITOR_HOST_METHODS={...i,...HOST_METHODS};
|
|
@@ -85,6 +85,8 @@ export type NoteElement = z.infer<typeof NoteElementSchema>;
|
|
|
85
85
|
export declare const NOTE_READY = "note/ready";
|
|
86
86
|
/** What a framed page tells the window: words for the agent's composer. */
|
|
87
87
|
export declare const AGENT_ASK = "agent/ask";
|
|
88
|
+
/** What a framed page tells the window: the person asked for Note mode. */
|
|
89
|
+
export declare const NOTE_BEGIN = "note/begin";
|
|
88
90
|
export declare const NOTE_GONE = "note/gone";
|
|
89
91
|
export declare const NOTE_METHODS: {
|
|
90
92
|
readonly "note/freeze": import("./jsonrpc.js").MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{z as t}from"zod";import{pointsOf as
|
|
2
|
+
import{z as t}from"zod";import{pointsOf as n,mapShape as r,touches as s}from"@allyhub-next/formats";import{PathSchema as i}from"./files.js";import{method as e}from"./jsonrpc.js";export const NoteRectSchema=t.strictObject({x:t.number(),y:t.number(),width:t.number().nonnegative(),height:t.number().nonnegative()});const o=t.strictObject({x:t.number(),y:t.number()});export const NoteShapeSchema=t.discriminatedUnion("kind",[t.strictObject({kind:t.literal("box"),rect:NoteRectSchema}),t.strictObject({kind:t.literal("round"),rect:NoteRectSchema}),t.strictObject({kind:t.literal("arrow"),from:o,to:o}),t.strictObject({kind:t.literal("line"),points:t.array(o).min(1)})]);export{r as mapShape,n as pointsOf,s as touches};export const NoteSourceSchema=t.strictObject({path:i,line:t.int().positive().optional()}),FrozenSchema=t.strictObject({key:t.string().min(1),what:t.string(),source:NoteSourceSchema.optional()}),NotePictureSchema=t.strictObject({rect:NoteRectSchema.optional(),mime:t.string().min(1),data:t.string().min(1)}),NoteElementSchema=t.strictObject({name:t.string().min(1),source:NoteSourceSchema.optional(),text:t.string().optional()}),NOTE_READY="note/ready",AGENT_ASK="agent/ask",NOTE_BEGIN="note/begin",NOTE_GONE="note/gone",NOTE_METHODS={"note/freeze":e(t.strictObject({}),FrozenSchema,"Stops what moves and says what is on show. Answered once it is drawn, so a page still loading is not captured empty."),"note/pictures":e(t.strictObject({page:t.boolean()}),t.strictObject({pictures:t.array(NotePictureSchema)}),"What is on show drawn better than a screenshot can, or what a screenshot cannot reach: a render's frame, a frame of its own. Laid in order over the host's screenshot."),"note/locate":e(t.strictObject({mark:NoteShapeSchema}),t.strictObject({elements:t.array(NoteElementSchema)}),"What a mark is on, while frozen: the surface alone knows what it shows, and says it in its own terms, with its file and line where it knows them. Empty is an answer: the mark's place still goes."),"note/thaw":e(t.strictObject({}),t.strictObject({}),"The person is done. Nothing starts by itself: a video that was paused stays paused.")};
|
|
@@ -10,14 +10,6 @@ export interface ExportOptions extends Tools {
|
|
|
10
10
|
out: string;
|
|
11
11
|
/** A deck's pages: a PDF page, a PNG or a slide per step, not only each page's last; default false. */
|
|
12
12
|
steps?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* A PPTX's slides: "picture", each a full-bleed picture (the default),
|
|
15
|
-
* or "editable", each the picture with its text hidden under a text box
|
|
16
|
-
* per block of text, as measured on the page (its box, size, weight,
|
|
17
|
-
* colour and font), so the words can be edited in PowerPoint, Keynote or
|
|
18
|
-
* Google Slides.
|
|
19
|
-
*/
|
|
20
|
-
pptx?: "picture" | "editable";
|
|
21
13
|
}
|
|
22
14
|
/** A moment an export draws: a part's (or a step's) still. */
|
|
23
15
|
interface Still {
|
|
@@ -67,9 +59,8 @@ export declare function renderPdf(opts: ExportOptions): Promise<ExportResult>;
|
|
|
67
59
|
export declare function renderPng(opts: ExportOptions): Promise<ExportResult>;
|
|
68
60
|
/**
|
|
69
61
|
* One slide per part or page (per step with `steps`), each the still as a
|
|
70
|
-
* full-bleed picture
|
|
71
|
-
*
|
|
72
|
-
* what a part says, else the text it shows.
|
|
62
|
+
* full-bleed picture; the speaker notes are a page's notes, else what a
|
|
63
|
+
* part says, else the text it shows.
|
|
73
64
|
*/
|
|
74
65
|
export declare function renderPptx(opts: ExportOptions): Promise<ExportResult>;
|
|
75
66
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{writeFile as
|
|
3
|
-
`)??"";
|
|
2
|
+
import{writeFile as b}from"node:fs/promises";import{createRequire as k}from"node:module";import{captionCues as $,paperOf as j,subtitleCues as L,toSrt as v,toVtt as C}from"@allyhub-next/video-core";import{RenderError as O}from"./errors.js";import{backgroundStill as P,finalStill as p,footageStill as E}from"./stills.js";export function stillsOf(t,e=!1){const i=[];for(const[o,n]of t.parts.entries()){if(n.hidden===!0)continue;const a=n.title??String(o+1),r=e&&n.steps!==void 0?n.steps:[n.still];r.forEach((c,s)=>{i.push({part:n,at:c,title:r.length>1?`${a} (${String(s+1)})`:a})})}return i}async function g(t,e,i){return await b(t,e),{out:t,units:i,bytes:e.byteLength}}const u=t=>({target:t.target,look:t.look,media:t.media,...t.ffmpeg===void 0?{}:{ffmpeg:t.ffmpeg},...t.ffprobe===void 0?{}:{ffprobe:t.ffprobe}});export async function renderCaptions(t){const{timeline:e}=t.page,i=await t.page.lines();if(i.length===0)throw new O("no-speech",`${t.target.output} of ${t.target.piece} (${t.target.combo.lang??"this combo"}) says nothing with word times, so there are no subtitles to export.`,{hint:'Give parts speech: speech: take("./take.mp4") with its .words.json beside it, or say(s("…")) and allyhub voice.'});const o={lines:i,fps:e.fps},n=t.captions?$(o,t.captions):L(o,await t.page.captionOptions()),a=t.type==="srt"?v(n):C(n);return g(t.out,new TextEncoder().encode(a),n.length)}export async function renderCover(t){const{page:e}=t,i=await e.covers()>0?await P(e.timeline,await e.cover(0),"jpeg",t):await p(e,e.timeline.parts[0]?.still??0,{...u(t),format:"jpeg"});return g(t.out,i,1)}export async function renderPdf(t){const{timeline:e}=t.page,i=e.background,o=[];for(const a of stillsOf(e,t.steps)){const r=await E(t.media,e,a.at,"jpeg",t);o.push({still:a.at,title:a.title,background:r?`url(data:image/jpeg;base64,${r.toString("base64")}) 0 0 / 100% 100% no-repeat`:i})}const n=await t.page.print(o,e.paper??j(t.target.format));return g(t.out,n,o.length)}export async function renderPng(t){const e=stillsOf(t.page.timeline,t.steps),i=Math.max(2,String(e.length).length),o=t.out.replace(/\.png$/i,""),n=[];let a=0;for(const[r,c]of e.entries()){const s=e.length===1?t.out:`${o}.${String(r+1).padStart(i,"0")}.png`,l=await p(t.page,c.at,u(t));await b(s,l),n.push(s),a+=l.byteLength}return{out:n[0]??t.out,units:n.length,bytes:a,files:n}}const N=k(import.meta.url)("pptxgenjs");export async function renderPptx(t){const{timeline:e}=t.page,{width:i,height:o}=e,n=/^([\d.]+)in ([\d.]+)in$/u.exec(e.paper??""),a=13.333/Math.max(i,o),r=n?Number(n[1]):i*a,c=n?Number(n[2]):o*a,s=new N;s.defineLayout({name:"ALLYHUB",width:r,height:c}),s.layout="ALLYHUB";const l=await t.page.text(),d=stillsOf(e,t.steps);for(const m of d){const x=await p(t.page,m.at,u(t)),h=s.addSlide();h.addImage({data:`image/png;base64,${x.toString("base64")}`,x:0,y:0,w:r,h:c});const f=l.find(S=>S.key===m.part.key),w=f?.notes??f?.spoken??f?.onScreen.join(`
|
|
3
|
+
`)??"";w&&h.addNotes(w)}const y=await s.write({outputType:"nodebuffer"});return g(t.out,y,d.length)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CaptionLine, CaptionOptions, CaptureOptions, Combo, MediaInfo, Problem, Timeline } from "@allyhub-next/video-core";
|
|
2
2
|
/** Which output a render is of: a piece's output in one combo and format. */
|
|
3
3
|
export interface RenderTarget {
|
|
4
4
|
piece: string;
|
|
@@ -129,16 +129,8 @@ export interface ExportPage extends GraphicsPage {
|
|
|
129
129
|
captionOptions(): Promise<CaptionOptions | undefined>;
|
|
130
130
|
/** Each part's notes and text, for a deck's speaker notes. */
|
|
131
131
|
text(): Promise<readonly PartText[]>;
|
|
132
|
-
/**
|
|
133
|
-
* Each text block drawn at film time t, with its lines' glyph boxes and
|
|
134
|
-
* fills, its size and weight (LoadedOutput.inks): an editable PPTX's
|
|
135
|
-
* text boxes. Absent where the page cannot measure.
|
|
136
|
-
*/
|
|
137
|
-
inks?(t: number): Promise<TextInk[]>;
|
|
138
132
|
/** A deck as it was drawn (slides-core's DrawnDeck): its PowerPoint file's model. Absent on a video. */
|
|
139
133
|
deck?(): Promise<unknown>;
|
|
140
|
-
/** Hides every text's fill while on (HIDE_TEXT_CSS): the picture behind an editable PPTX's text boxes. */
|
|
141
|
-
hideText?(on: boolean): Promise<void>;
|
|
142
134
|
/** How many covers the output has (video(…, { covers })). */
|
|
143
135
|
covers(): Promise<number>;
|
|
144
136
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{publicNames as n}from"@allyhub-next/formats";import{FUNCTIONS as h}from"../calc/functions/index.js";import{AreaChart as d,BarChart as p,DataLabelList as m,DoughnutChart as c,GraphicalProperties as w,Legend as f,LineChart as u,LineProperties as y,Marker as
|
|
2
|
+
import{publicNames as n}from"@allyhub-next/formats";import{FUNCTIONS as h}from"../calc/functions/index.js";import{AreaChart as d,BarChart as p,DataLabelList as m,DoughnutChart as c,GraphicalProperties as w,Legend as f,LineChart as u,LineProperties as y,Marker as g,NumericAxis as b,PieChart as k,Reference as _,ScatterChart as x,Scaling as C,Series as A,TextAxis as S}from"./charts.js";import{AutoFilter as v,ConditionalFormattingList as D,DataValidation as P,DataValidationList as F,DifferentialStyle as L,Rule as T}from"./rules.js";import{Alignment as R,Border as I,Color as N,Font as E,PatternFill as V,Side as B}from"./styles.js";import{Cell as W,ColumnDimension as j,DefinedName as G,DefinedNameDict as H,RowDimension as M,Table as O,TableList as U,Workbook as z,Worksheet as q}from"./workbook.js";import{Comment as X,HeaderFooter as J,HeaderFooterPart as K,Image as Q,PageMargins as Y,PageSetup as Z,SheetProtection as $}from"./page.js";const a={Series:{title:"A series' name in words, openpyxl's SeriesFactory argument, kept here as a field."},Workbook:{open:"Workbook.open(dir): a workbook's folder read (load_workbook(dir) is the same).",block_cells:"How many typed cells together go in a CSV file of their own: 100 unless set.",title:"The workbook's title, sheet.yaml's.",check:"wb.check(): what allyhub check would say of the workbook as it stands: a list of { file, line, message }."},Cell:{computed:"What the cell computes to, the workbook as it stands, saved or not."},Table:{key:"The column that lines rows up when two hands' changes merge."},DataValidation:{multiple:"A list's cell may hold several of its values, joined by separator: an .xlsx keeps them as text.",separator:"What joins a cell's choices: a comma and a space unless set."},PageSetup:{fitToWidth:"Pages wide; setting it or fitToHeight fits the sheet, with no pageSetUpPr to set."},ColumnDimension:{files:"Its cells name files, from the sheet's folder: true, or { separator, height }."}},ee=["add_data","set_categories","append","title","legend","width","height","style","anchor","series","dataLabels","x_axis","y_axis"],te={BarChart:["type","grouping","overlap","gapWidth","varyColors"],LineChart:["grouping"],AreaChart:["grouping"],PieChart:["varyColors"],DoughnutChart:["holeSize"],ScatterChart:[]},oe={Workbook:z.prototype,Worksheet:q.prototype,Cell:W.prototype,Font:E.prototype,PatternFill:V.prototype,Border:I.prototype,Side:B.prototype,Alignment:R.prototype,Color:N.prototype,Table:O.prototype,TableList:U.prototype,DefinedName:G.prototype,DefinedNameDict:H.prototype,ColumnDimension:j.prototype,RowDimension:M.prototype,ConditionalFormattingList:D.prototype,Rule:T.prototype,DifferentialStyle:L.prototype,DataValidation:P.prototype,DataValidationList:F.prototype,AutoFilter:v.prototype,BarChart:p.prototype,LineChart:u.prototype,AreaChart:d.prototype,PieChart:k.prototype,DoughnutChart:c.prototype,ScatterChart:x.prototype,Reference:_.prototype,Series:A.prototype,Legend:f.prototype,Scaling:C.prototype,TextAxis:S.prototype,NumericAxis:b.prototype,DataLabelList:m.prototype,Marker:g.prototype,GraphicalProperties:w.prototype,LineProperties:y.prototype,PageSetup:Z.prototype,PageMargins:Y.prototype,_HeaderFooterItem:J.prototype,_HeaderFooterPart:K.prototype,SheetProtection:$.prototype,Comment:X.prototype,Image:Q.prototype},r=["title","scaling","majorUnit","number_format","delete","majorGridlines"],ae={_HeaderFooterItem:["left","center","right"],Comment:["text","author"],Image:["path","width","height","anchor"],Workbook:["worksheets","defined_names","data_only","path","title","block_cells"],Cell:["row","column"],Worksheet:["min_row","min_column"],Font:["name","size","bold","italic","underline","strike","color"],PatternFill:["fill_type","fgColor","bgColor"],Border:["left","right","top","bottom"],Side:["style","color"],Alignment:["horizontal","vertical","wrap_text","shrink_to_fit","indent","text_rotation"],Color:["rgb"],Table:["displayName","ref","key","autoFilter"],DefinedName:["name","attr_text"],ColumnDimension:["index"],RowDimension:["index"],Rule:["type","operator","formula","stopIfTrue","rank","percent","bottom","aboveAverage","equalAverage","text","dxf"],DifferentialStyle:["font","fill","border"],DataValidation:["type","formula1","formula2","operator","allow_blank","showDropDown","showErrorMessage","showInputMessage","errorStyle","errorTitle","error","promptTitle","prompt","sqref"],DataValidationList:["dataValidation"],AutoFilter:["ref"],...Object.fromEntries(Object.entries(te).map(([e,t])=>[e,[...ee.filter(o=>!(/^(?:Pie|Doughnut)/u.test(e)&&o.endsWith("_axis"))),...t]])),Reference:["worksheet","min_col","min_row","max_col","max_row"],Series:["val","xVal","title","smooth","marker","graphicalProperties"],Legend:["position"],Scaling:["min","max","orientation"],TextAxis:r.filter(e=>e!=="majorUnit"),NumericAxis:r,DataLabelList:["showVal","showPercent","showCatName","showSerName","dLblPos"],Marker:["symbol","size"],GraphicalProperties:["solidFill","noFill","line"],LineProperties:["width","solidFill","noFill"]};export const HELPERS=["CellIsRule","ColorScaleRule","DataBarRule","FormulaRule","IconSetRule","column_index_from_string","coordinate_to_tuple","get_column_letter","range_boundaries"];const re=()=>{const e={};for(const[t,o]of Object.entries(oe)){const i=a[t]??{};e[t]=[...n(o),...ae[t]??[]].filter(l=>!Object.hasOwn(i,l)).sort()}return e},s=e=>[...h.values()].filter(t=>t.from===e).map(t=>t.name).sort();export const CAPABILITIES={reference:{library:"openpyxl",version:"3.1.5",docs:"https://openpyxl.readthedocs.io/"},holds:re(),functions:HELPERS,differs:["A workbook is a folder, not a file: load_workbook(dir) reads sheet.yaml and its CSV files, wb.save(dir) writes them, and only what changed is written. This API does not read or write .xlsx: allyhub sheet import and allyhub render --type xlsx do.","A keyword argument of openpyxl's is a field of an object: new Font({ bold: true }), new Table({ displayName, ref }), new DefinedName(name, { attr_text }). Classes are made with new.","A name openpyxl has that is not held throws where it is used, naming what the class holds. ws['A1'], ws['A1:B2'], ws['A'], ws[1], wb['Sheet'], ws.tables['t'], wb.defined_names['n'], ws.column_dimensions['A'] and ws.row_dimensions[1] are held; in TypeScript ws['A1'] is typed as a Cell, so write ws['A1'].value = v (ws['A1'] = v works at run time), and wb.get_sheet_by_name(name) is typed where wb[name] is not.","Rows and columns count from 1, as openpyxl's. iter_rows, rows, columns and values give arrays, not generators.","A colour is #RRGGBB; RRGGBB and AARRGGBB are taken, the alpha left out. Theme colours are not held.","cell.value of a date is a Date (read in UTC), a formula's its text, and with load_workbook(dir, { data_only: true }) what it computes to, which openpyxl reads from a file's cache and this computes.","column_dimensions' width is Excel's unit and row_dimensions' height points, as openpyxl's; the file holds pixels.","ws.merged_cells is an array of each merged range's text.","A table's rows are its CSV file, so ws.add_table(new Table({ displayName, ref })) moves the cells of ref there; its header row names its columns. A column whose every row has one formula, moved, is written as a calculated column.","A run of cells with one formula, moved, is written as one range key, and at least wb.block_cells typed cells together in a CSV file of their own (a block).","ws.title = 'New' renames the sheet in every formula, which openpyxl leaves to you.","ws.insert_rows, delete_rows, insert_cols and delete_cols rewrite every formula of the workbook as Excel does (a reference moves, a range grows or shrinks, one to what went is #REF!), move tables, blocks, merges and looks, and take rows and columns in or out of a table's CSV file. openpyxl moves cells and leaves formulas as they were. A table's header row is not deleted unless all of the table is.","A string that reads as another value (=, 12%, 2026-01-01) stays text, as openpyxl's does: its cell is written with a leading ' unless it starts with =, which makes it a formula.","A DataValidation refuses what breaks it and shows its prompt unless showErrorMessage or showInputMessage is false, as Excel's dialog starts: openpyxl's leave both off. A list's cell keeps its blank unless allow_blank is false.","ws.auto_filter.ref and add_filter_column say what a filter keeps, and the rows it leaves out are worked out from that, never written: a file made by openpyxl hides nothing until Excel reapplies it. A table has its own, table.autoFilter. add_sort_condition is not held: sorting is the rows of the files in order.","A chart reads its cells live, whatever else is in the file: there is no cache to refresh. chart.add_data and set_categories, and Series, take a Reference or a formula's text for a table's column or a spill, as add_data('orders[total]', { title: 'Total' }) or set_categories('orders[month]'), since a Reference cannot name one.","Series is made with new Series(values, { xvalues, title, title_from_data }); openpyxl's is the SeriesFactory function.","A chart's width and height are centimetres, as openpyxl's; the file holds pixels, and anchor a cell: ws.add_chart(chart, 'E2').","A LineChart's grouping is standard; a stacked area is an AreaChart. Chart styles are kept but draw nothing, as sheet.yaml has no place for them: chart.style is only read.","ws._charts lists a sheet's charts, those read from sheet.yaml among them, as the classes above.","In a rule, a fill's bgColor paints, or its fgColor where it has none. A rule's font holds bold, italic, underline, strike and a colour; alignment and number formats in a rule are not held.","workbook((wb, { data }) => { … }), the default export of an item's sheet.ts, makes sheets with these classes, on a workbook of its own that starts with none. They are made again from the code wherever the workbook is read, never saved: wb.save throws there."],adds:a,formulas:{own:s("allyhub"),formulajs:s("formulajs")}};
|
|
@@ -4,4 +4,5 @@ export { AutoFilter, CellIsRule, ColorScaleRule, ConditionalFormattingList, Data
|
|
|
4
4
|
export { AreaChart, BarChart, ChartBase, DataLabelList, DoughnutChart, GraphicalProperties, Legend, LineChart, LineProperties, Marker, NumericAxis, PieChart, Reference, ScatterChart, Scaling, Series, TextAxis, type BarChartOptions, type ChartData, type ReferenceOptions, type SeriesOptions, } from "./charts.js";
|
|
5
5
|
export { CAPABILITIES, HELPERS, type Capabilities } from "./capabilities.js";
|
|
6
6
|
export { WORKBOOK_BRAND, isSheetCode, workbook, type SheetCode, type SheetCodeBuild, type SheetCodeContext, } from "./code.js";
|
|
7
|
+
export { Comment, HeaderFooter, Image, PageMargins, PageSetup, SheetProtection, } from "./page.js";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
export{Alignment,Border,Color,Font,PatternFill,Side}from"./styles.js";export{BLOCK_CELLS,Cell,ColumnDimension,DefinedName,DefinedNameDict,RowDimension,Table,TableList,Workbook,Worksheet,column_index_from_string,coordinate_to_tuple,get_column_letter,load_workbook,range_boundaries}from"./workbook.js";export{AutoFilter,CellIsRule,ColorScaleRule,ConditionalFormattingList,DataBarRule,DataValidation,DataValidationList,DifferentialStyle,FormulaRule,IconSetRule,Rule}from"./rules.js";export{AreaChart,BarChart,ChartBase,DataLabelList,DoughnutChart,GraphicalProperties,Legend,LineChart,LineProperties,Marker,NumericAxis,PieChart,Reference,ScatterChart,Scaling,Series,TextAxis}from"./charts.js";export{CAPABILITIES,HELPERS}from"./capabilities.js";export{WORKBOOK_BRAND,isSheetCode,workbook}from"./code.js";
|
|
2
|
+
export{Alignment,Border,Color,Font,PatternFill,Side}from"./styles.js";export{BLOCK_CELLS,Cell,ColumnDimension,DefinedName,DefinedNameDict,RowDimension,Table,TableList,Workbook,Worksheet,column_index_from_string,coordinate_to_tuple,get_column_letter,load_workbook,range_boundaries}from"./workbook.js";export{AutoFilter,CellIsRule,ColorScaleRule,ConditionalFormattingList,DataBarRule,DataValidation,DataValidationList,DifferentialStyle,FormulaRule,IconSetRule,Rule}from"./rules.js";export{AreaChart,BarChart,ChartBase,DataLabelList,DoughnutChart,GraphicalProperties,Legend,LineChart,LineProperties,Marker,NumericAxis,PieChart,Reference,ScatterChart,Scaling,Series,TextAxis}from"./charts.js";export{CAPABILITIES,HELPERS}from"./capabilities.js";export{WORKBOOK_BRAND,isSheetCode,workbook}from"./code.js";export{Comment,HeaderFooter,Image,PageMargins,PageSetup,SheetProtection}from"./page.js";
|