@capgo/capacitor-sheets 8.0.3 → 8.0.5

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/README.md CHANGED
@@ -124,6 +124,26 @@ Each framework example opens the same 16-usecase gallery, so StackBlitz is usefu
124
124
  - [Svelte playground](https://stackblitz.com/github/Cap-go/capacitor-sheets?file=examples/svelte-app/src/App.svelte&startScript=stackblitz-svelte)
125
125
  - [Solid playground](https://stackblitz.com/github/Cap-go/capacitor-sheets?file=examples/solid-app/src/main.tsx&startScript=stackblitz-solid)
126
126
 
127
+ ## Mobile Test App
128
+
129
+ The repo includes a Capacitor app that wraps the React gallery so the sheets can be tested on real iOS and Android devices. The app id is `app.capgo.capacitor.sheets`.
130
+
131
+ ```bash
132
+ npm run build:mobile
133
+ npx cap run ios
134
+ npx cap run android
135
+ ```
136
+
137
+ Capgo OTA uploads use the same built gallery:
138
+
139
+ ```bash
140
+ npx @capgo/cli@latest app add app.capgo.capacitor.sheets --name "Capgo Sheets"
141
+ npm run deploy:capgo:dev
142
+ npm run deploy:capgo
143
+ ```
144
+
145
+ Create the Capgo app once before the first upload. GitHub Actions also include a Capgo deploy workflow. Tag builds deploy to `production`, alpha tags deploy to `dev`, and manual runs can choose either channel. Set `CAPGO_TOKEN` in repository secrets before running it.
146
+
127
147
  ## Features
128
148
 
129
149
  - **Framework agnostic** custom elements: no React runtime dependency in the core package.
@@ -768,13 +768,15 @@ var SheetController = class {
768
768
  this.root = root;
769
769
  this.options = readOptionsFromElement(root);
770
770
  this.id = this.options.componentId || root.id || createId("cap-sheet");
771
- if (!root.id) root.id = this.id;
772
771
  }
773
772
  /** Connect the controller to the DOM and initialize current state. */
774
773
  connect() {
775
774
  if (this.connected) return;
776
775
  this.connected = true;
777
- this.configure(readOptionsFromElement(this.root));
776
+ const elementOptions = readOptionsFromElement(this.root);
777
+ this.id = elementOptions.componentId || this.root.id || this.id;
778
+ if (!this.root.id) this.root.id = this.id;
779
+ this.configure(elementOptions);
778
780
  const nextPresented = this.options.presented ?? this.options.defaultPresented ?? false;
779
781
  this.activeDetent = this.resolveInitialDetent();
780
782
  this.presented = nextPresented;