taffy-layout 1.0.3 → 1.1.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.
@@ -548,6 +548,177 @@ export type GridTemplateArea = {
548
548
  columnEnd: number;
549
549
  };
550
550
 
551
+ /**
552
+ * Valid property paths for Style.get() method.
553
+ *
554
+ * Supports both object properties and individual flat properties.
555
+ *
556
+ * @example
557
+ * ```typescript
558
+ * const style = new Style();
559
+ * // Top-level properties
560
+ * style.get("display", "flexGrow");
561
+ *
562
+ * // Individual flat properties
563
+ * style.get("width", "marginLeft", "paddingTop");
564
+ *
565
+ * // Object properties
566
+ * style.get("size", "margin");
567
+ * ```
568
+ */
569
+ export type StyleProperty =
570
+ // Layout Mode
571
+ | "display" | "position" | "boxSizing"
572
+ // Overflow
573
+ | "overflow" | "overflowX" | "overflowY"
574
+ // Flexbox
575
+ | "flexDirection" | "flexWrap" | "flexGrow" | "flexShrink" | "flexBasis"
576
+ // Alignment
577
+ | "alignItems" | "alignSelf" | "alignContent"
578
+ | "justifyContent" | "justifyItems" | "justifySelf"
579
+ // Sizing
580
+ | "aspectRatio"
581
+ | "size" | "width" | "height"
582
+ | "minSize" | "minWidth" | "minHeight"
583
+ | "maxSize" | "maxWidth" | "maxHeight"
584
+ // Spacing
585
+ | "margin" | "marginLeft" | "marginRight" | "marginTop" | "marginBottom"
586
+ | "padding" | "paddingLeft" | "paddingRight" | "paddingTop" | "paddingBottom"
587
+ | "border" | "borderLeft" | "borderRight" | "borderTop" | "borderBottom"
588
+ | "inset" | "left" | "right" | "top" | "bottom"
589
+ | "gap" | "columnGap" | "rowGap"
590
+ // Block layout
591
+ | "itemIsTable" | "itemIsReplaced" | "scrollbarWidth" | "textAlign"
592
+ // Grid layout
593
+ | "gridAutoFlow"
594
+ | "gridRow" | "gridRowStart" | "gridRowEnd"
595
+ | "gridColumn" | "gridColumnStart" | "gridColumnEnd"
596
+ | "gridTemplateRows" | "gridTemplateColumns"
597
+ | "gridAutoRows" | "gridAutoColumns"
598
+ | "gridTemplateAreas" | "gridTemplateRowNames" | "gridTemplateColumnNames";
599
+
600
+ /**
601
+ * Type-safe property values for batch setting.
602
+ *
603
+ * Maps property paths to their expected value types.
604
+ */
605
+ export type StylePropertyValues = {
606
+ [K in StyleProperty]?:
607
+ K extends "display" ? Display :
608
+ K extends "position" ? Position :
609
+ K extends "boxSizing" ? BoxSizing :
610
+ K extends "overflow" ? Point<Overflow> :
611
+ K extends "overflowX" | "overflowY" ? Overflow :
612
+ K extends "flexDirection" ? FlexDirection :
613
+ K extends "flexWrap" ? FlexWrap :
614
+ K extends "flexGrow" | "flexShrink" | "scrollbarWidth" ? number :
615
+ K extends "flexBasis" ? Dimension :
616
+ K extends "alignItems" | "justifyItems" ? AlignItems | undefined :
617
+ K extends "alignSelf" | "justifySelf" ? AlignSelf | undefined :
618
+ K extends "alignContent" ? AlignContent | undefined :
619
+ K extends "justifyContent" ? JustifyContent | undefined :
620
+ K extends "aspectRatio" ? number | undefined :
621
+ K extends "size" | "minSize" | "maxSize" ? Size<Dimension> :
622
+ K extends "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" ? Dimension :
623
+ K extends "margin" | "inset" ? Rect<LengthPercentageAuto> :
624
+ K extends "marginLeft" | "marginRight" | "marginTop" | "marginBottom" | "left" | "right" | "top" | "bottom" ? LengthPercentageAuto :
625
+ K extends "padding" | "border" ? Rect<LengthPercentage> :
626
+ K extends "paddingLeft" | "paddingRight" | "paddingTop" | "paddingBottom" | "borderLeft" | "borderRight" | "borderTop" | "borderBottom" ? LengthPercentage :
627
+ K extends "gap" ? Size<LengthPercentage> :
628
+ K extends "columnGap" | "rowGap" ? LengthPercentage :
629
+ K extends "itemIsTable" | "itemIsReplaced" ? boolean :
630
+ K extends "textAlign" ? TextAlign :
631
+ K extends "gridAutoFlow" ? GridAutoFlow :
632
+ K extends "gridRow" | "gridColumn" ? Line<GridPlacement> :
633
+ K extends "gridRowStart" | "gridRowEnd" | "gridColumnStart" | "gridColumnEnd" ? GridPlacement :
634
+ K extends "gridTemplateRows" | "gridTemplateColumns" ? GridTemplateComponent[] :
635
+ K extends "gridAutoRows" | "gridAutoColumns" ? TrackSizingFunction[] :
636
+ K extends "gridTemplateAreas" ? GridTemplateArea[] :
637
+ K extends "gridTemplateRowNames" | "gridTemplateColumnNames" ? string[][] :
638
+ unknown;
639
+ };
640
+
641
+ // Module augmentation for stronger typing on Style class methods
642
+ declare module "./taffy_wasm" {
643
+ interface Style {
644
+ /**
645
+ * Reads multiple style properties in a single WASM call.
646
+ * Supports both object properties and individual flat properties.
647
+ *
648
+ * @returns Single value for one key, tuple for 2-3 keys, array for 4+ keys
649
+ *
650
+ * @remarks
651
+ * - Single property: returns exact value type (including `undefined` for optional properties)
652
+ * - 2-3 properties: returns typed tuple for destructuring
653
+ * - 4+ properties: returns array of union types
654
+ *
655
+ * @example
656
+ * ```typescript
657
+ * const style = new Style();
658
+ * style.display = Display.Flex;
659
+ *
660
+ * // Single property - returns exact type (includes undefined for optional properties)
661
+ * const display = style.get("display"); // Display | undefined
662
+ *
663
+ * // Individual flat property - returns exact type
664
+ * const width = style.get("width"); // Dimension
665
+ *
666
+ * // Optional properties return undefined when not set
667
+ * const alignItems = style.get("alignItems"); // AlignItems | undefined
668
+ *
669
+ * // Two properties - returns tuple for destructuring
670
+ * const [d, w] = style.get("display", "width"); // [Display | undefined, Dimension]
671
+ *
672
+ * // Three properties - returns tuple for destructuring
673
+ * const [d2, w2, f] = style.get("display", "width", "flexGrow");
674
+ *
675
+ * // Four or more properties - returns array
676
+ * const values = style.get("display", "width", "flexGrow", "flexShrink");
677
+ * // values type is: (Display | Dimension | number | undefined)[]
678
+ * ```
679
+ */
680
+ get<K extends StyleProperty>(...keys: [K]): StylePropertyValues[K];
681
+ get<K1 extends StyleProperty, K2 extends StyleProperty>(
682
+ ...keys: [K1, K2]
683
+ ): [StylePropertyValues[K1], StylePropertyValues[K2]];
684
+ get<K1 extends StyleProperty, K2 extends StyleProperty, K3 extends StyleProperty>(
685
+ ...keys: [K1, K2, K3]
686
+ ): [StylePropertyValues[K1], StylePropertyValues[K2], StylePropertyValues[K3]];
687
+ get<Keys extends StyleProperty[]>(...keys: Keys): StylePropertyArrayValues<Keys>;
688
+
689
+ /**
690
+ * Sets multiple style properties in a single WASM call.
691
+ * Supports both object properties and individual flat properties.
692
+ *
693
+ * @param props - Object mapping property paths to their values
694
+ *
695
+ * @remarks
696
+ * Only accepts valid property paths with their corresponding value types.
697
+ * Invalid properties will be ignored at runtime.
698
+ *
699
+ * @example
700
+ * ```typescript
701
+ * const style = new Style();
702
+ * style.set({
703
+ * display: Display.Flex,
704
+ * width: 200,
705
+ * marginLeft: 10,
706
+ * marginRight: "auto"
707
+ * });
708
+ * ```
709
+ */
710
+ set(props: StylePropertyValues): void;
711
+ }
712
+ }
713
+
714
+ /**
715
+ * Helper type to convert an array of property paths to an array of their value types.
716
+ * Unlike `TupleToStyleValues`, this returns an array type instead of a tuple.
717
+ */
718
+ type StylePropertyArrayValues<Keys extends StyleProperty[]> = {
719
+ [K in keyof Keys]: Keys[K] extends StyleProperty ? StylePropertyValues[Keys[K]] : unknown;
720
+ };
721
+
551
722
 
552
723
 
553
724
  /**
@@ -1181,18 +1352,77 @@ export enum Position {
1181
1352
  export class Style {
1182
1353
  free(): void;
1183
1354
  [Symbol.dispose](): void;
1355
+ /**
1356
+ * Reads multiple style properties in a single WASM call.
1357
+ *
1358
+ * Supports dot notation for nested properties (e.g., `"size.width"`, `"margin.left"`).
1359
+ *
1360
+ * @param keys - Property paths to read
1361
+ * @returns - Single value if one key, array of values if multiple keys
1362
+ *
1363
+ * @example
1364
+ * ```typescript
1365
+ * const style = new Style();
1366
+ * style.display = Display.Flex;
1367
+ * style.size = { width: 100, height: "50%" };
1368
+ *
1369
+ * // Read single property
1370
+ * const d = style.get("display");
1371
+ *
1372
+ * // Read nested property
1373
+ * const w = style.get("size.width");
1374
+ *
1375
+ * // Read multiple properties with destructuring
1376
+ * const [display, width, margin] = style.get("display", "size.width", "margin.left");
1377
+ * ```
1378
+ */
1379
+ get(...keys: string[]): any;
1184
1380
  /**
1185
1381
  * Creates a new Style instance with default values
1186
1382
  *
1383
+ * @param props - Optional object with initial style properties
1187
1384
  * @returns - A new `Style` object with all properties set to CSS defaults
1188
1385
  *
1189
1386
  * @example
1190
1387
  * ```typescript
1388
+ * // Create with defaults
1191
1389
  * const style = new Style();
1192
1390
  * console.log(style.display); // Display.Block
1391
+ *
1392
+ * // Create with initial properties
1393
+ * const style2 = new Style({
1394
+ * display: Display.Flex,
1395
+ * flexDirection: FlexDirection.Column,
1396
+ * "size.width": 200,
1397
+ * "margin.left": 10
1398
+ * });
1193
1399
  * ```
1194
1400
  */
1195
- constructor();
1401
+ constructor(props?: any | null);
1402
+ /**
1403
+ * Sets multiple style properties in a single WASM call.
1404
+ *
1405
+ * Accepts an object where keys are property paths (supporting dot notation)
1406
+ * and values are the new property values.
1407
+ *
1408
+ * @param props - Object with property paths as keys and values to set
1409
+ *
1410
+ * @example
1411
+ * ```typescript
1412
+ * const style = new Style();
1413
+ *
1414
+ * // Set multiple properties at once
1415
+ * style.set({
1416
+ * display: Display.Flex,
1417
+ * flexDirection: FlexDirection.Column,
1418
+ * "size.width": 200,
1419
+ * "size.height": "50%",
1420
+ * "margin.left": 10,
1421
+ * "margin.right": "auto"
1422
+ * });
1423
+ * ```
1424
+ */
1425
+ set(props: any): void;
1196
1426
  /**
1197
1427
  * Gets the align-self property
1198
1428
  *
@@ -1201,6 +1431,12 @@ export class Style {
1201
1431
  * @returns - The current [`AlignSelf`](JsAlignSelf) value (returns `Auto` if not set)
1202
1432
  */
1203
1433
  alignSelf: AlignSelf | undefined;
1434
+ /**
1435
+ * Gets the top border width
1436
+ *
1437
+ * @returns - The current top border width as a [`LengthPercentage`](JsLengthPercentage)
1438
+ */
1439
+ borderTop: any;
1204
1440
  /**
1205
1441
  * Gets the box sizing mode
1206
1442
  *
@@ -1211,6 +1447,12 @@ export class Style {
1211
1447
  * @defaultValue `BoxSizing.BorderBox`
1212
1448
  */
1213
1449
  boxSizing: BoxSizing;
1450
+ /**
1451
+ * Gets the column gap (horizontal spacing between items)
1452
+ *
1453
+ * @returns - The current column gap as a [`LengthPercentage`](JsLengthPercentage)
1454
+ */
1455
+ columnGap: any;
1214
1456
  /**
1215
1457
  * Gets the flex-basis
1216
1458
  *
@@ -1219,6 +1461,36 @@ export class Style {
1219
1461
  * @returns - A `Dimension` value (`number`, `\"{number}%\"`, or `\"auto\"`)
1220
1462
  */
1221
1463
  flexBasis: Dimension;
1464
+ /**
1465
+ * Gets the top margin
1466
+ *
1467
+ * @returns - The current top margin as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1468
+ */
1469
+ marginTop: any;
1470
+ /**
1471
+ * Gets the maximum height
1472
+ *
1473
+ * @returns - The current maximum height as a [`Dimension`](JsDimension)
1474
+ */
1475
+ maxHeight: Dimension;
1476
+ /**
1477
+ * Gets the minimum height
1478
+ *
1479
+ * @returns - The current minimum height as a [`Dimension`](JsDimension)
1480
+ */
1481
+ minHeight: Dimension;
1482
+ /**
1483
+ * Gets the horizontal overflow behavior
1484
+ *
1485
+ * @returns - The current [`Overflow`](JsOverflow) value for the x-axis
1486
+ */
1487
+ overflowX: Overflow;
1488
+ /**
1489
+ * Gets the vertical overflow behavior
1490
+ *
1491
+ * @returns - The current [`Overflow`](JsOverflow) value for the y-axis
1492
+ */
1493
+ overflowY: Overflow;
1222
1494
  /**
1223
1495
  * Gets the border width
1224
1496
  *
@@ -1227,6 +1499,18 @@ export class Style {
1227
1499
  * @returns - A `Rect<LengthPercentage>` with left, right, top, bottom border widths
1228
1500
  */
1229
1501
  border: Rect<LengthPercentage>;
1502
+ /**
1503
+ * Gets the bottom inset offset
1504
+ *
1505
+ * @returns - The current bottom offset as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1506
+ */
1507
+ bottom: any;
1508
+ /**
1509
+ * Gets the height
1510
+ *
1511
+ * @returns - The current height as a [`Dimension`](JsDimension)
1512
+ */
1513
+ height: Dimension;
1230
1514
  /**
1231
1515
  * Gets the margin
1232
1516
  *
@@ -1253,6 +1537,12 @@ export class Style {
1253
1537
  * @returns - The current [`AlignItems`](JsAlignItems) value, or `undefined` if not set
1254
1538
  */
1255
1539
  alignItems: AlignItems | undefined;
1540
+ /**
1541
+ * Gets the left border width
1542
+ *
1543
+ * @returns - The current left border width as a [`LengthPercentage`](JsLengthPercentage)
1544
+ */
1545
+ borderLeft: any;
1256
1546
  /**
1257
1547
  * Gets the flex shrink factor
1258
1548
  *
@@ -1271,6 +1561,18 @@ export class Style {
1271
1561
  * @returns - A `Line<GridPlacement>` with start and end placements
1272
1562
  */
1273
1563
  gridColumn: Line<GridPlacement>;
1564
+ /**
1565
+ * Gets the left margin
1566
+ *
1567
+ * @returns - The current left margin as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1568
+ */
1569
+ marginLeft: any;
1570
+ /**
1571
+ * Gets the top padding
1572
+ *
1573
+ * @returns - The current top padding as a [`LengthPercentage`](JsLengthPercentage)
1574
+ */
1575
+ paddingTop: any;
1274
1576
  /**
1275
1577
  * Gets the display mode
1276
1578
  *
@@ -1289,6 +1591,12 @@ export class Style {
1289
1591
  * @returns - A `Rect<LengthPercentage>` with left, right, top, bottom padding
1290
1592
  */
1291
1593
  padding: Rect<LengthPercentage>;
1594
+ /**
1595
+ * Gets the row gap (vertical spacing between items)
1596
+ *
1597
+ * @returns - The current row gap as a [`LengthPercentage`](JsLengthPercentage)
1598
+ */
1599
+ rowGap: any;
1292
1600
  /**
1293
1601
  * Gets the aspect ratio
1294
1602
  *
@@ -1297,6 +1605,18 @@ export class Style {
1297
1605
  * @returns - The aspect ratio value, or `undefined` if not set
1298
1606
  */
1299
1607
  aspectRatio: number | undefined;
1608
+ /**
1609
+ * Gets the right border width
1610
+ *
1611
+ * @returns - The current right border width as a [`LengthPercentage`](JsLengthPercentage)
1612
+ */
1613
+ borderRight: any;
1614
+ /**
1615
+ * Gets the grid-row-end property
1616
+ *
1617
+ * @returns - The current grid row end placement as a [`GridPlacement`](JsGridPlacement)
1618
+ */
1619
+ gridRowEnd: any;
1300
1620
  /**
1301
1621
  * Gets the justify-self property
1302
1622
  *
@@ -1305,6 +1625,18 @@ export class Style {
1305
1625
  * @returns - The current [`AlignSelf`](JsAlignSelf) value (returns `Auto` if not set)
1306
1626
  */
1307
1627
  justifySelf: AlignSelf | undefined;
1628
+ /**
1629
+ * Gets the right margin
1630
+ *
1631
+ * @returns - The current right margin as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1632
+ */
1633
+ marginRight: any;
1634
+ /**
1635
+ * Gets the left padding
1636
+ *
1637
+ * @returns - The current left padding as a [`LengthPercentage`](JsLengthPercentage)
1638
+ */
1639
+ paddingLeft: any;
1308
1640
  /**
1309
1641
  * Gets the grid-row property
1310
1642
  *
@@ -1352,6 +1684,12 @@ export class Style {
1352
1684
  * @returns - The current [`AlignContent`](JsAlignContent) value, or `undefined` if not set
1353
1685
  */
1354
1686
  alignContent: AlignContent | undefined;
1687
+ /**
1688
+ * Gets the bottom border width
1689
+ *
1690
+ * @returns - The current bottom border width as a [`LengthPercentage`](JsLengthPercentage)
1691
+ */
1692
+ borderBottom: any;
1355
1693
  /**
1356
1694
  * Gets whether this item is a table
1357
1695
  *
@@ -1371,6 +1709,18 @@ export class Style {
1371
1709
  * @returns - The current [`AlignItems`](JsAlignItems) value, or `undefined` if not set
1372
1710
  */
1373
1711
  justifyItems: AlignItems | undefined;
1712
+ /**
1713
+ * Gets the bottom margin
1714
+ *
1715
+ * @returns - The current bottom margin as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1716
+ */
1717
+ marginBottom: any;
1718
+ /**
1719
+ * Gets the right padding
1720
+ *
1721
+ * @returns - The current right padding as a [`LengthPercentage`](JsLengthPercentage)
1722
+ */
1723
+ paddingRight: any;
1374
1724
  /**
1375
1725
  * Gets the flex grow factor
1376
1726
  *
@@ -1390,6 +1740,18 @@ export class Style {
1390
1740
  * @defaultValue - `FlexWrap.NoWrap`
1391
1741
  */
1392
1742
  flexWrap: FlexWrap;
1743
+ /**
1744
+ * Gets the maximum width
1745
+ *
1746
+ * @returns - The current maximum width as a [`Dimension`](JsDimension)
1747
+ */
1748
+ maxWidth: Dimension;
1749
+ /**
1750
+ * Gets the minimum width
1751
+ *
1752
+ * @returns - The current minimum width as a [`Dimension`](JsDimension)
1753
+ */
1754
+ minWidth: Dimension;
1393
1755
  /**
1394
1756
  * Gets the flex direction
1395
1757
  *
@@ -1418,6 +1780,24 @@ export class Style {
1418
1780
  * @returns - An array of track sizing functions
1419
1781
  */
1420
1782
  gridAutoRows: TrackSizingFunction[];
1783
+ /**
1784
+ * Gets the grid-row-start property
1785
+ *
1786
+ * @returns - The current grid row start placement as a [`GridPlacement`](JsGridPlacement)
1787
+ */
1788
+ gridRowStart: any;
1789
+ /**
1790
+ * Gets the bottom padding
1791
+ *
1792
+ * @returns - The current bottom padding as a [`LengthPercentage`](JsLengthPercentage)
1793
+ */
1794
+ paddingBottom: any;
1795
+ /**
1796
+ * Gets the grid-column-end property
1797
+ *
1798
+ * @returns - The current grid column end placement as a [`GridPlacement`](JsGridPlacement)
1799
+ */
1800
+ gridColumnEnd: any;
1421
1801
  /**
1422
1802
  * Gets the justify-content property
1423
1803
  *
@@ -1454,6 +1834,12 @@ export class Style {
1454
1834
  * @returns - An array of track sizing functions
1455
1835
  */
1456
1836
  gridAutoColumns: TrackSizingFunction[];
1837
+ /**
1838
+ * Gets the grid-column-start property
1839
+ *
1840
+ * @returns - The current grid column start placement as a [`GridPlacement`](JsGridPlacement)
1841
+ */
1842
+ gridColumnStart: any;
1457
1843
  /**
1458
1844
  * Gets the grid-template-rows property
1459
1845
  *
@@ -1502,6 +1888,18 @@ export class Style {
1502
1888
  * @returns - A `Size<LengthPercentage>` with column (width) and row (height) gaps
1503
1889
  */
1504
1890
  gap: Size<LengthPercentage>;
1891
+ /**
1892
+ * Gets the top inset offset
1893
+ *
1894
+ * @returns - The current top offset as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1895
+ */
1896
+ top: any;
1897
+ /**
1898
+ * Gets the left inset offset
1899
+ *
1900
+ * @returns - The current left offset as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1901
+ */
1902
+ left: any;
1505
1903
  /**
1506
1904
  * Gets the size (width and height)
1507
1905
  *
@@ -1516,6 +1914,18 @@ export class Style {
1516
1914
  * @returns - A `Rect<LengthPercentageAuto>` with left, right, top, bottom offsets
1517
1915
  */
1518
1916
  inset: Rect<LengthPercentageAuto>;
1917
+ /**
1918
+ * Gets the right inset offset
1919
+ *
1920
+ * @returns - The current right offset as a [`LengthPercentageAuto`](JsLengthPercentageAuto)
1921
+ */
1922
+ right: any;
1923
+ /**
1924
+ * Gets the width
1925
+ *
1926
+ * @returns - The current width as a [`Dimension`](JsDimension)
1927
+ */
1928
+ width: Dimension;
1519
1929
  }
1520
1930
 
1521
1931
  /**
@@ -2338,7 +2748,13 @@ export interface InitOutput {
2338
2748
  readonly style_alignSelf: (a: number) => number;
2339
2749
  readonly style_aspectRatio: (a: number) => number;
2340
2750
  readonly style_border: (a: number) => any;
2751
+ readonly style_borderBottom: (a: number) => any;
2752
+ readonly style_borderLeft: (a: number) => any;
2753
+ readonly style_borderRight: (a: number) => any;
2754
+ readonly style_borderTop: (a: number) => any;
2755
+ readonly style_bottom: (a: number) => any;
2341
2756
  readonly style_boxSizing: (a: number) => number;
2757
+ readonly style_columnGap: (a: number) => any;
2342
2758
  readonly style_display: (a: number) => number;
2343
2759
  readonly style_flexBasis: (a: number) => any;
2344
2760
  readonly style_flexDirection: (a: number) => number;
@@ -2346,36 +2762,66 @@ export interface InitOutput {
2346
2762
  readonly style_flexShrink: (a: number) => number;
2347
2763
  readonly style_flexWrap: (a: number) => number;
2348
2764
  readonly style_gap: (a: number) => any;
2765
+ readonly style_get: (a: number, b: number, c: number) => any;
2349
2766
  readonly style_gridAutoColumns: (a: number) => any;
2350
2767
  readonly style_gridAutoFlow: (a: number) => number;
2351
2768
  readonly style_gridAutoRows: (a: number) => any;
2352
2769
  readonly style_gridColumn: (a: number) => any;
2770
+ readonly style_gridColumnEnd: (a: number) => any;
2771
+ readonly style_gridColumnStart: (a: number) => any;
2353
2772
  readonly style_gridRow: (a: number) => any;
2773
+ readonly style_gridRowEnd: (a: number) => any;
2774
+ readonly style_gridRowStart: (a: number) => any;
2354
2775
  readonly style_gridTemplateAreas: (a: number) => any;
2355
2776
  readonly style_gridTemplateColumnNames: (a: number) => any;
2356
2777
  readonly style_gridTemplateColumns: (a: number) => any;
2357
2778
  readonly style_gridTemplateRowNames: (a: number) => any;
2358
2779
  readonly style_gridTemplateRows: (a: number) => any;
2780
+ readonly style_height: (a: number) => any;
2359
2781
  readonly style_inset: (a: number) => any;
2360
2782
  readonly style_itemIsReplaced: (a: number) => number;
2361
2783
  readonly style_itemIsTable: (a: number) => number;
2362
2784
  readonly style_justifyContent: (a: number) => number;
2363
2785
  readonly style_justifyItems: (a: number) => number;
2364
2786
  readonly style_justifySelf: (a: number) => number;
2787
+ readonly style_left: (a: number) => any;
2365
2788
  readonly style_margin: (a: number) => any;
2789
+ readonly style_marginBottom: (a: number) => any;
2790
+ readonly style_marginLeft: (a: number) => any;
2791
+ readonly style_marginRight: (a: number) => any;
2792
+ readonly style_marginTop: (a: number) => any;
2793
+ readonly style_maxHeight: (a: number) => any;
2366
2794
  readonly style_maxSize: (a: number) => any;
2795
+ readonly style_maxWidth: (a: number) => any;
2796
+ readonly style_minHeight: (a: number) => any;
2367
2797
  readonly style_minSize: (a: number) => any;
2368
- readonly style_new: () => number;
2798
+ readonly style_minWidth: (a: number) => any;
2799
+ readonly style_new: (a: number) => number;
2369
2800
  readonly style_overflow: (a: number) => any;
2801
+ readonly style_overflowX: (a: number) => number;
2802
+ readonly style_overflowY: (a: number) => number;
2370
2803
  readonly style_padding: (a: number) => any;
2804
+ readonly style_paddingBottom: (a: number) => any;
2805
+ readonly style_paddingLeft: (a: number) => any;
2806
+ readonly style_paddingRight: (a: number) => any;
2807
+ readonly style_paddingTop: (a: number) => any;
2371
2808
  readonly style_position: (a: number) => number;
2809
+ readonly style_right: (a: number) => any;
2810
+ readonly style_rowGap: (a: number) => any;
2372
2811
  readonly style_scrollbarWidth: (a: number) => number;
2812
+ readonly style_set: (a: number, b: any) => void;
2373
2813
  readonly style_set_alignContent: (a: number, b: any) => void;
2374
2814
  readonly style_set_alignItems: (a: number, b: any) => void;
2375
2815
  readonly style_set_alignSelf: (a: number, b: any) => void;
2376
2816
  readonly style_set_aspectRatio: (a: number, b: any) => void;
2377
2817
  readonly style_set_border: (a: number, b: any) => void;
2818
+ readonly style_set_borderBottom: (a: number, b: any) => void;
2819
+ readonly style_set_borderLeft: (a: number, b: any) => void;
2820
+ readonly style_set_borderRight: (a: number, b: any) => void;
2821
+ readonly style_set_borderTop: (a: number, b: any) => void;
2822
+ readonly style_set_bottom: (a: number, b: any) => void;
2378
2823
  readonly style_set_boxSizing: (a: number, b: number) => void;
2824
+ readonly style_set_columnGap: (a: number, b: any) => void;
2379
2825
  readonly style_set_display: (a: number, b: number) => void;
2380
2826
  readonly style_set_flexBasis: (a: number, b: any) => void;
2381
2827
  readonly style_set_flexDirection: (a: number, b: number) => void;
@@ -2387,29 +2833,55 @@ export interface InitOutput {
2387
2833
  readonly style_set_gridAutoFlow: (a: number, b: number) => void;
2388
2834
  readonly style_set_gridAutoRows: (a: number, b: any) => void;
2389
2835
  readonly style_set_gridColumn: (a: number, b: any) => void;
2836
+ readonly style_set_gridColumnEnd: (a: number, b: any) => void;
2837
+ readonly style_set_gridColumnStart: (a: number, b: any) => void;
2390
2838
  readonly style_set_gridRow: (a: number, b: any) => void;
2839
+ readonly style_set_gridRowEnd: (a: number, b: any) => void;
2840
+ readonly style_set_gridRowStart: (a: number, b: any) => void;
2391
2841
  readonly style_set_gridTemplateAreas: (a: number, b: any) => void;
2392
2842
  readonly style_set_gridTemplateColumnNames: (a: number, b: any) => void;
2393
2843
  readonly style_set_gridTemplateColumns: (a: number, b: any) => void;
2394
2844
  readonly style_set_gridTemplateRowNames: (a: number, b: any) => void;
2395
2845
  readonly style_set_gridTemplateRows: (a: number, b: any) => void;
2846
+ readonly style_set_height: (a: number, b: any) => void;
2396
2847
  readonly style_set_inset: (a: number, b: any) => void;
2397
2848
  readonly style_set_itemIsReplaced: (a: number, b: number) => void;
2398
2849
  readonly style_set_itemIsTable: (a: number, b: number) => void;
2399
2850
  readonly style_set_justifyContent: (a: number, b: any) => void;
2400
2851
  readonly style_set_justifyItems: (a: number, b: any) => void;
2401
2852
  readonly style_set_justifySelf: (a: number, b: any) => void;
2853
+ readonly style_set_left: (a: number, b: any) => void;
2402
2854
  readonly style_set_margin: (a: number, b: any) => void;
2855
+ readonly style_set_marginBottom: (a: number, b: any) => void;
2856
+ readonly style_set_marginLeft: (a: number, b: any) => void;
2857
+ readonly style_set_marginRight: (a: number, b: any) => void;
2858
+ readonly style_set_marginTop: (a: number, b: any) => void;
2859
+ readonly style_set_maxHeight: (a: number, b: any) => void;
2403
2860
  readonly style_set_maxSize: (a: number, b: any) => void;
2861
+ readonly style_set_maxWidth: (a: number, b: any) => void;
2862
+ readonly style_set_minHeight: (a: number, b: any) => void;
2404
2863
  readonly style_set_minSize: (a: number, b: any) => void;
2864
+ readonly style_set_minWidth: (a: number, b: any) => void;
2405
2865
  readonly style_set_overflow: (a: number, b: any) => void;
2866
+ readonly style_set_overflowX: (a: number, b: number) => void;
2867
+ readonly style_set_overflowY: (a: number, b: number) => void;
2406
2868
  readonly style_set_padding: (a: number, b: any) => void;
2869
+ readonly style_set_paddingBottom: (a: number, b: any) => void;
2870
+ readonly style_set_paddingLeft: (a: number, b: any) => void;
2871
+ readonly style_set_paddingRight: (a: number, b: any) => void;
2872
+ readonly style_set_paddingTop: (a: number, b: any) => void;
2407
2873
  readonly style_set_position: (a: number, b: number) => void;
2874
+ readonly style_set_right: (a: number, b: any) => void;
2875
+ readonly style_set_rowGap: (a: number, b: any) => void;
2408
2876
  readonly style_set_scrollbarWidth: (a: number, b: number) => void;
2409
2877
  readonly style_set_size: (a: number, b: any) => void;
2410
2878
  readonly style_set_textAlign: (a: number, b: number) => void;
2879
+ readonly style_set_top: (a: number, b: any) => void;
2880
+ readonly style_set_width: (a: number, b: any) => void;
2411
2881
  readonly style_size: (a: number) => any;
2412
2882
  readonly style_textAlign: (a: number) => number;
2883
+ readonly style_top: (a: number) => any;
2884
+ readonly style_width: (a: number) => any;
2413
2885
  readonly taffyerror_message: (a: number) => [number, number];
2414
2886
  readonly taffytree_addChild: (a: number, b: bigint, c: bigint) => [number, number];
2415
2887
  readonly taffytree_childCount: (a: number, b: bigint) => number;