@harbortouch/skytab-analytics-report-utils 0.14.5 → 0.16.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/index.js CHANGED
@@ -656,38 +656,118 @@ var dailySalesConfig = {
656
656
  fields: FIELDS10,
657
657
  availableColumns: DAILY_SALES_AVAILABLE_COLUMNS,
658
658
  defaultVisibleColumns: DAILY_SALES_AVAILABLE_COLUMNS,
659
- hasFooter: true
659
+ hasFooter: true,
660
+ dataAccessKey: "salesByRevClass",
661
+ sectionName: "common.report-section.revenue-class",
662
+ extraFooterRowsKey: "salesByRevClassFooter"
660
663
  };
661
664
 
662
- // src/reports/dailySalesLive.ts
665
+ // src/reports/dailySalesCache.ts
663
666
  var FIELDS11 = {
664
- groupById: { type: "string" },
665
- groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
666
- itemsQuantity: { type: "number", columnKey: "quantity" },
667
- salesAmountGross: { type: "money", columnKey: "grossSales" },
668
- discountsAmount: { type: "money", columnKey: "discountAmount" },
669
- inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
670
- salesAmountNet: { type: "money", columnKey: "netSales" },
671
- salesMixPct: { type: "percent", columnKey: "salesMixByPct" },
672
- guestsCount: { type: "number", columnKey: "guests" }
667
+ name: { type: "string", columnKey: "type", size: FIRST_COLUMN_WIDTH },
668
+ amount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } }
673
669
  };
674
- var DAILY_SALES_LIVE_AVAILABLE_COLUMNS = [
675
- "itemsQuantity",
676
- "salesAmountGross",
677
- "discountsAmount",
678
- "inclusiveTaxesAmount",
679
- "salesAmountNet",
680
- "salesMixPct"
681
- ];
682
- var dailySalesLiveConfig = {
670
+ var dailySalesCacheConfig = {
683
671
  fields: FIELDS11,
684
- availableColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
685
- defaultVisibleColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
686
- hasFooter: true
672
+ availableColumns: ["name", "amount"],
673
+ defaultVisibleColumns: ["name", "amount"],
674
+ hasFooter: true,
675
+ dataAccessKey: "cashPayments",
676
+ sectionName: "common.report-section.cash"
687
677
  };
688
678
 
689
- // src/reports/dailySalesTrends.ts
679
+ // src/reports/dailySalesDiscounts.ts
690
680
  var FIELDS12 = {
681
+ discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH },
682
+ ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
683
+ itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
684
+ discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
685
+ };
686
+ var DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS = [
687
+ "discountName",
688
+ "ticketCount",
689
+ "itemCount",
690
+ "discountsAmount"
691
+ ];
692
+ var dailySalesDiscountsConfig = {
693
+ fields: FIELDS12,
694
+ availableColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
695
+ defaultVisibleColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
696
+ hasFooter: true,
697
+ dataAccessKey: "discounts",
698
+ sectionName: "common.report-section.discounts"
699
+ };
700
+
701
+ // src/reports/dailySalesPayments.ts
702
+ var FIELDS13 = {
703
+ paymentTypeName: { type: "string", size: FIRST_COLUMN_WIDTH },
704
+ paymentsCount: { type: "number", columnKey: "paymentsCount", footerCalculation: { type: "sum" } },
705
+ paymentsAmount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } },
706
+ tipsAmount: { type: "money", columnKey: "tips", footerCalculation: { type: "sum" } },
707
+ totalSales: { type: "money", columnKey: "paymentsTotal", footerCalculation: { type: "sum" } }
708
+ };
709
+ var DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS = [
710
+ "paymentTypeName",
711
+ "paymentsCount",
712
+ "paymentsAmount",
713
+ "tipsAmount",
714
+ "totalSales"
715
+ ];
716
+ var dailySalesPaymentsConfig = {
717
+ fields: FIELDS13,
718
+ availableColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
719
+ defaultVisibleColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
720
+ hasFooter: true,
721
+ dataAccessKey: "payments",
722
+ sectionName: "common.report-section.payments"
723
+ };
724
+
725
+ // src/reports/dailySalesRefundsVoids.ts
726
+ var FIELDS14 = {
727
+ description: { type: "string", columnKey: "refundVoidDescription", size: FIRST_COLUMN_WIDTH },
728
+ count: { type: "number", columnKey: "refundVoidCount", footerCalculation: { type: "sum" } },
729
+ amount: { type: "money", columnKey: "refundVoidAmount", footerCalculation: { type: "sum" } },
730
+ pctSales: { type: "percent", columnKey: "refundVoidPctSales", footerCalculation: { type: "sum" } }
731
+ };
732
+ var DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS = [
733
+ "description",
734
+ "count",
735
+ "amount",
736
+ "pctSales"
737
+ ];
738
+ var dailySalesRefundsVoidsConfig = {
739
+ fields: FIELDS14,
740
+ availableColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
741
+ defaultVisibleColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
742
+ hasFooter: true,
743
+ dataAccessKey: "refundsVoids",
744
+ sectionName: "common.report-section.refunds-voids"
745
+ };
746
+
747
+ // src/reports/dailySalesTaxes.ts
748
+ var FIELDS15 = {
749
+ taxName: { type: "string", columnKey: "taxName", size: FIRST_COLUMN_WIDTH },
750
+ taxableSales: { type: "money", columnKey: "taxableSales", footerCalculation: { type: "none" } },
751
+ taxesAmount: { type: "money", columnKey: "taxCollected", footerCalculation: { type: "sum" } },
752
+ exemptSales: { type: "money", columnKey: "exemptTaxes", footerCalculation: { type: "sum" } }
753
+ };
754
+ var DAILY_SALES_TAXES_AVAILABLE_COLUMNS = [
755
+ "taxName",
756
+ "taxableSales",
757
+ "taxesAmount",
758
+ "exemptSales"
759
+ ];
760
+ var dailySalesTaxesConfig = {
761
+ fields: FIELDS15,
762
+ availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
763
+ defaultVisibleColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
764
+ hasFooter: true,
765
+ dataAccessKey: "taxes",
766
+ sectionName: "common.report-section.taxes"
767
+ };
768
+
769
+ // src/reports/dailySalesTrends.ts
770
+ var FIELDS16 = {
691
771
  groupById: { type: "string" },
692
772
  groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
693
773
  salesAmountNet: { type: "money", columnKey: "netSales" },
@@ -720,10 +800,24 @@ var DAILY_SALES_TRENDS_AVAILABLE_COLUMNS = [
720
800
  "salesAmountNet"
721
801
  ];
722
802
  var dailySalesTrendsConfig = {
723
- fields: FIELDS12,
803
+ fields: FIELDS16,
724
804
  availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
725
805
  defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
726
- hasFooter: true
806
+ hasFooter: true,
807
+ dataAccessKey: "trendsByDayPart",
808
+ sectionName: "common.report-section.sales-by-day-part",
809
+ totalsLabel: "common.report-section.trends-footer.total-sales",
810
+ extraFooterFields: ["salesAmountNet"]
811
+ };
812
+ var dailySalesTrendsOrderTypeConfig = {
813
+ fields: FIELDS16,
814
+ availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
815
+ defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
816
+ hasFooter: true,
817
+ dataAccessKey: "trendsByOrderType",
818
+ sectionName: "common.report-section.sales-by-order-type",
819
+ totalsLabel: "common.report-section.trends-footer.total-sales",
820
+ extraFooterFields: ["salesAmountNet"]
727
821
  };
728
822
 
729
823
  // src/report.ts
@@ -741,6 +835,16 @@ var Report = {
741
835
  DAILY_SALES_LIVE: "daily-sales-live",
742
836
  DAILY_SALES_TRENDS: "daily-sales-trends"
743
837
  };
838
+ var DAILY_SALES_SECTION_CONFIGS = [
839
+ dailySalesConfig,
840
+ dailySalesPaymentsConfig,
841
+ dailySalesCacheConfig,
842
+ dailySalesTaxesConfig,
843
+ dailySalesRefundsVoidsConfig,
844
+ dailySalesDiscountsConfig,
845
+ dailySalesTrendsConfig,
846
+ dailySalesTrendsOrderTypeConfig
847
+ ];
744
848
  var REPORT_CONFIG_MAP = {
745
849
  "sales-summary": salesSummaryConfig,
746
850
  "ticket-analytics": ticketSummaryConfig,
@@ -751,9 +855,9 @@ var REPORT_CONFIG_MAP = {
751
855
  "employee-timecard": employeeTimecardConfig,
752
856
  "employee-tip": employeeTipConfig,
753
857
  "sales-by-item": salesByItemDetailConfig,
754
- "daily-sales": dailySalesConfig,
755
- "daily-sales-live": dailySalesLiveConfig,
756
- "daily-sales-trends": dailySalesTrendsConfig
858
+ "daily-sales": DAILY_SALES_SECTION_CONFIGS,
859
+ "daily-sales-live": DAILY_SALES_SECTION_CONFIGS,
860
+ "daily-sales-trends": null
757
861
  };
758
862
  var REPORT_DEFAULT_NAME_MAP = {
759
863
  "sales-summary": "Sales",
@@ -1518,86 +1622,139 @@ var calculateReportTotals = (data, fieldConfig, opts) => {
1518
1622
  return result;
1519
1623
  };
1520
1624
 
1521
- // src/reports/dailySalesPayments.ts
1522
- var FIELDS13 = {
1523
- paymentTypeName: { type: "string", size: FIRST_COLUMN_WIDTH },
1524
- paymentsCount: { type: "number", columnKey: "paymentsCount", footerCalculation: { type: "sum" } },
1525
- paymentsAmount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } },
1526
- tipsAmount: { type: "money", columnKey: "tips", footerCalculation: { type: "sum" } },
1527
- totalSales: { type: "money", columnKey: "paymentsTotal", footerCalculation: { type: "sum" } }
1528
- };
1529
- var DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS = [
1530
- "paymentsCount",
1531
- "paymentsAmount",
1532
- "tipsAmount",
1533
- "totalSales"
1534
- ];
1535
- var dailySalesPaymentsConfig = {
1536
- fields: FIELDS13,
1537
- availableColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
1538
- defaultVisibleColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
1539
- hasFooter: true
1540
- };
1541
-
1542
- // src/reports/dailySalesDiscounts.ts
1543
- var FIELDS14 = {
1544
- discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH },
1545
- ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
1546
- itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
1547
- discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
1625
+ // src/reports/dailySalesLive.ts
1626
+ var FIELDS17 = {
1627
+ groupById: { type: "string" },
1628
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
1629
+ itemsQuantity: { type: "number", columnKey: "quantity" },
1630
+ salesAmountGross: { type: "money", columnKey: "grossSales" },
1631
+ discountsAmount: { type: "money", columnKey: "discountAmount" },
1632
+ inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
1633
+ salesAmountNet: { type: "money", columnKey: "netSales" },
1634
+ salesMixPct: { type: "percent", columnKey: "salesMixByPct" },
1635
+ guestsCount: { type: "number", columnKey: "guests" }
1548
1636
  };
1549
- var DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS = [
1550
- "ticketCount",
1551
- "itemCount",
1552
- "discountsAmount"
1637
+ var DAILY_SALES_LIVE_AVAILABLE_COLUMNS = [
1638
+ "itemsQuantity",
1639
+ "salesAmountGross",
1640
+ "discountsAmount",
1641
+ "inclusiveTaxesAmount",
1642
+ "salesAmountNet",
1643
+ "salesMixPct"
1553
1644
  ];
1554
- var dailySalesDiscountsConfig = {
1555
- fields: FIELDS14,
1556
- availableColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
1557
- defaultVisibleColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
1558
- hasFooter: true
1559
- };
1560
-
1561
- // src/reports/dailySalesRefundsVoids.ts
1562
- var FIELDS15 = {
1563
- description: { type: "string", columnKey: "refundVoidDescription", size: FIRST_COLUMN_WIDTH },
1564
- count: { type: "number", columnKey: "refundVoidCount", footerCalculation: { type: "sum" } },
1565
- amount: { type: "money", columnKey: "refundVoidAmount", footerCalculation: { type: "sum" } },
1566
- pctSales: { type: "percent", columnKey: "refundVoidPctSales", footerCalculation: { type: "sum" } }
1567
- };
1568
- var DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS = ["count", "amount", "pctSales"];
1569
- var dailySalesRefundsVoidsConfig = {
1570
- fields: FIELDS15,
1571
- availableColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
1572
- defaultVisibleColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
1645
+ var dailySalesLiveConfig = {
1646
+ fields: FIELDS17,
1647
+ availableColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
1648
+ defaultVisibleColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
1573
1649
  hasFooter: true
1574
1650
  };
1575
1651
 
1576
- // src/reports/dailySalesTaxes.ts
1577
- var FIELDS16 = {
1578
- taxName: { type: "string", columnKey: "taxName", size: FIRST_COLUMN_WIDTH },
1579
- taxableSales: { type: "money", columnKey: "taxableSales", footerCalculation: { type: "none" } },
1580
- taxesAmount: { type: "money", columnKey: "taxCollected", footerCalculation: { type: "sum" } },
1581
- exemptSales: { type: "money", columnKey: "exemptTaxes", footerCalculation: { type: "sum" } }
1582
- };
1583
- var DAILY_SALES_TAXES_AVAILABLE_COLUMNS = ["taxableSales", "taxesAmount", "exemptSales"];
1584
- var dailySalesTaxesConfig = {
1585
- fields: FIELDS16,
1586
- availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1587
- defaultVisibleColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1588
- hasFooter: true
1652
+ // src/reports/reportSection.ts
1653
+ var DAILY_SALES_CASH_ROW_LABELS = {
1654
+ cashPayments: "common.report-section.cash-row.cash-payments",
1655
+ paidInOuts: "common.report-section.cash-row.paid-in-outs",
1656
+ gratuitiesPaidOut: "common.report-section.cash-row.gratuities-paid-out",
1657
+ ccTipsPaidOut: "common.report-section.cash-row.cc-tips-paid-out"
1589
1658
  };
1590
-
1591
- // src/reports/dailySalesCache.ts
1592
- var FIELDS17 = {
1593
- name: { type: "string", columnKey: "type", size: FIRST_COLUMN_WIDTH },
1594
- amount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } }
1659
+ var DAILY_SALES_REV_CLASS_FOOTER_LABELS = {
1660
+ taxTotal: "common.report-section.rev-class-footer.tax-total",
1661
+ gratuities: "common.report-section.rev-class-footer.gratuities",
1662
+ balancePayments: "common.report-section.rev-class-footer.balance-payments",
1663
+ giftCardSales: "common.report-section.rev-class-footer.gift-card-sales",
1664
+ nonSalesRevenue: "common.report-section.rev-class-footer.non-sales-revenue",
1665
+ totalAccountable: "common.report-section.rev-class-footer.total-accountable"
1595
1666
  };
1596
- var dailySalesCacheConfig = {
1597
- fields: FIELDS17,
1598
- availableColumns: ["name", "amount"],
1599
- defaultVisibleColumns: ["name", "amount"],
1600
- hasFooter: true
1667
+ var DAILY_SALES_SECTIONS = [
1668
+ {
1669
+ sectionLabel: "common.report-section.revenue-class",
1670
+ config: dailySalesConfig,
1671
+ columns: [
1672
+ { fieldKey: "groupByName", columnKey: "revenueClass" },
1673
+ { fieldKey: "itemsQuantity", columnKey: "quantity" },
1674
+ { fieldKey: "salesAmountGross", columnKey: "grossSales" },
1675
+ { fieldKey: "discountsAmount", columnKey: "discountAmount" },
1676
+ { fieldKey: "inclusiveTaxesAmount", columnKey: "inclusiveTax" },
1677
+ { fieldKey: "salesAmountNet", columnKey: "netSales" },
1678
+ { fieldKey: "salesMixPct", columnKey: "salesMixByPct" }
1679
+ ]
1680
+ },
1681
+ {
1682
+ sectionLabel: "common.report-section.payments",
1683
+ config: dailySalesPaymentsConfig,
1684
+ columns: [
1685
+ { fieldKey: "paymentTypeName", columnKey: "paymentType" },
1686
+ { fieldKey: "paymentsCount", columnKey: "paymentsCount" },
1687
+ { fieldKey: "paymentsAmount", columnKey: "paymentsAmount" },
1688
+ { fieldKey: "tipsAmount", columnKey: "tips" },
1689
+ { fieldKey: "totalSales", columnKey: "paymentsTotal" }
1690
+ ]
1691
+ },
1692
+ {
1693
+ sectionLabel: "common.report-section.cash",
1694
+ config: dailySalesCacheConfig,
1695
+ columns: [
1696
+ { fieldKey: "name", columnKey: "type", isRowLabelKey: true },
1697
+ { fieldKey: "amount", columnKey: "paymentsAmount" }
1698
+ ]
1699
+ },
1700
+ {
1701
+ sectionLabel: "common.report-section.taxes",
1702
+ config: dailySalesTaxesConfig,
1703
+ columns: [
1704
+ { fieldKey: "taxName", columnKey: "taxName" },
1705
+ { fieldKey: "taxableSales", columnKey: "taxableSales" },
1706
+ { fieldKey: "taxesAmount", columnKey: "taxCollected" },
1707
+ { fieldKey: "exemptSales", columnKey: "exemptTaxes" }
1708
+ ]
1709
+ },
1710
+ {
1711
+ sectionLabel: "common.report-section.refunds-voids",
1712
+ config: dailySalesRefundsVoidsConfig,
1713
+ columns: [
1714
+ { fieldKey: "description", columnKey: "refundVoidDescription" },
1715
+ { fieldKey: "count", columnKey: "refundVoidCount" },
1716
+ { fieldKey: "amount", columnKey: "refundVoidAmount" },
1717
+ { fieldKey: "pctSales", columnKey: "refundVoidPctSales" }
1718
+ ]
1719
+ },
1720
+ {
1721
+ sectionLabel: "common.report-section.discounts",
1722
+ config: dailySalesDiscountsConfig,
1723
+ columns: [
1724
+ { fieldKey: "discountName", columnKey: "discountName" },
1725
+ { fieldKey: "ticketCount", columnKey: "ticketCount" },
1726
+ { fieldKey: "itemCount", columnKey: "itemCount" },
1727
+ { fieldKey: "discountsAmount", columnKey: "discountAmount" }
1728
+ ]
1729
+ },
1730
+ {
1731
+ sectionLabel: "common.report-section.sales-by-day-part",
1732
+ config: dailySalesTrendsConfig,
1733
+ columns: [
1734
+ { fieldKey: "groupByName", columnKey: "daypart" },
1735
+ { fieldKey: "ticketsCount", columnKey: "tickets" },
1736
+ { fieldKey: "guestsCount", columnKey: "guests" },
1737
+ { fieldKey: "ticketAvg", columnKey: "ticketAverage" },
1738
+ { fieldKey: "guestAvg", columnKey: "guestAverage" },
1739
+ { fieldKey: "salesAmountNet", columnKey: "netSales" }
1740
+ ]
1741
+ },
1742
+ {
1743
+ sectionLabel: "common.report-section.sales-by-order-type",
1744
+ config: dailySalesTrendsOrderTypeConfig,
1745
+ columns: [
1746
+ { fieldKey: "groupByName", columnKey: "orderType" },
1747
+ { fieldKey: "ticketsCount", columnKey: "tickets" },
1748
+ { fieldKey: "guestsCount", columnKey: "guests" },
1749
+ { fieldKey: "ticketAvg", columnKey: "ticketAverage" },
1750
+ { fieldKey: "guestAvg", columnKey: "guestAverage" },
1751
+ { fieldKey: "salesAmountNet", columnKey: "netSales" }
1752
+ ]
1753
+ }
1754
+ ];
1755
+ var REPORT_SECTION_CONFIGS = {
1756
+ [Report.DAILY_SALES]: DAILY_SALES_SECTIONS,
1757
+ [Report.DAILY_SALES_LIVE]: DAILY_SALES_SECTIONS
1601
1758
  };
1602
1759
 
1603
1760
  // src/formatting.ts
@@ -1740,6 +1897,9 @@ var formatFieldValue = (value, type, localeOptions, fullRecord, fieldConfig = DE
1740
1897
  };
1741
1898
  export {
1742
1899
  COLUMN_REGISTRY,
1900
+ DAILY_SALES_CASH_ROW_LABELS,
1901
+ DAILY_SALES_REV_CLASS_FOOTER_LABELS,
1902
+ REPORT_SECTION_CONFIGS,
1743
1903
  Report,
1744
1904
  calculateFieldTotal,
1745
1905
  calculateReportTotals,
@@ -1751,6 +1911,7 @@ export {
1751
1911
  dailySalesRefundsVoidsConfig,
1752
1912
  dailySalesTaxesConfig,
1753
1913
  dailySalesTrendsConfig,
1914
+ dailySalesTrendsOrderTypeConfig,
1754
1915
  employeeTimecardConfig,
1755
1916
  employeeTipConfig,
1756
1917
  formatDate,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harbortouch/skytab-analytics-report-utils",
3
- "version": "0.14.5",
3
+ "version": "0.16.0",
4
4
  "description": "Centralized report column presentation configuration for SkyTab Analytics",
5
5
  "engines": {
6
6
  "node": ">=22.6.0",
@@ -14,6 +14,11 @@
14
14
  "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.js",
16
16
  "require": "./dist/index.cjs"
17
+ },
18
+ "./csv": {
19
+ "types": "./dist/csv/index.d.ts",
20
+ "import": "./dist/csv/index.js",
21
+ "require": "./dist/csv/index.cjs"
17
22
  }
18
23
  },
19
24
  "files": [
@@ -45,5 +50,8 @@
45
50
  "typescript-eslint": "^8.53.1",
46
51
  "vitest": "^4.1.5"
47
52
  },
48
- "packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a"
53
+ "packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a",
54
+ "dependencies": {
55
+ "csv-stringify": "^6.8.1"
56
+ }
49
57
  }