@layerfi/components 0.1.116 → 0.1.117-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -202,7 +202,7 @@ class ErrorHandlerClass {
202
202
  }
203
203
  const errorHandler = new ErrorHandlerClass();
204
204
  const reportError = (payload) => errorHandler.onError(payload);
205
- const version = "0.1.116";
205
+ const version = "0.1.117-alpha.1";
206
206
  const pkg = {
207
207
  version
208
208
  };
@@ -7086,7 +7086,7 @@ const Separator = ({ mbs, mbe }) => {
7086
7086
  const dataProperties = toDataProperties({ mbs, mbe });
7087
7087
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ className: "Layer__separator" }, dataProperties));
7088
7088
  };
7089
- const ModalTitleWithClose = react.forwardRef(function ModalTitleWithClose2({ heading, description, onClose }, ref) {
7089
+ const ModalTitleWithClose = react.forwardRef(function ModalTitleWithClose2({ heading, description, onClose, hideCloseButton = false }, ref) {
7090
7090
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { children: [
7091
7091
  /* @__PURE__ */ jsxRuntime.jsxs(
7092
7092
  "div",
@@ -7098,7 +7098,7 @@ const ModalTitleWithClose = react.forwardRef(function ModalTitleWithClose2({ hea
7098
7098
  heading,
7099
7099
  description
7100
7100
  ] }),
7101
- /* @__PURE__ */ jsxRuntime.jsx(
7101
+ !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
7102
7102
  Button,
7103
7103
  {
7104
7104
  icon: true,
@@ -7388,7 +7388,8 @@ const BaseConfirmationModalContent = react.memo(function BaseConfirmationModalCo
7388
7388
  ModalTitleWithClose,
7389
7389
  {
7390
7390
  heading: /* @__PURE__ */ jsxRuntime.jsx(ModalHeading, { size: "sm", children: title }),
7391
- onClose: close2
7391
+ onClose: close2,
7392
+ hideCloseButton: useDrawer
7392
7393
  }
7393
7394
  ),
7394
7395
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "md", children: [
@@ -8271,7 +8272,7 @@ const BankTransactionCategoryComboBox = ({
8271
8272
  );
8272
8273
  const numMatchOptions = (matchGroup == null ? void 0 : matchGroup.options.length) || 0;
8273
8274
  const loadingSuggestions = bankTransaction && isLoadingSuggestions(bankTransaction) && selectedValue === null;
8274
- const placeholder = numMatchOptions > 1 ? `${numMatchOptions} possible matches...` : loadingSuggestions ? "Generating suggestions..." : "Categorize or match...";
8275
+ const placeholder = numMatchOptions > 1 ? `${numMatchOptions} possible matches...` : loadingSuggestions ? "Generating suggestions..." : includeSuggestedMatches ? "Categorize or match..." : "Select category";
8275
8276
  const SelectedValue = react.useMemo(() => {
8276
8277
  return /* @__PURE__ */ jsxRuntime.jsx(BankTransactionsUncategorizedSelectedValue, { selectedValue });
8277
8278
  }, [selectedValue]);
@@ -8918,7 +8919,7 @@ const BankTransactionsBulkActions = ({
8918
8919
  const [recategorizeModalOpen, setRecategorizeModalOpen] = react.useState(false);
8919
8920
  const [uncategorizeModalOpen, setUncategorizeModalOpen] = react.useState(false);
8920
8921
  const confirmButtonLabel = ((_a = slotProps == null ? void 0 : slotProps.ConfirmAllModal) == null ? void 0 : _a.label) || "Confirm all";
8921
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(HStack, { align: "center", gap: "xs", children: display === DisplayState.review ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8922
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(HStack, { align: "center", gap: "xs", justify: isMobileView ? "end" : void 0, children: display === DisplayState.review ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8922
8923
  /* @__PURE__ */ jsxRuntime.jsx(
8923
8924
  Button,
8924
8925
  {
@@ -8951,7 +8952,7 @@ const BankTransactionsBulkActions = ({
8951
8952
  {
8952
8953
  variant: "outlined",
8953
8954
  onClick: () => setRecategorizeModalOpen(true),
8954
- children: "Recategorize"
8955
+ children: isMobileView ? "Categorize" : "Recategorize"
8955
8956
  }
8956
8957
  ),
8957
8958
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -8959,7 +8960,7 @@ const BankTransactionsBulkActions = ({
8959
8960
  {
8960
8961
  isOpen: recategorizeModalOpen,
8961
8962
  onOpenChange: setRecategorizeModalOpen,
8962
- mode: CategorizationMode.Recategorize,
8963
+ mode: isMobileView ? CategorizationMode.Categorize : CategorizationMode.Recategorize,
8963
8964
  isMobileView
8964
8965
  }
8965
8966
  ),
@@ -11326,12 +11327,12 @@ const CLASS_NAME$6 = "Layer__BankTransactionsActions";
11326
11327
  function BankTransactionsActions({ children }) {
11327
11328
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: CLASS_NAME$6, children });
11328
11329
  }
11329
- const BulkActionsModule = ({ slots }) => {
11330
+ const BulkActionsModule = ({ showSelectedLabel = true, fullWidth = false, slots }) => {
11330
11331
  const { count } = useCountSelectedIds();
11331
11332
  const { clearSelection } = useBulkSelectionActions();
11332
- return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "toggle", justify: "space-between", align: "center", gap: "xs", children: [
11333
+ return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "toggle", justify: "space-between", align: "center", gap: "xs", fluid: fullWidth, children: [
11333
11334
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { justify: "space-between", align: "center", pis: "sm", pie: "3xs", gap: "3xs", className: "Layer__BulkActionsModule__SelectedItemsContainer", children: [
11334
- /* @__PURE__ */ jsxRuntime.jsx(Span, { noWrap: true, children: `${count} selected` }),
11335
+ /* @__PURE__ */ jsxRuntime.jsx(Span, { noWrap: true, children: showSelectedLabel ? `${count} selected` : count }),
11335
11336
  /* @__PURE__ */ jsxRuntime.jsx(
11336
11337
  Button,
11337
11338
  {
@@ -11616,7 +11617,7 @@ const MonthPicker = ({
11616
11617
  }) => {
11617
11618
  const triggerRef = react.useRef(null);
11618
11619
  const [isPopoverOpen, setPopoverOpen] = react.useState(false);
11619
- const { value, isMobile } = useSizeClass();
11620
+ const { value } = useSizeClass();
11620
11621
  const onChangeMonth = react.useCallback((val) => {
11621
11622
  onChange(val);
11622
11623
  setPopoverOpen(false);
@@ -11630,7 +11631,7 @@ const MonthPicker = ({
11630
11631
  {
11631
11632
  ref: triggerRef,
11632
11633
  slot: "input",
11633
- className: classNames("Layer__MonthPicker__InputGroup", { "Layer__MonthPicker__InputGroup--mobile": isMobile }),
11634
+ className: classNames("Layer__MonthPicker__InputGroup", { "Layer__MonthPicker__InputGroup--truncated": truncateMonth }),
11634
11635
  onClick: () => setPopoverOpen(true),
11635
11636
  children: [
11636
11637
  /* @__PURE__ */ jsxRuntime.jsx(Input$1, __spreadProps(__spreadValues({ inset: true }, additionalAriaProps), { value: inputValue, readOnly: true })),
@@ -11662,13 +11663,18 @@ const NewToggleOption = ({
11662
11663
  const NewToggle = ({
11663
11664
  options: options2,
11664
11665
  selectedKey,
11665
- onSelectionChange
11666
+ onSelectionChange,
11667
+ fullWidth = false
11666
11668
  }) => {
11667
11669
  const selectedKeys = selectedKey !== void 0 ? /* @__PURE__ */ new Set([selectedKey]) : /* @__PURE__ */ new Set();
11670
+ const dataProperties = toDataProperties({
11671
+ "full-width": fullWidth
11672
+ });
11668
11673
  return /* @__PURE__ */ jsxRuntime.jsx(
11669
11674
  reactAriaComponents.ToggleButtonGroup,
11670
- {
11671
- className: "Layer__NewToggle",
11675
+ __spreadProps(__spreadValues({
11676
+ className: "Layer__NewToggle"
11677
+ }, dataProperties), {
11672
11678
  selectionMode: "single",
11673
11679
  selectedKeys,
11674
11680
  onSelectionChange: (keys2) => {
@@ -11678,7 +11684,7 @@ const NewToggle = ({
11678
11684
  }
11679
11685
  },
11680
11686
  children: options2.map((option) => /* @__PURE__ */ jsxRuntime.jsx(NewToggleOption, __spreadValues({}, option), option.value))
11681
- }
11687
+ })
11682
11688
  );
11683
11689
  };
11684
11690
  const SmallLoader = ({ size = 28 }) => {
@@ -11872,8 +11878,9 @@ const BankTransactionsHeader = ({
11872
11878
  }, [setFilters]);
11873
11879
  const { count } = useCountSelectedIds();
11874
11880
  const showBulkActions = count > 0;
11881
+ const isMobileList = listView && mobileComponent === "mobileList";
11875
11882
  const headerTopRow = react.useMemo(() => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "Layer__bank-transactions__header__content", children: [
11876
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "Layer__bank-transactions__header__content-title", children: [
11883
+ /* @__PURE__ */ jsxRuntime.jsxs(HStack, { align: "center", children: [
11877
11884
  /* @__PURE__ */ jsxRuntime.jsx(
11878
11885
  Heading,
11879
11886
  {
@@ -11929,7 +11936,6 @@ const BankTransactionsHeader = ({
11929
11936
  }
11930
11937
  return actions;
11931
11938
  }, [withUploadMenu, showCategorizationRules]);
11932
- const isMobileList = listView && mobileComponent === "mobileList";
11933
11939
  const BulkActionsModuleSlot = react.useCallback(() => {
11934
11940
  return /* @__PURE__ */ jsxRuntime.jsx(
11935
11941
  BankTransactionsBulkActions,
@@ -11943,53 +11949,103 @@ const BankTransactionsHeader = ({
11943
11949
  }
11944
11950
  );
11945
11951
  }, [isMobileList]);
11946
- return /* @__PURE__ */ jsxRuntime.jsxs(
11947
- Header$1,
11952
+ const statusToggle = !categorizedOnly && categorizeView && showStatusToggle ? /* @__PURE__ */ jsxRuntime.jsx(
11953
+ NewToggle,
11948
11954
  {
11949
- className: classNames(
11950
- "Layer__bank-transactions__header",
11951
- withDatePicker && "Layer__bank-transactions__header--with-date-picker",
11952
- mobileComponent && listView ? "Layer__bank-transactions__header--mobile" : void 0
11953
- ),
11954
- style: { top: shiftStickyHeader },
11955
- children: [
11956
- !collapseHeader && headerTopRow,
11957
- /* @__PURE__ */ jsxRuntime.jsxs(BankTransactionsActions, { children: [
11958
- showBulkActions ? /* @__PURE__ */ jsxRuntime.jsx(
11955
+ options: [
11956
+ { label: "To Review", value: DisplayState.review },
11957
+ { label: "Categorized", value: DisplayState.categorized }
11958
+ ],
11959
+ selectedKey: display,
11960
+ onSelectionChange: onCategorizationDisplayChange,
11961
+ fullWidth: isMobileList
11962
+ }
11963
+ ) : null;
11964
+ if (isMobileList) {
11965
+ return /* @__PURE__ */ jsxRuntime.jsx(
11966
+ Header$1,
11967
+ {
11968
+ className: classNames(
11969
+ "Layer__bank-transactions__header",
11970
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker",
11971
+ "Layer__bank-transactions__header--mobile"
11972
+ ),
11973
+ style: { top: shiftStickyHeader },
11974
+ children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
11975
+ headerTopRow,
11976
+ /* @__PURE__ */ jsxRuntime.jsx(TransactionsSearch, { isDisabled: showBulkActions }),
11977
+ /* @__PURE__ */ jsxRuntime.jsx(HStack, { justify: "space-between", align: "center", gap: "xs", children: showBulkActions ? /* @__PURE__ */ jsxRuntime.jsx(
11959
11978
  BulkActionsModule,
11960
11979
  {
11980
+ showSelectedLabel: false,
11981
+ fullWidth: true,
11961
11982
  slots: { BulkActions: BulkActionsModuleSlot }
11962
11983
  }
11963
- ) : /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "toggle", justify: "center", gap: "xs", children: [
11964
- collapseHeader && headerTopRow,
11965
- !categorizedOnly && categorizeView && showStatusToggle && /* @__PURE__ */ jsxRuntime.jsx(
11966
- NewToggle,
11967
- {
11968
- options: [
11969
- { label: "To Review", value: DisplayState.review },
11970
- { label: "Categorized", value: DisplayState.categorized }
11971
- ],
11972
- selectedKey: display,
11973
- onSelectionChange: onCategorizationDisplayChange
11974
- }
11975
- )
11976
- ] }),
11977
- /* @__PURE__ */ jsxRuntime.jsx(TransactionsSearch, { slot: "search", isDisabled: showBulkActions }),
11978
- /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "download-upload", justify: "center", gap: "xs", children: [
11979
- /* @__PURE__ */ jsxRuntime.jsx(
11980
- DownloadButton,
11984
+ ) : statusToggle })
11985
+ ] })
11986
+ }
11987
+ );
11988
+ }
11989
+ if (listView) {
11990
+ return /* @__PURE__ */ jsxRuntime.jsx(
11991
+ Header$1,
11992
+ {
11993
+ className: classNames(
11994
+ "Layer__bank-transactions__header",
11995
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker"
11996
+ ),
11997
+ style: { top: shiftStickyHeader },
11998
+ children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
11999
+ headerTopRow,
12000
+ /* @__PURE__ */ jsxRuntime.jsx(HStack, { justify: "space-between", align: "center", gap: "xs", children: showBulkActions ? /* @__PURE__ */ jsxRuntime.jsx(
12001
+ BulkActionsModule,
12002
+ {
12003
+ slots: { BulkActions: BulkActionsModuleSlot }
12004
+ }
12005
+ ) : statusToggle }),
12006
+ /* @__PURE__ */ jsxRuntime.jsx(TransactionsSearch, { isDisabled: showBulkActions })
12007
+ ] })
12008
+ }
12009
+ );
12010
+ } else {
12011
+ return /* @__PURE__ */ jsxRuntime.jsxs(
12012
+ Header$1,
12013
+ {
12014
+ className: classNames(
12015
+ "Layer__bank-transactions__header",
12016
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker",
12017
+ mobileComponent && listView ? "Layer__bank-transactions__header--mobile" : void 0
12018
+ ),
12019
+ style: { top: shiftStickyHeader },
12020
+ children: [
12021
+ !collapseHeader && headerTopRow,
12022
+ /* @__PURE__ */ jsxRuntime.jsxs(BankTransactionsActions, { children: [
12023
+ showBulkActions ? /* @__PURE__ */ jsxRuntime.jsx(
12024
+ BulkActionsModule,
11981
12025
  {
11982
- downloadButtonTextOverride: stringOverrides == null ? void 0 : stringOverrides.downloadButton,
11983
- iconOnly: listView,
11984
- disabled: showBulkActions
12026
+ slots: { BulkActions: BulkActionsModuleSlot }
11985
12027
  }
11986
- ),
11987
- /* @__PURE__ */ jsxRuntime.jsx(BankTransactionsHeaderMenu, { actions: headerMenuActions, isDisabled: showBulkActions })
12028
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "toggle", justify: "center", gap: "xs", children: [
12029
+ collapseHeader && headerTopRow,
12030
+ statusToggle
12031
+ ] }),
12032
+ /* @__PURE__ */ jsxRuntime.jsx(TransactionsSearch, { slot: "search", isDisabled: showBulkActions }),
12033
+ /* @__PURE__ */ jsxRuntime.jsxs(HStack, { slot: "download-upload", justify: "center", gap: "xs", children: [
12034
+ /* @__PURE__ */ jsxRuntime.jsx(
12035
+ DownloadButton,
12036
+ {
12037
+ downloadButtonTextOverride: stringOverrides == null ? void 0 : stringOverrides.downloadButton,
12038
+ iconOnly: listView,
12039
+ disabled: showBulkActions
12040
+ }
12041
+ ),
12042
+ /* @__PURE__ */ jsxRuntime.jsx(BankTransactionsHeaderMenu, { actions: headerMenuActions, isDisabled: showBulkActions })
12043
+ ] })
11988
12044
  ] })
11989
- ] })
11990
- ]
11991
- }
11992
- );
12045
+ ]
12046
+ }
12047
+ );
12048
+ }
11993
12049
  };
11994
12050
  const Inbox = (_pb) => {
11995
12051
  var _qb = _pb, { size = 18 } = _qb, props = __objRest(_qb, ["size"]);
@@ -18535,17 +18591,19 @@ const BankTransactionsMobileBulkActionsHeader = ({
18535
18591
  HStack,
18536
18592
  {
18537
18593
  gap: "md",
18538
- pi: "lg",
18539
- pbs: "md",
18540
- justify: "space-between",
18541
18594
  align: "center",
18595
+ justify: "space-between",
18596
+ pis: "xs",
18597
+ pie: "md",
18598
+ pb: "xs",
18599
+ className: "Layer__BankTransactionsMobileBulkActionsHeader",
18542
18600
  children: [
18543
18601
  /* @__PURE__ */ jsxRuntime.jsx(
18544
18602
  HStack,
18545
18603
  {
18546
18604
  align: "center",
18547
18605
  pi: "xs",
18548
- className: "Layer__BankTransactionsMobileBulkActionsHeader__checkbox-container",
18606
+ gap: "xs",
18549
18607
  children: bulkActionsEnabled && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18550
18608
  /* @__PURE__ */ jsxRuntime.jsx(
18551
18609
  Checkbox,
@@ -18567,15 +18625,17 @@ const BankTransactionsMobileBulkActionsHeader = ({
18567
18625
  ] })
18568
18626
  }
18569
18627
  ),
18570
- /* @__PURE__ */ jsxRuntime.jsx(
18571
- Switch,
18572
- {
18573
- isSelected: bulkActionsEnabled,
18574
- onChange: onBulkActionsToggle,
18575
- "aria-label": "Toggle bulk actions",
18576
- children: /* @__PURE__ */ jsxRuntime.jsx(Span, { size: "md", noWrap: true, children: "Bulk Actions" })
18577
- }
18578
- )
18628
+ /* @__PURE__ */ jsxRuntime.jsxs(HStack, { align: "center", gap: "xs", children: [
18629
+ /* @__PURE__ */ jsxRuntime.jsx(Span, { size: "md", noWrap: true, children: "Bulk Actions" }),
18630
+ /* @__PURE__ */ jsxRuntime.jsx(
18631
+ Switch,
18632
+ {
18633
+ isSelected: bulkActionsEnabled,
18634
+ onChange: onBulkActionsToggle,
18635
+ "aria-label": "Toggle bulk actions"
18636
+ }
18637
+ )
18638
+ ] })
18579
18639
  ]
18580
18640
  }
18581
18641
  );
@@ -40165,7 +40225,7 @@ const AccountingOverview = ({
40165
40225
  tagFilter = void 0,
40166
40226
  slotProps
40167
40227
  }) => {
40168
- var _a, _b, _c, _d, _e;
40228
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
40169
40229
  const [pnlToggle, setPnlToggle] = react.useState("expenses");
40170
40230
  const { value: sizeClass } = useSizeClass();
40171
40231
  const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
@@ -40227,11 +40287,11 @@ const AccountingOverview = ({
40227
40287
  options: [
40228
40288
  {
40229
40289
  value: "revenue",
40230
- label: "Revenue"
40290
+ label: ((_f = (_e = (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.detailedCharts) == null ? void 0 : _e.detailedChartStringOverrides) == null ? void 0 : _f.revenueToggleLabel) || "Revenue"
40231
40291
  },
40232
40292
  {
40233
40293
  value: "expenses",
40234
- label: "Expenses"
40294
+ label: ((_i = (_h = (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts) == null ? void 0 : _h.detailedChartStringOverrides) == null ? void 0 : _i.expenseToggleLabel) || "Expenses"
40235
40295
  }
40236
40296
  ],
40237
40297
  selected: pnlToggle,
@@ -40250,7 +40310,7 @@ const AccountingOverview = ({
40250
40310
  {
40251
40311
  scope: "revenue",
40252
40312
  hideClose: true,
40253
- stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.detailedCharts,
40313
+ stringOverrides: (_j = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _j.detailedCharts,
40254
40314
  chartColorsList
40255
40315
  }
40256
40316
  )
@@ -40268,7 +40328,7 @@ const AccountingOverview = ({
40268
40328
  {
40269
40329
  scope: "expenses",
40270
40330
  hideClose: true,
40271
- stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts,
40331
+ stringOverrides: (_k = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _k.detailedCharts,
40272
40332
  chartColorsList
40273
40333
  }
40274
40334
  )
@@ -42570,7 +42630,7 @@ const BookkeepingOverview = ({
42570
42630
  stringOverrides,
42571
42631
  slotProps
42572
42632
  }) => {
42573
- var _a, _b, _c, _d, _e, _f, _g, _h;
42633
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
42574
42634
  const [pnlToggle, setPnlToggle] = react.useState("expenses");
42575
42635
  const [width] = useWindowSize();
42576
42636
  const { isCalendlyVisible, calendlyLink, calendlyRef, closeCalendly } = useCalendly();
@@ -42663,11 +42723,11 @@ const BookkeepingOverview = ({
42663
42723
  options: [
42664
42724
  {
42665
42725
  value: "revenue",
42666
- label: "Revenue"
42726
+ label: ((_i = (_h = (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts) == null ? void 0 : _h.detailedChartStringOverrides) == null ? void 0 : _i.revenueToggleLabel) || "Revenue"
42667
42727
  },
42668
42728
  {
42669
42729
  value: "expenses",
42670
- label: "Expenses"
42730
+ label: ((_l = (_k = (_j = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _j.detailedCharts) == null ? void 0 : _k.detailedChartStringOverrides) == null ? void 0 : _l.expenseToggleLabel) || "Expenses"
42671
42731
  }
42672
42732
  ],
42673
42733
  selected: pnlToggle,
@@ -42686,7 +42746,7 @@ const BookkeepingOverview = ({
42686
42746
  {
42687
42747
  scope: "revenue",
42688
42748
  hideClose: true,
42689
- stringOverrides: (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts
42749
+ stringOverrides: (_m = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _m.detailedCharts
42690
42750
  }
42691
42751
  )
42692
42752
  }
@@ -42703,7 +42763,7 @@ const BookkeepingOverview = ({
42703
42763
  {
42704
42764
  scope: "expenses",
42705
42765
  hideClose: true,
42706
- stringOverrides: (_h = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _h.detailedCharts
42766
+ stringOverrides: (_n = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _n.detailedCharts
42707
42767
  }
42708
42768
  )
42709
42769
  }
@@ -45623,6 +45683,7 @@ exports.Direction = Direction;
45623
45683
  exports.DisplayState = DisplayState;
45624
45684
  exports.EntityName = EntityName;
45625
45685
  exports.GeneralLedgerView = GeneralLedgerView;
45686
+ exports.GlobalMonthPicker = GlobalMonthPicker;
45626
45687
  exports.Integrations = Integrations;
45627
45688
  exports.Invoices = Invoices;
45628
45689
  exports.Journal = Journal;
@@ -202,7 +202,7 @@ class ErrorHandlerClass {
202
202
  }
203
203
  const errorHandler = new ErrorHandlerClass();
204
204
  const reportError = (payload) => errorHandler.onError(payload);
205
- const version = "0.1.116";
205
+ const version = "0.1.117-alpha.1";
206
206
  const pkg = {
207
207
  version
208
208
  };
@@ -5610,7 +5610,7 @@ const Separator = ({ mbs, mbe }) => {
5610
5610
  const dataProperties = toDataProperties({ mbs, mbe });
5611
5611
  return /* @__PURE__ */ jsx("div", __spreadValues({ className: "Layer__separator" }, dataProperties));
5612
5612
  };
5613
- const ModalTitleWithClose = forwardRef(function ModalTitleWithClose2({ heading, description, onClose }, ref) {
5613
+ const ModalTitleWithClose = forwardRef(function ModalTitleWithClose2({ heading, description, onClose, hideCloseButton = false }, ref) {
5614
5614
  return /* @__PURE__ */ jsxs(VStack, { children: [
5615
5615
  /* @__PURE__ */ jsxs(
5616
5616
  "div",
@@ -5622,7 +5622,7 @@ const ModalTitleWithClose = forwardRef(function ModalTitleWithClose2({ heading,
5622
5622
  heading,
5623
5623
  description
5624
5624
  ] }),
5625
- /* @__PURE__ */ jsx(
5625
+ !hideCloseButton && /* @__PURE__ */ jsx(
5626
5626
  Button,
5627
5627
  {
5628
5628
  icon: true,
@@ -5912,7 +5912,8 @@ const BaseConfirmationModalContent = memo(function BaseConfirmationModalContent2
5912
5912
  ModalTitleWithClose,
5913
5913
  {
5914
5914
  heading: /* @__PURE__ */ jsx(ModalHeading, { size: "sm", children: title }),
5915
- onClose: close2
5915
+ onClose: close2,
5916
+ hideCloseButton: useDrawer
5916
5917
  }
5917
5918
  ),
5918
5919
  /* @__PURE__ */ jsxs(VStack, { gap: "md", children: [
@@ -6795,7 +6796,7 @@ const BankTransactionCategoryComboBox = ({
6795
6796
  );
6796
6797
  const numMatchOptions = (matchGroup == null ? void 0 : matchGroup.options.length) || 0;
6797
6798
  const loadingSuggestions = bankTransaction && isLoadingSuggestions(bankTransaction) && selectedValue === null;
6798
- const placeholder = numMatchOptions > 1 ? `${numMatchOptions} possible matches...` : loadingSuggestions ? "Generating suggestions..." : "Categorize or match...";
6799
+ const placeholder = numMatchOptions > 1 ? `${numMatchOptions} possible matches...` : loadingSuggestions ? "Generating suggestions..." : includeSuggestedMatches ? "Categorize or match..." : "Select category";
6799
6800
  const SelectedValue = useMemo(() => {
6800
6801
  return /* @__PURE__ */ jsx(BankTransactionsUncategorizedSelectedValue, { selectedValue });
6801
6802
  }, [selectedValue]);
@@ -7442,7 +7443,7 @@ const BankTransactionsBulkActions = ({
7442
7443
  const [recategorizeModalOpen, setRecategorizeModalOpen] = useState(false);
7443
7444
  const [uncategorizeModalOpen, setUncategorizeModalOpen] = useState(false);
7444
7445
  const confirmButtonLabel = ((_a = slotProps == null ? void 0 : slotProps.ConfirmAllModal) == null ? void 0 : _a.label) || "Confirm all";
7445
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(HStack, { align: "center", gap: "xs", children: display === DisplayState.review ? /* @__PURE__ */ jsxs(Fragment, { children: [
7446
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(HStack, { align: "center", gap: "xs", justify: isMobileView ? "end" : void 0, children: display === DisplayState.review ? /* @__PURE__ */ jsxs(Fragment, { children: [
7446
7447
  /* @__PURE__ */ jsx(
7447
7448
  Button,
7448
7449
  {
@@ -7475,7 +7476,7 @@ const BankTransactionsBulkActions = ({
7475
7476
  {
7476
7477
  variant: "outlined",
7477
7478
  onClick: () => setRecategorizeModalOpen(true),
7478
- children: "Recategorize"
7479
+ children: isMobileView ? "Categorize" : "Recategorize"
7479
7480
  }
7480
7481
  ),
7481
7482
  /* @__PURE__ */ jsx(
@@ -7483,7 +7484,7 @@ const BankTransactionsBulkActions = ({
7483
7484
  {
7484
7485
  isOpen: recategorizeModalOpen,
7485
7486
  onOpenChange: setRecategorizeModalOpen,
7486
- mode: CategorizationMode.Recategorize,
7487
+ mode: isMobileView ? CategorizationMode.Categorize : CategorizationMode.Recategorize,
7487
7488
  isMobileView
7488
7489
  }
7489
7490
  ),
@@ -9850,12 +9851,12 @@ const CLASS_NAME$6 = "Layer__BankTransactionsActions";
9850
9851
  function BankTransactionsActions({ children }) {
9851
9852
  return /* @__PURE__ */ jsx("div", { className: CLASS_NAME$6, children });
9852
9853
  }
9853
- const BulkActionsModule = ({ slots }) => {
9854
+ const BulkActionsModule = ({ showSelectedLabel = true, fullWidth = false, slots }) => {
9854
9855
  const { count } = useCountSelectedIds();
9855
9856
  const { clearSelection } = useBulkSelectionActions();
9856
- return /* @__PURE__ */ jsxs(HStack, { slot: "toggle", justify: "space-between", align: "center", gap: "xs", children: [
9857
+ return /* @__PURE__ */ jsxs(HStack, { slot: "toggle", justify: "space-between", align: "center", gap: "xs", fluid: fullWidth, children: [
9857
9858
  /* @__PURE__ */ jsxs(HStack, { justify: "space-between", align: "center", pis: "sm", pie: "3xs", gap: "3xs", className: "Layer__BulkActionsModule__SelectedItemsContainer", children: [
9858
- /* @__PURE__ */ jsx(Span, { noWrap: true, children: `${count} selected` }),
9859
+ /* @__PURE__ */ jsx(Span, { noWrap: true, children: showSelectedLabel ? `${count} selected` : count }),
9859
9860
  /* @__PURE__ */ jsx(
9860
9861
  Button,
9861
9862
  {
@@ -10140,7 +10141,7 @@ const MonthPicker = ({
10140
10141
  }) => {
10141
10142
  const triggerRef = useRef(null);
10142
10143
  const [isPopoverOpen, setPopoverOpen] = useState(false);
10143
- const { value, isMobile } = useSizeClass();
10144
+ const { value } = useSizeClass();
10144
10145
  const onChangeMonth = useCallback((val) => {
10145
10146
  onChange(val);
10146
10147
  setPopoverOpen(false);
@@ -10154,7 +10155,7 @@ const MonthPicker = ({
10154
10155
  {
10155
10156
  ref: triggerRef,
10156
10157
  slot: "input",
10157
- className: classNames("Layer__MonthPicker__InputGroup", { "Layer__MonthPicker__InputGroup--mobile": isMobile }),
10158
+ className: classNames("Layer__MonthPicker__InputGroup", { "Layer__MonthPicker__InputGroup--truncated": truncateMonth }),
10158
10159
  onClick: () => setPopoverOpen(true),
10159
10160
  children: [
10160
10161
  /* @__PURE__ */ jsx(Input$1, __spreadProps(__spreadValues({ inset: true }, additionalAriaProps), { value: inputValue, readOnly: true })),
@@ -10186,13 +10187,18 @@ const NewToggleOption = ({
10186
10187
  const NewToggle = ({
10187
10188
  options: options2,
10188
10189
  selectedKey,
10189
- onSelectionChange
10190
+ onSelectionChange,
10191
+ fullWidth = false
10190
10192
  }) => {
10191
10193
  const selectedKeys = selectedKey !== void 0 ? /* @__PURE__ */ new Set([selectedKey]) : /* @__PURE__ */ new Set();
10194
+ const dataProperties = toDataProperties({
10195
+ "full-width": fullWidth
10196
+ });
10192
10197
  return /* @__PURE__ */ jsx(
10193
10198
  ToggleButtonGroup,
10194
- {
10195
- className: "Layer__NewToggle",
10199
+ __spreadProps(__spreadValues({
10200
+ className: "Layer__NewToggle"
10201
+ }, dataProperties), {
10196
10202
  selectionMode: "single",
10197
10203
  selectedKeys,
10198
10204
  onSelectionChange: (keys) => {
@@ -10202,7 +10208,7 @@ const NewToggle = ({
10202
10208
  }
10203
10209
  },
10204
10210
  children: options2.map((option) => /* @__PURE__ */ jsx(NewToggleOption, __spreadValues({}, option), option.value))
10205
- }
10211
+ })
10206
10212
  );
10207
10213
  };
10208
10214
  const SmallLoader = ({ size = 28 }) => {
@@ -10396,8 +10402,9 @@ const BankTransactionsHeader = ({
10396
10402
  }, [setFilters]);
10397
10403
  const { count } = useCountSelectedIds();
10398
10404
  const showBulkActions = count > 0;
10405
+ const isMobileList = listView && mobileComponent === "mobileList";
10399
10406
  const headerTopRow = useMemo(() => /* @__PURE__ */ jsxs("div", { className: "Layer__bank-transactions__header__content", children: [
10400
- /* @__PURE__ */ jsxs("div", { className: "Layer__bank-transactions__header__content-title", children: [
10407
+ /* @__PURE__ */ jsxs(HStack, { align: "center", children: [
10401
10408
  /* @__PURE__ */ jsx(
10402
10409
  Heading,
10403
10410
  {
@@ -10453,7 +10460,6 @@ const BankTransactionsHeader = ({
10453
10460
  }
10454
10461
  return actions;
10455
10462
  }, [withUploadMenu, showCategorizationRules]);
10456
- const isMobileList = listView && mobileComponent === "mobileList";
10457
10463
  const BulkActionsModuleSlot = useCallback(() => {
10458
10464
  return /* @__PURE__ */ jsx(
10459
10465
  BankTransactionsBulkActions,
@@ -10467,53 +10473,103 @@ const BankTransactionsHeader = ({
10467
10473
  }
10468
10474
  );
10469
10475
  }, [isMobileList]);
10470
- return /* @__PURE__ */ jsxs(
10471
- Header$1,
10476
+ const statusToggle = !categorizedOnly && categorizeView && showStatusToggle ? /* @__PURE__ */ jsx(
10477
+ NewToggle,
10472
10478
  {
10473
- className: classNames(
10474
- "Layer__bank-transactions__header",
10475
- withDatePicker && "Layer__bank-transactions__header--with-date-picker",
10476
- mobileComponent && listView ? "Layer__bank-transactions__header--mobile" : void 0
10477
- ),
10478
- style: { top: shiftStickyHeader },
10479
- children: [
10480
- !collapseHeader && headerTopRow,
10481
- /* @__PURE__ */ jsxs(BankTransactionsActions, { children: [
10482
- showBulkActions ? /* @__PURE__ */ jsx(
10479
+ options: [
10480
+ { label: "To Review", value: DisplayState.review },
10481
+ { label: "Categorized", value: DisplayState.categorized }
10482
+ ],
10483
+ selectedKey: display,
10484
+ onSelectionChange: onCategorizationDisplayChange,
10485
+ fullWidth: isMobileList
10486
+ }
10487
+ ) : null;
10488
+ if (isMobileList) {
10489
+ return /* @__PURE__ */ jsx(
10490
+ Header$1,
10491
+ {
10492
+ className: classNames(
10493
+ "Layer__bank-transactions__header",
10494
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker",
10495
+ "Layer__bank-transactions__header--mobile"
10496
+ ),
10497
+ style: { top: shiftStickyHeader },
10498
+ children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
10499
+ headerTopRow,
10500
+ /* @__PURE__ */ jsx(TransactionsSearch, { isDisabled: showBulkActions }),
10501
+ /* @__PURE__ */ jsx(HStack, { justify: "space-between", align: "center", gap: "xs", children: showBulkActions ? /* @__PURE__ */ jsx(
10483
10502
  BulkActionsModule,
10484
10503
  {
10504
+ showSelectedLabel: false,
10505
+ fullWidth: true,
10485
10506
  slots: { BulkActions: BulkActionsModuleSlot }
10486
10507
  }
10487
- ) : /* @__PURE__ */ jsxs(HStack, { slot: "toggle", justify: "center", gap: "xs", children: [
10488
- collapseHeader && headerTopRow,
10489
- !categorizedOnly && categorizeView && showStatusToggle && /* @__PURE__ */ jsx(
10490
- NewToggle,
10491
- {
10492
- options: [
10493
- { label: "To Review", value: DisplayState.review },
10494
- { label: "Categorized", value: DisplayState.categorized }
10495
- ],
10496
- selectedKey: display,
10497
- onSelectionChange: onCategorizationDisplayChange
10498
- }
10499
- )
10500
- ] }),
10501
- /* @__PURE__ */ jsx(TransactionsSearch, { slot: "search", isDisabled: showBulkActions }),
10502
- /* @__PURE__ */ jsxs(HStack, { slot: "download-upload", justify: "center", gap: "xs", children: [
10503
- /* @__PURE__ */ jsx(
10504
- DownloadButton,
10508
+ ) : statusToggle })
10509
+ ] })
10510
+ }
10511
+ );
10512
+ }
10513
+ if (listView) {
10514
+ return /* @__PURE__ */ jsx(
10515
+ Header$1,
10516
+ {
10517
+ className: classNames(
10518
+ "Layer__bank-transactions__header",
10519
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker"
10520
+ ),
10521
+ style: { top: shiftStickyHeader },
10522
+ children: /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
10523
+ headerTopRow,
10524
+ /* @__PURE__ */ jsx(HStack, { justify: "space-between", align: "center", gap: "xs", children: showBulkActions ? /* @__PURE__ */ jsx(
10525
+ BulkActionsModule,
10526
+ {
10527
+ slots: { BulkActions: BulkActionsModuleSlot }
10528
+ }
10529
+ ) : statusToggle }),
10530
+ /* @__PURE__ */ jsx(TransactionsSearch, { isDisabled: showBulkActions })
10531
+ ] })
10532
+ }
10533
+ );
10534
+ } else {
10535
+ return /* @__PURE__ */ jsxs(
10536
+ Header$1,
10537
+ {
10538
+ className: classNames(
10539
+ "Layer__bank-transactions__header",
10540
+ withDatePicker && "Layer__bank-transactions__header--with-date-picker",
10541
+ mobileComponent && listView ? "Layer__bank-transactions__header--mobile" : void 0
10542
+ ),
10543
+ style: { top: shiftStickyHeader },
10544
+ children: [
10545
+ !collapseHeader && headerTopRow,
10546
+ /* @__PURE__ */ jsxs(BankTransactionsActions, { children: [
10547
+ showBulkActions ? /* @__PURE__ */ jsx(
10548
+ BulkActionsModule,
10505
10549
  {
10506
- downloadButtonTextOverride: stringOverrides == null ? void 0 : stringOverrides.downloadButton,
10507
- iconOnly: listView,
10508
- disabled: showBulkActions
10550
+ slots: { BulkActions: BulkActionsModuleSlot }
10509
10551
  }
10510
- ),
10511
- /* @__PURE__ */ jsx(BankTransactionsHeaderMenu, { actions: headerMenuActions, isDisabled: showBulkActions })
10552
+ ) : /* @__PURE__ */ jsxs(HStack, { slot: "toggle", justify: "center", gap: "xs", children: [
10553
+ collapseHeader && headerTopRow,
10554
+ statusToggle
10555
+ ] }),
10556
+ /* @__PURE__ */ jsx(TransactionsSearch, { slot: "search", isDisabled: showBulkActions }),
10557
+ /* @__PURE__ */ jsxs(HStack, { slot: "download-upload", justify: "center", gap: "xs", children: [
10558
+ /* @__PURE__ */ jsx(
10559
+ DownloadButton,
10560
+ {
10561
+ downloadButtonTextOverride: stringOverrides == null ? void 0 : stringOverrides.downloadButton,
10562
+ iconOnly: listView,
10563
+ disabled: showBulkActions
10564
+ }
10565
+ ),
10566
+ /* @__PURE__ */ jsx(BankTransactionsHeaderMenu, { actions: headerMenuActions, isDisabled: showBulkActions })
10567
+ ] })
10512
10568
  ] })
10513
- ] })
10514
- ]
10515
- }
10516
- );
10569
+ ]
10570
+ }
10571
+ );
10572
+ }
10517
10573
  };
10518
10574
  const Inbox = (_pb) => {
10519
10575
  var _qb = _pb, { size = 18 } = _qb, props = __objRest(_qb, ["size"]);
@@ -17059,17 +17115,19 @@ const BankTransactionsMobileBulkActionsHeader = ({
17059
17115
  HStack,
17060
17116
  {
17061
17117
  gap: "md",
17062
- pi: "lg",
17063
- pbs: "md",
17064
- justify: "space-between",
17065
17118
  align: "center",
17119
+ justify: "space-between",
17120
+ pis: "xs",
17121
+ pie: "md",
17122
+ pb: "xs",
17123
+ className: "Layer__BankTransactionsMobileBulkActionsHeader",
17066
17124
  children: [
17067
17125
  /* @__PURE__ */ jsx(
17068
17126
  HStack,
17069
17127
  {
17070
17128
  align: "center",
17071
17129
  pi: "xs",
17072
- className: "Layer__BankTransactionsMobileBulkActionsHeader__checkbox-container",
17130
+ gap: "xs",
17073
17131
  children: bulkActionsEnabled && /* @__PURE__ */ jsxs(Fragment, { children: [
17074
17132
  /* @__PURE__ */ jsx(
17075
17133
  Checkbox,
@@ -17091,15 +17149,17 @@ const BankTransactionsMobileBulkActionsHeader = ({
17091
17149
  ] })
17092
17150
  }
17093
17151
  ),
17094
- /* @__PURE__ */ jsx(
17095
- Switch,
17096
- {
17097
- isSelected: bulkActionsEnabled,
17098
- onChange: onBulkActionsToggle,
17099
- "aria-label": "Toggle bulk actions",
17100
- children: /* @__PURE__ */ jsx(Span, { size: "md", noWrap: true, children: "Bulk Actions" })
17101
- }
17102
- )
17152
+ /* @__PURE__ */ jsxs(HStack, { align: "center", gap: "xs", children: [
17153
+ /* @__PURE__ */ jsx(Span, { size: "md", noWrap: true, children: "Bulk Actions" }),
17154
+ /* @__PURE__ */ jsx(
17155
+ Switch,
17156
+ {
17157
+ isSelected: bulkActionsEnabled,
17158
+ onChange: onBulkActionsToggle,
17159
+ "aria-label": "Toggle bulk actions"
17160
+ }
17161
+ )
17162
+ ] })
17103
17163
  ]
17104
17164
  }
17105
17165
  );
@@ -38689,7 +38749,7 @@ const AccountingOverview = ({
38689
38749
  tagFilter = void 0,
38690
38750
  slotProps
38691
38751
  }) => {
38692
- var _a, _b, _c, _d, _e;
38752
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
38693
38753
  const [pnlToggle, setPnlToggle] = useState("expenses");
38694
38754
  const { value: sizeClass } = useSizeClass();
38695
38755
  const profitAndLossSummariesVariants = (_b = (_a = slotProps == null ? void 0 : slotProps.profitAndLoss) == null ? void 0 : _a.summaries) == null ? void 0 : _b.variants;
@@ -38751,11 +38811,11 @@ const AccountingOverview = ({
38751
38811
  options: [
38752
38812
  {
38753
38813
  value: "revenue",
38754
- label: "Revenue"
38814
+ label: ((_f = (_e = (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.detailedCharts) == null ? void 0 : _e.detailedChartStringOverrides) == null ? void 0 : _f.revenueToggleLabel) || "Revenue"
38755
38815
  },
38756
38816
  {
38757
38817
  value: "expenses",
38758
- label: "Expenses"
38818
+ label: ((_i = (_h = (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts) == null ? void 0 : _h.detailedChartStringOverrides) == null ? void 0 : _i.expenseToggleLabel) || "Expenses"
38759
38819
  }
38760
38820
  ],
38761
38821
  selected: pnlToggle,
@@ -38774,7 +38834,7 @@ const AccountingOverview = ({
38774
38834
  {
38775
38835
  scope: "revenue",
38776
38836
  hideClose: true,
38777
- stringOverrides: (_d = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _d.detailedCharts,
38837
+ stringOverrides: (_j = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _j.detailedCharts,
38778
38838
  chartColorsList
38779
38839
  }
38780
38840
  )
@@ -38792,7 +38852,7 @@ const AccountingOverview = ({
38792
38852
  {
38793
38853
  scope: "expenses",
38794
38854
  hideClose: true,
38795
- stringOverrides: (_e = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _e.detailedCharts,
38855
+ stringOverrides: (_k = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _k.detailedCharts,
38796
38856
  chartColorsList
38797
38857
  }
38798
38858
  )
@@ -41094,7 +41154,7 @@ const BookkeepingOverview = ({
41094
41154
  stringOverrides,
41095
41155
  slotProps
41096
41156
  }) => {
41097
- var _a, _b, _c, _d, _e, _f, _g, _h;
41157
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
41098
41158
  const [pnlToggle, setPnlToggle] = useState("expenses");
41099
41159
  const [width] = useWindowSize();
41100
41160
  const { isCalendlyVisible, calendlyLink, calendlyRef, closeCalendly } = useCalendly();
@@ -41187,11 +41247,11 @@ const BookkeepingOverview = ({
41187
41247
  options: [
41188
41248
  {
41189
41249
  value: "revenue",
41190
- label: "Revenue"
41250
+ label: ((_i = (_h = (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts) == null ? void 0 : _h.detailedChartStringOverrides) == null ? void 0 : _i.revenueToggleLabel) || "Revenue"
41191
41251
  },
41192
41252
  {
41193
41253
  value: "expenses",
41194
- label: "Expenses"
41254
+ label: ((_l = (_k = (_j = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _j.detailedCharts) == null ? void 0 : _k.detailedChartStringOverrides) == null ? void 0 : _l.expenseToggleLabel) || "Expenses"
41195
41255
  }
41196
41256
  ],
41197
41257
  selected: pnlToggle,
@@ -41210,7 +41270,7 @@ const BookkeepingOverview = ({
41210
41270
  {
41211
41271
  scope: "revenue",
41212
41272
  hideClose: true,
41213
- stringOverrides: (_g = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _g.detailedCharts
41273
+ stringOverrides: (_m = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _m.detailedCharts
41214
41274
  }
41215
41275
  )
41216
41276
  }
@@ -41227,7 +41287,7 @@ const BookkeepingOverview = ({
41227
41287
  {
41228
41288
  scope: "expenses",
41229
41289
  hideClose: true,
41230
- stringOverrides: (_h = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _h.detailedCharts
41290
+ stringOverrides: (_n = stringOverrides == null ? void 0 : stringOverrides.profitAndLoss) == null ? void 0 : _n.detailedCharts
41231
41291
  }
41232
41292
  )
41233
41293
  }
@@ -44148,6 +44208,7 @@ export {
44148
44208
  DisplayState,
44149
44209
  EntityName,
44150
44210
  GeneralLedgerView,
44211
+ GlobalMonthPicker,
44151
44212
  Integrations,
44152
44213
  Invoices,
44153
44214
  Journal,
package/dist/index.css CHANGED
@@ -3142,10 +3142,6 @@ tbody .Layer__table__empty-row:first-child {
3142
3142
  justify-content: space-between;
3143
3143
  min-height: 40px;
3144
3144
  }
3145
- .Layer__bank-transactions__header__content-title {
3146
- display: flex;
3147
- align-items: center;
3148
- }
3149
3145
  .Layer__bank-transactions__header.Layer__bank-transactions__header--mobile {
3150
3146
  background-color: transparent;
3151
3147
  }
@@ -3748,8 +3744,11 @@ tbody .Layer__table__empty-row:first-child {
3748
3744
  background-color: var(--table-bg);
3749
3745
  }
3750
3746
  .Layer__bank-transactions__header.Layer__bank-transactions__header--mobile {
3751
- padding-bottom: var(--spacing-2xs);
3747
+ padding-block-end: var(--spacing-sm);
3748
+ padding-inline-start: 0;
3749
+ padding-inline-end: var(--spacing-md);
3752
3750
  box-shadow: none;
3751
+ margin-inline-start: var(--spacing-md);
3753
3752
  }
3754
3753
  }
3755
3754
  .Layer__bank-transaction-list-item__match-tooltip,
@@ -4192,6 +4191,9 @@ tbody .Layer__table__empty-row:first-child {
4192
4191
  padding: 0;
4193
4192
  list-style: none;
4194
4193
  }
4194
+ .Layer__bank-transactions__mobile-list .Layer__bank-transaction-mobile-list-item:first-child {
4195
+ margin-top: 0;
4196
+ }
4195
4197
  .Layer__bank-transaction-mobile-list-item {
4196
4198
  box-sizing: border-box;
4197
4199
  width: 95%;
@@ -8310,7 +8312,7 @@ header.Layer__profit-and-loss-detailed-charts__header--tablet {
8310
8312
  .Layer__MonthPicker__InputGroup {
8311
8313
  inline-size: 12rem;
8312
8314
  }
8313
- .Layer__MonthPicker__InputGroup--mobile {
8315
+ .Layer__MonthPicker__InputGroup--truncated {
8314
8316
  inline-size: 12ch;
8315
8317
  }.Layer__NewToggle {
8316
8318
  box-sizing: border-box;
@@ -8328,6 +8330,12 @@ header.Layer__profit-and-loss-detailed-charts__header--tablet {
8328
8330
  isolation: isolate;
8329
8331
  -webkit-tap-highlight-color: transparent;
8330
8332
  -webkit-touch-callout: none;
8333
+ }
8334
+ .Layer__NewToggle[data-full-width] {
8335
+ inline-size: 100%;
8336
+ }
8337
+ .Layer__NewToggle[data-full-width] .Layer__NewToggleOption {
8338
+ flex: 1;
8331
8339
  }.Layer__NewToggleOption {
8332
8340
  box-sizing: border-box;
8333
8341
  position: relative;
@@ -8694,8 +8702,11 @@ header.Layer__profit-and-loss-detailed-charts__header--tablet {
8694
8702
  border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
8695
8703
  border-top: 1px solid var(--color-base-400);
8696
8704
  background-color: var(--color-base-100);
8697
- }.Layer__BankTransactionsMobileBulkActionsHeader__checkbox-container {
8698
- gap: 20px;
8705
+ }.Layer__BankTransactionsMobileBulkActionsHeader {
8706
+ border-radius: var(--input-border-radius);
8707
+ border: 1px solid var(--border-color);
8708
+ margin-inline-start: var(--spacing-md);
8709
+ background-color: var(--color-base-100);
8699
8710
  }.Layer__BusinessFormMobile {
8700
8711
  border-radius: var(--border-radius-2xs);
8701
8712
  border: 1px solid var(--color-base-300);
package/dist/index.d.ts CHANGED
@@ -407,6 +407,8 @@ declare type DeepPartial<T> = {
407
407
  declare interface DetailedChartStringOverrides {
408
408
  expenseChartHeader?: string;
409
409
  revenueChartHeader?: string;
410
+ revenueToggleLabel?: string;
411
+ expenseToggleLabel?: string;
410
412
  }
411
413
 
412
414
  declare interface DetailedTableStringOverrides {
@@ -499,6 +501,10 @@ declare interface GeneralLedgerStringOverrides {
499
501
 
500
502
  export declare const GeneralLedgerView: ({ title, showTitle, showTags, showCustomerVendor, stringOverrides, chartOfAccountsOptions, renderInAppLink, }: GeneralLedgerProps) => JSX_2.Element;
501
503
 
504
+ export declare const GlobalMonthPicker: ({ truncateMonth }: {
505
+ truncateMonth?: boolean;
506
+ }) => JSX_2.Element;
507
+
502
508
  /**
503
509
  * Configuration for the hero/main content section of the Landing Page page
504
510
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerfi/components",
3
- "version": "0.1.116",
3
+ "version": "0.1.117-alpha.1",
4
4
  "description": "Layer React Components",
5
5
  "main": "dist/cjs/index.cjs",
6
6
  "module": "dist/esm/index.mjs",