@dryui/ui 0.1.12 → 0.1.13

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.
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import { onDestroy } from 'svelte';
3
+ import { onDestroy, untrack } from 'svelte';
4
4
  import { getMapCtx, setMarkerCtx } from './context.svelte.js';
5
5
  import type { LngLat, MapMarkerInstance, MarkerOptions } from '@dryui/primitives';
6
6
 
@@ -30,9 +30,10 @@
30
30
  $effect(() => {
31
31
  if (!ctx.loaded || !ctx.map || !ctx.lib) return;
32
32
 
33
- if (markerInstance) {
34
- markerInstance.remove();
35
- markerInstance = null;
33
+ // Remove previous marker without tracking markerInstance as a dependency
34
+ const prev = untrack(() => markerInstance);
35
+ if (prev) {
36
+ prev.remove();
36
37
  }
37
38
 
38
39
  const opts: MarkerOptions = {};
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import { onDestroy } from 'svelte';
3
+ import { onDestroy, untrack } from 'svelte';
4
4
  import { getMapCtx, getMarkerCtx } from './context.svelte.js';
5
5
  import type { MapPopupInstance, PopupOptions } from '@dryui/primitives';
6
6
 
@@ -29,9 +29,10 @@
29
29
  $effect(() => {
30
30
  if (!mapCtx.loaded || !mapCtx.map || !mapCtx.lib || !markerCtx.marker || !contentEl) return;
31
31
 
32
- if (popupInstance) {
33
- popupInstance.remove();
34
- popupInstance = null;
32
+ // Remove previous popup without tracking popupInstance as a dependency
33
+ const prev = untrack(() => popupInstance);
34
+ if (prev) {
35
+ prev.remove();
35
36
  }
36
37
 
37
38
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dryui/ui",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "author": "Rob Balfre",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1504,7 +1504,7 @@
1504
1504
  "thumbnail:create": "bun scripts/create-thumbnail.ts"
1505
1505
  },
1506
1506
  "dependencies": {
1507
- "@dryui/primitives": "^0.1.12"
1507
+ "@dryui/primitives": "^0.1.13"
1508
1508
  },
1509
1509
  "peerDependencies": {
1510
1510
  "svelte": "^5.55.1"
@@ -112,13 +112,20 @@ The test: search your markup for raw `<input`, `<select>`, `<dialog>`, `<button>
112
112
  - Codex: `$skill-installer install https://github.com/rob-balfre/dryui/tree/main/packages/ui/skills/dryui` then `codex mcp add dryui -- npx -y @dryui/mcp`
113
113
  - Copilot/Cursor/Windsurf: `npx degit rob-balfre/dryui/packages/ui/skills/dryui .agents/skills/dryui` + add MCP config (see https://dryui.dev/tools)
114
114
 
115
- **3. Run the install planner** — it detects your project and returns a tailored step-by-step plan:
115
+ **3. Bootstrap the project** — `init` detects your project state and applies whatever is missing:
116
116
 
117
117
  ```
118
- npx -y @dryui/cli install --toon
118
+ npx -y @dryui/cli init
119
119
  ```
120
120
 
121
- Execute each `"pending"` step. Then verify: `npx -y @dryui/cli detect --toon` output should show `project: ready`.
121
+ **New project from scratch?** Pass a directory name to scaffold SvelteKit + DryUI in one step:
122
+
123
+ ```
124
+ npx -y @dryui/cli init my-app
125
+ cd my-app && npm run dev
126
+ ```
127
+
128
+ This works for greenfield (empty directory), brownfield (existing non-SvelteKit project), and existing SvelteKit projects. Verify: `npx -y @dryui/cli detect --toon` — output should show `project: ready`.
122
129
 
123
130
  ### Manual setup
124
131
 
@@ -160,6 +167,7 @@ Use these to look up APIs, discover components, plan setup, and validate code.
160
167
  All commands support `--toon` for token-optimized agent output and `--full` to disable truncation.
161
168
 
162
169
  ```bash
170
+ bunx @dryui/cli init [path] [--pm bun] # Bootstrap SvelteKit + DryUI project
163
171
  bunx @dryui/cli info <component> --toon # Look up component API
164
172
  bunx @dryui/cli compose "date input" --toon # Composition guidance
165
173
  bunx @dryui/cli detect [path] --toon # Check project setup