@namiml/sdk-core 3.4.0-dev.202605191927 → 3.4.0-dev.202605241634

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.cjs CHANGED
@@ -98,7 +98,7 @@ const {
98
98
  // version — stamped by scripts/version.sh
99
99
  NAMI_SDK_VERSION: exports.NAMI_SDK_VERSION = "3.4.0",
100
100
  // full package version including dev suffix — stamped by scripts/version.sh
101
- NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605191927",
101
+ NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605241634",
102
102
  // environments
103
103
  PRODUCTION: exports.PRODUCTION = "production", DEVELOPMENT: exports.DEVELOPMENT = "development",
104
104
  // error messages
@@ -14006,8 +14006,17 @@ class NamiFlow extends BasicNamiFlow {
14006
14006
  // UI is responsible for closing paywall when flow ends
14007
14007
  }
14008
14008
  back() {
14009
- if (!this.previousStepAvailable) {
14010
- logger.debug(`No previous step available`);
14009
+ if (this.previousFlowStep?.allow_back_to === false) {
14010
+ logger.debug(`Not allowed to go back to ${this.previousFlowStep.id}`);
14011
+ return;
14012
+ }
14013
+ // No previous screen in history → exit the flow (parity with Android/iOS).
14014
+ const hasPreviousScreen = this.stepcrumbs
14015
+ .slice(0, -1)
14016
+ .some(step => step.type === 'screen');
14017
+ if (!hasPreviousScreen) {
14018
+ this.flowLog(`back() — no previous screen step, exiting flow`);
14019
+ this.finished();
14011
14020
  return;
14012
14021
  }
14013
14022
  this.backToPreviousScreenStep();
package/dist/index.d.ts CHANGED
@@ -712,6 +712,8 @@ type TResponsiveGrid = TBaseComponent & {
712
712
  loopVariable?: string;
713
713
  loopSource?: string;
714
714
  loopSourceConditions: TTestObject[];
715
+ groupBy?: string;
716
+ groupHeaderTemplate?: TComponent;
715
717
  };
716
718
  type TRepeatingGrid = TBaseComponent & {
717
719
  component: "repeatingGrid";
@@ -723,6 +725,8 @@ type TRepeatingGrid = TBaseComponent & {
723
725
  columnSpacing?: number;
724
726
  rowSpacing?: number;
725
727
  itemAlignment?: string;
728
+ groupBy?: string;
729
+ groupHeaderTemplate?: TComponent;
726
730
  };
727
731
  type TToggleSwitch = TBaseComponent & {
728
732
  component: 'toggleSwitch';
package/dist/index.mjs CHANGED
@@ -96,7 +96,7 @@ const {
96
96
  // version — stamped by scripts/version.sh
97
97
  NAMI_SDK_VERSION = "3.4.0",
98
98
  // full package version including dev suffix — stamped by scripts/version.sh
99
- NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605191927",
99
+ NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605241634",
100
100
  // environments
101
101
  PRODUCTION = "production", DEVELOPMENT = "development",
102
102
  // error messages
@@ -14004,8 +14004,17 @@ class NamiFlow extends BasicNamiFlow {
14004
14004
  // UI is responsible for closing paywall when flow ends
14005
14005
  }
14006
14006
  back() {
14007
- if (!this.previousStepAvailable) {
14008
- logger.debug(`No previous step available`);
14007
+ if (this.previousFlowStep?.allow_back_to === false) {
14008
+ logger.debug(`Not allowed to go back to ${this.previousFlowStep.id}`);
14009
+ return;
14010
+ }
14011
+ // No previous screen in history → exit the flow (parity with Android/iOS).
14012
+ const hasPreviousScreen = this.stepcrumbs
14013
+ .slice(0, -1)
14014
+ .some(step => step.type === 'screen');
14015
+ if (!hasPreviousScreen) {
14016
+ this.flowLog(`back() — no previous screen step, exiting flow`);
14017
+ this.finished();
14009
14018
  return;
14010
14019
  }
14011
14020
  this.backToPreviousScreenStep();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namiml/sdk-core",
3
- "version": "3.4.0-dev.202605191927",
3
+ "version": "3.4.0-dev.202605241634",
4
4
  "description": "Platform-agnostic core for the Nami SDK — business logic, API, types, and state management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",