From 30868960cb5b835416536f71ac3eaca0a2cdcf59 Mon Sep 17 00:00:00 2001 From: shourya sonu Date: Tue, 7 Apr 2026 13:35:30 +0530 Subject: [PATCH 1/5] docs: add Stac Registry documentation --- docs/concepts/stac_registry.mdx | 93 +++++++++++++++++++++++++++ docs/docs.json | 1 + examples/counter_example/pubspec.lock | 8 +-- examples/movie_app/pubspec.lock | 8 +-- examples/stac_gallery/pubspec.lock | 8 +-- 5 files changed, 106 insertions(+), 12 deletions(-) create mode 100644 docs/concepts/stac_registry.mdx diff --git a/docs/concepts/stac_registry.mdx b/docs/concepts/stac_registry.mdx new file mode 100644 index 000000000..56deb9e69 --- /dev/null +++ b/docs/concepts/stac_registry.mdx @@ -0,0 +1,93 @@ +--- +title: "Stac Registry" +description: "Understand the central hub for widget parsers, action parsers, and global state in the Stac ecosystem" +--- + +The **Stac Registry** is the "brain" of the Stac framework. It acts as a centralized, in-memory repository that manages how the engine translates static JSON data into live Flutter widgets and functional actions. + +## What is Stac Registry? + +At its core, the Stac Registry is a singleton service that maintains three primary maps: + +1. **Widget Parsers**: A registry of every UI component type (e.g., `"text"`, `"column"`, `"custom_card"`) and the logic required to build it. +2. **Action Parsers**: A registry of logic triggers (e.g., `"navigate"`, `"network_request"`) that can be executed from the UI. +3. **Global Variables**: A key-value store for dynamic data binding (e.g., `userName`, `isLoggedIn`) that can be referenced directly in your SDUI JSON. + +## Why and When should it be used? + +The Registry is essential for any Stac-powered application because it provides the **lookup table** for the rendering engine. You will interact with it when: + +- **Registering Custom Widgets**: When you build a widget that isn't part of the core library, you must tell the Registry how to parse its JSON type. +- **Injecting Third-Party Actions**: If you use a plugin (like a payment gateway or analytics) that needs to be triggered from a server-side JSON payload. +- **Managing Dynamic State**: When you need to update a value in the app (like a theme toggle or user ID) and have that change reflected in dynamic screens via `{{variable_name}}` placeholders. + +## Architecture & Data Flow + +The Registry sits between your **Server Data** and your **Flutter App**, acting as a translation layer. + +1. **JSON Payload**: The app receives a JSON object: `{"type": "text", "data": "Hello {{name}}"}`. +2. **Variable Resolution**: The Registry looks up the value for `name` and replaces the placeholder. +3. **Parser Lookup**: The engine asks the Registry for the parser associated with the type `"text"`. +4. **Native Rendering**: The Registry returns the `StacTextParser`, which produces the final Flutter `Text` widget. + +--- + +## Basic Usage + +### Registering a Custom Parser + +To extend Stac with your own components, you register your parsers during the application initialization. + +```dart +void main() async { + // Initialize Stac and register custom parsers + await Stac.initialize( + parsers: [ + const MyCustomWidgetParser(), + ], + actionParsers: [ + const MyAnalyticsActionParser(), + ], + ); + + runApp(const MyApp()); +} +``` + +### Managing Global State + +You can store and retrieve values in the Registry that are automatically accessible to your Dynamic Screens. + +```dart +// Setting a global variable +StacRegistry.instance.setValue('apiVersion', 'v2.1'); + +// Retrieving a value +final version = StacRegistry.instance.getValue('apiVersion'); + +// Removing a value +StacRegistry.instance.removeValue('apiVersion'); +``` + +In your Server JSON, you can now reference this variable: + +```json +{ + "type": "text", + "data": "Running on Stac API Version: {{apiVersion}}" +} +``` + +## Advanced: Overriding Default Parsers + +The Registry also allows you to replace a built-in Stac parser with your own logic by using the `override` flag. This is useful if you want to customize the behavior of standard widgets (like `StacText`) across your entire app. + +```dart +StacRegistry.instance.register( + const MyEnhancedTextParser(), + override: true, +); +``` + +> [!TIP] +> Use the `override` feature sparingly. It is a powerful way to enforce global design patterns or logging across all dynamic components. diff --git a/docs/docs.json b/docs/docs.json index a63c419a2..db3e65ab4 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -41,6 +41,7 @@ "icon": "book", "pages": [ "concepts/rendering_stac_widgets", + "concepts/stac_registry", "concepts/navigation_in_stac", "concepts/caching", "concepts/custom_widgets", diff --git a/examples/counter_example/pubspec.lock b/examples/counter_example/pubspec.lock index 5062314b0..b4fe062de 100644 --- a/examples/counter_example/pubspec.lock +++ b/examples/counter_example/pubspec.lock @@ -452,10 +452,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.18" material_color_utilities: dependency: transitive description: @@ -861,10 +861,10 @@ packages: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.8" timing: dependency: transitive description: diff --git a/examples/movie_app/pubspec.lock b/examples/movie_app/pubspec.lock index 7ed7c023e..8a4d31768 100644 --- a/examples/movie_app/pubspec.lock +++ b/examples/movie_app/pubspec.lock @@ -388,10 +388,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.18" material_color_utilities: dependency: transitive description: @@ -789,10 +789,10 @@ packages: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.8" typed_data: dependency: transitive description: diff --git a/examples/stac_gallery/pubspec.lock b/examples/stac_gallery/pubspec.lock index ff6d69155..12d3a1be9 100644 --- a/examples/stac_gallery/pubspec.lock +++ b/examples/stac_gallery/pubspec.lock @@ -428,10 +428,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.18" material_color_utilities: dependency: transitive description: @@ -860,10 +860,10 @@ packages: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.8" typed_data: dependency: transitive description: From bf1b0d2778a24f66fca82bb2f89002992e01d906 Mon Sep 17 00:00:00 2001 From: shourya sonu Date: Tue, 7 Apr 2026 13:50:25 +0530 Subject: [PATCH 2/5] docs: refactor and improve stac_registry.mdx documentation with updated structure, diagrams, and best practices --- docs/concepts/stac_registry.mdx | 87 ++++++++++++++++----------------- 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/docs/concepts/stac_registry.mdx b/docs/concepts/stac_registry.mdx index 56deb9e69..40c190c65 100644 --- a/docs/concepts/stac_registry.mdx +++ b/docs/concepts/stac_registry.mdx @@ -5,89 +5,86 @@ description: "Understand the central hub for widget parsers, action parsers, and The **Stac Registry** is the "brain" of the Stac framework. It acts as a centralized, in-memory repository that manages how the engine translates static JSON data into live Flutter widgets and functional actions. -## What is Stac Registry? +## 1. What is Stac Registry? -At its core, the Stac Registry is a singleton service that maintains three primary maps: +The Stac Registry is a singleton service that serves as a lookup table for the rendering engine. It manages three primary areas: +- **Widget Parsers**: Mapping of JSON `type` strings (e.g., `"text"`) to their respective `StacParser`. +- **Action Parsers**: Mapping of logic triggers (e.g., `"navigate"`) to their `StacActionParser`. +- **Global Variables**: A key-value store for placeholder resolution (e.g., `{{userName}}`). -1. **Widget Parsers**: A registry of every UI component type (e.g., `"text"`, `"column"`, `"custom_card"`) and the logic required to build it. -2. **Action Parsers**: A registry of logic triggers (e.g., `"navigate"`, `"network_request"`) that can be executed from the UI. -3. **Global Variables**: A key-value store for dynamic data binding (e.g., `userName`, `isLoggedIn`) that can be referenced directly in your SDUI JSON. +## 2. Why and when it should be used? -## Why and When should it be used? +The Registry is used whenever you need to: +- **Extend Stac**: Register custom widget or action parsers that are not included in the core library. +- **Manage Dynamic Data**: Inject application state (like user info or theme settings) into your SDUI screens without re-fetching JSON. +- **Custom Logic**: Trigger specific application logic directly from a server-side payload. -The Registry is essential for any Stac-powered application because it provides the **lookup table** for the rendering engine. You will interact with it when: +## 3. How it fits into Stac Architecture -- **Registering Custom Widgets**: When you build a widget that isn't part of the core library, you must tell the Registry how to parse its JSON type. -- **Injecting Third-Party Actions**: If you use a plugin (like a payment gateway or analytics) that needs to be triggered from a server-side JSON payload. -- **Managing Dynamic State**: When you need to update a value in the app (like a theme toggle or user ID) and have that change reflected in dynamic screens via `{{variable_name}}` placeholders. +The Registry acts as the bridge between **Server JSON** and **Native Flutter execution**. -## Architecture & Data Flow +### Architecture Flow -The Registry sits between your **Server Data** and your **Flutter App**, acting as a translation layer. - -1. **JSON Payload**: The app receives a JSON object: `{"type": "text", "data": "Hello {{name}}"}`. -2. **Variable Resolution**: The Registry looks up the value for `name` and replaces the placeholder. -3. **Parser Lookup**: The engine asks the Registry for the parser associated with the type `"text"`. -4. **Native Rendering**: The Registry returns the `StacTextParser`, which produces the final Flutter `Text` widget. +```mermaid +graph TD + A[Server JSON] --> B(Variable Resolver) + B --> C{Stac Registry} + C -->|Lookup Parser| D[Widget Parser] + C -->|Lookup Action| E[Action Parser] + D --> F[Native Flutter Widget] + E --> G[Logic Execution] +``` ---- +### Data Flow Steps +1. **Placeholder Resolution**: The `Variable Resolver` swaps any `{{variable}}` placeholders in the JSON with real values from the Registry. +2. **Parser Discovery**: The Stac engine queries the Registry for the parser matching the JSON's `type` field. +3. **Execution**: The found parser converts the JSON data into a Flutter widget or executes the requested action. -## Basic Usage +## 4. Basic Usage Example ### Registering a Custom Parser - -To extend Stac with your own components, you register your parsers during the application initialization. +You typically register your custom parsers during the application's initialization phase. ```dart void main() async { - // Initialize Stac and register custom parsers await Stac.initialize( parsers: [ const MyCustomWidgetParser(), ], - actionParsers: [ - const MyAnalyticsActionParser(), - ], ); runApp(const MyApp()); } ``` -### Managing Global State - -You can store and retrieve values in the Registry that are automatically accessible to your Dynamic Screens. +### Using Global Variables +Store a value in the Registry and reference it in your SDUI screens. ```dart -// Setting a global variable -StacRegistry.instance.setValue('apiVersion', 'v2.1'); - -// Retrieving a value -final version = StacRegistry.instance.getValue('apiVersion'); - -// Removing a value -StacRegistry.instance.removeValue('apiVersion'); +// Set a global variable +StacRegistry.instance.setValue('userName', 'Alex Smith'); ``` -In your Server JSON, you can now reference this variable: - +**JSON Usage:** ```json { "type": "text", - "data": "Running on Stac API Version: {{apiVersion}}" + "data": "Welcome back, {{userName}}!" } ``` -## Advanced: Overriding Default Parsers +> [!TIP] +> **Variable Resolution is Recursive.** If you store a complex Map in the Registry, you can access nested properties in your JSON using dot notation (e.g., `{{user.profile.name}}`). -The Registry also allows you to replace a built-in Stac parser with your own logic by using the `override` flag. This is useful if you want to customize the behavior of standard widgets (like `StacText`) across your entire app. +### 5. Overriding Core Behavior (Global Styling) +If you want to change how a standard widget like `StacText` behaves globally (e.g., to force all text to be uppercase or add a custom logging interceptor), you can override the default parser. ```dart StacRegistry.instance.register( - const MyEnhancedTextParser(), - override: true, + const MyBrandedTextParser(), + override: true, // This replaces the core "text" parser ); ``` -> [!TIP] -> Use the `override` feature sparingly. It is a powerful way to enforce global design patterns or logging across all dynamic components. +> [!WARNING] +> **Memory Management.** Since the Registry is a Singleton, registrations and values persist for the entire lifecycle of the application. Always use `removeValue()` to clear sensitive user data when they log out to avoid memory leaks or data exposure. From 47bf8f8dea45382faea916fec46d0aec23e94f17 Mon Sep 17 00:00:00 2001 From: shourya sonu Date: Tue, 7 Apr 2026 17:44:52 +0530 Subject: [PATCH 3/5] chore: sync all pubspec.lock files --- examples/counter_example/pubspec.lock | 36 ++++++++++++---------- examples/movie_app/pubspec.lock | 36 ++++++++++++---------- examples/stac_gallery/pubspec.lock | 43 +++++++++++++++------------ packages/stac_cli/pubspec.lock | 43 ++++++++++++++++++++++----- 4 files changed, 100 insertions(+), 58 deletions(-) diff --git a/examples/counter_example/pubspec.lock b/examples/counter_example/pubspec.lock index b4fe062de..51c2c7e1d 100644 --- a/examples/counter_example/pubspec.lock +++ b/examples/counter_example/pubspec.lock @@ -784,30 +784,34 @@ packages: stac: dependency: "direct main" description: - path: "../../packages/stac" - relative: true - source: path + name: stac + sha256: f1a53751157e7882d7218765b6e13016aa345007f2c6b48520c6edb32b4d02d3 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_core: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_core" - relative: true - source: path + name: stac_core + sha256: fd7e618b62b8ea136ec56837a466ab3f639a124e371d18f9d75af8631f4e2980 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_framework: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_framework" - relative: true - source: path + name: stac_framework + sha256: e75d1a1b2fd46c65acbc6ce174c7272aef4eb4020722f09c35fce2b3dadf858e + url: "https://pub.dev" + source: hosted version: "1.0.0" stac_logger: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_logger" - relative: true - source: path + name: stac_logger + sha256: bc3c1cc486d59d2378c1e18bfd9bfa078be564b58d4ae2b3898633c05a02df26 + url: "https://pub.dev" + source: hosted version: "1.1.0" stack_trace: dependency: transitive @@ -986,5 +990,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.9.2 <4.0.0" flutter: ">=3.35.0" diff --git a/examples/movie_app/pubspec.lock b/examples/movie_app/pubspec.lock index 8a4d31768..b395b7e88 100644 --- a/examples/movie_app/pubspec.lock +++ b/examples/movie_app/pubspec.lock @@ -712,30 +712,34 @@ packages: stac: dependency: "direct main" description: - path: "../../packages/stac" - relative: true - source: path + name: stac + sha256: f1a53751157e7882d7218765b6e13016aa345007f2c6b48520c6edb32b4d02d3 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_core: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_core" - relative: true - source: path + name: stac_core + sha256: fd7e618b62b8ea136ec56837a466ab3f639a124e371d18f9d75af8631f4e2980 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_framework: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_framework" - relative: true - source: path + name: stac_framework + sha256: e75d1a1b2fd46c65acbc6ce174c7272aef4eb4020722f09c35fce2b3dadf858e + url: "https://pub.dev" + source: hosted version: "1.0.0" stac_logger: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_logger" - relative: true - source: path + name: stac_logger + sha256: bc3c1cc486d59d2378c1e18bfd9bfa078be564b58d4ae2b3898633c05a02df26 + url: "https://pub.dev" + source: hosted version: "1.1.0" stack_trace: dependency: transitive @@ -906,5 +910,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.9.2 <4.0.0" flutter: ">=3.35.0" diff --git a/examples/stac_gallery/pubspec.lock b/examples/stac_gallery/pubspec.lock index 12d3a1be9..3da2f0ffa 100644 --- a/examples/stac_gallery/pubspec.lock +++ b/examples/stac_gallery/pubspec.lock @@ -776,37 +776,42 @@ packages: stac: dependency: "direct main" description: - path: "../../packages/stac" - relative: true - source: path + name: stac + sha256: f1a53751157e7882d7218765b6e13016aa345007f2c6b48520c6edb32b4d02d3 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_core: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_core" - relative: true - source: path + name: stac_core + sha256: fd7e618b62b8ea136ec56837a466ab3f639a124e371d18f9d75af8631f4e2980 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_framework: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_framework" - relative: true - source: path + name: stac_framework + sha256: e75d1a1b2fd46c65acbc6ce174c7272aef4eb4020722f09c35fce2b3dadf858e + url: "https://pub.dev" + source: hosted version: "1.0.0" stac_logger: - dependency: "direct overridden" + dependency: transitive description: - path: "../../packages/stac_logger" - relative: true - source: path + name: stac_logger + sha256: bc3c1cc486d59d2378c1e18bfd9bfa078be564b58d4ae2b3898633c05a02df26 + url: "https://pub.dev" + source: hosted version: "1.1.0" stac_webview: dependency: "direct main" description: - path: "../../packages/stac_webview" - relative: true - source: path + name: stac_webview + sha256: "6cf9a59a8b7b9aea85e599777a57618365b45f544d0a66916995a9dd4b2ee379" + url: "https://pub.dev" + source: hosted version: "1.0.0" stack_trace: dependency: transitive @@ -1017,5 +1022,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.9.2 <4.0.0" flutter: ">=3.35.0" diff --git a/packages/stac_cli/pubspec.lock b/packages/stac_cli/pubspec.lock index ea1f4bd3b..20428a541 100644 --- a/packages/stac_cli/pubspec.lock +++ b/packages/stac_cli/pubspec.lock @@ -241,6 +241,11 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + flutter: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" frontend_server_client: dependency: transitive description: @@ -353,6 +358,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.12.19" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + url: "https://pub.dev" + source: hosted + version: "0.13.0" meta: dependency: transitive description: @@ -449,6 +462,11 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" source_gen: dependency: transitive description: @@ -492,16 +510,18 @@ packages: stac_core: dependency: "direct main" description: - path: "../stac_core" - relative: true - source: path + name: stac_core + sha256: fd7e618b62b8ea136ec56837a466ab3f639a124e371d18f9d75af8631f4e2980 + url: "https://pub.dev" + source: hosted version: "1.4.0" stac_logger: - dependency: "direct overridden" + dependency: transitive description: - path: "../stac_logger" - relative: true - source: path + name: stac_logger + sha256: bc3c1cc486d59d2378c1e18bfd9bfa078be564b58d4ae2b3898633c05a02df26 + url: "https://pub.dev" + source: hosted version: "1.1.0" stack_trace: dependency: transitive @@ -583,6 +603,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" vm_service: dependency: transitive description: @@ -649,3 +677,4 @@ packages: version: "3.1.3" sdks: dart: ">=3.10.0 <4.0.0" + flutter: ">=1.17.0" From 8c5f423d2638c4293d6db6b684dfa12f2f9b6ef8 Mon Sep 17 00:00:00 2001 From: shourya sonu Date: Wed, 8 Apr 2026 11:42:43 +0530 Subject: [PATCH 4/5] chore: sync lockfiles with Flutter 3.41.6 --- examples/counter_example/pubspec.lock | 8 ++++---- examples/movie_app/pubspec.lock | 8 ++++---- examples/stac_gallery/pubspec.lock | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/counter_example/pubspec.lock b/examples/counter_example/pubspec.lock index 51c2c7e1d..24d756a89 100644 --- a/examples/counter_example/pubspec.lock +++ b/examples/counter_example/pubspec.lock @@ -452,10 +452,10 @@ packages: dependency: transitive description: name: matcher - sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.18" + version: "0.12.19" material_color_utilities: dependency: transitive description: @@ -865,10 +865,10 @@ packages: dependency: transitive description: name: test_api - sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.10" timing: dependency: transitive description: diff --git a/examples/movie_app/pubspec.lock b/examples/movie_app/pubspec.lock index b395b7e88..48b37aed9 100644 --- a/examples/movie_app/pubspec.lock +++ b/examples/movie_app/pubspec.lock @@ -388,10 +388,10 @@ packages: dependency: transitive description: name: matcher - sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.18" + version: "0.12.19" material_color_utilities: dependency: transitive description: @@ -793,10 +793,10 @@ packages: dependency: transitive description: name: test_api - sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.10" typed_data: dependency: transitive description: diff --git a/examples/stac_gallery/pubspec.lock b/examples/stac_gallery/pubspec.lock index 3da2f0ffa..820e330ef 100644 --- a/examples/stac_gallery/pubspec.lock +++ b/examples/stac_gallery/pubspec.lock @@ -428,10 +428,10 @@ packages: dependency: transitive description: name: matcher - sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.18" + version: "0.12.19" material_color_utilities: dependency: transitive description: @@ -865,10 +865,10 @@ packages: dependency: transitive description: name: test_api - sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.10" typed_data: dependency: transitive description: From 3f97deaa96c1bc7745df3b46bf8a5104addce50a Mon Sep 17 00:00:00 2001 From: shourya sonu Date: Tue, 14 Apr 2026 13:27:59 +0530 Subject: [PATCH 5/5] docs: update StacRegistry registration example to use positional argument --- docs/concepts/stac_registry.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/stac_registry.mdx b/docs/concepts/stac_registry.mdx index 40c190c65..fc480d639 100644 --- a/docs/concepts/stac_registry.mdx +++ b/docs/concepts/stac_registry.mdx @@ -82,7 +82,7 @@ If you want to change how a standard widget like `StacText` behaves globally (e. ```dart StacRegistry.instance.register( const MyBrandedTextParser(), - override: true, // This replaces the core "text" parser + true, // This replaces the core "text" parser ); ```