@picked/svelte 0.0.1-dev.1771907441854 → 0.0.1-dev.1771981674305
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/_virtual/preload-helper.js +1 -0
- package/dist/component.d.ts +3 -3
- package/dist/plugins/devtools/DevToolsExperience.svelte +140 -1
- package/dist/plugins/devtools/plugin.d.ts +12 -4
- package/dist/plugins/devtools/plugin.js +1 -1
- package/dist/render/browser.js +1 -1
- package/dist/render/server.js +1 -1
- package/package.json +2 -2
- package/dist/plugins/devtools/experience.d.ts +0 -1
- package/dist/plugins/devtools/experience.js +0 -1
- package/dist/plugins/devtools/ui/tokens.css.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const p="modulepreload",v=function(l){return"/"+l},u={},y=function(d,c,E){let i=Promise.resolve();if(c&&c.length>0){let f=function(e){return Promise.all(e.map(o=>Promise.resolve(o).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),t=r?.nonce||r?.getAttribute("nonce");i=f(c.map(e=>{if(e=v(e),e in u)return;u[e]=!0;const o=e.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${s}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":p,o||(n.as="script"),n.crossOrigin="",n.href=e,t&&n.setAttribute("nonce",t),document.head.appendChild(n),o)return new Promise((m,h)=>{n.addEventListener("load",m),n.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${e}`)))})}))}function a(r){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=r,window.dispatchEvent(t),!t.defaultPrevented)throw r}return i.then(r=>{for(const t of r||[])t.status==="rejected"&&a(t.reason);return d().catch(a)})};export{y as __vitePreload};
|
package/dist/component.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AdaptedComponent, AdaptedComponentStyle } from '@picked/client';
|
|
1
|
+
import { AdaptedComponent, AdaptedComponentStyle, LazyComponentLoader } from '@picked/client';
|
|
2
2
|
import { Component } from 'svelte';
|
|
3
3
|
export type ComponentWithProps = Component<any>;
|
|
4
4
|
export declare const adaptSvelteComponent: (component: ComponentWithProps | Promise<{
|
|
5
5
|
default: ComponentWithProps;
|
|
6
|
-
}>, style?: AdaptedComponentStyle) => AdaptedComponent<"svelte", ComponentWithProps | Promise<{
|
|
6
|
+
}> | LazyComponentLoader<ComponentWithProps>, style?: AdaptedComponentStyle) => AdaptedComponent<"svelte", ComponentWithProps | Promise<{
|
|
7
7
|
default: ComponentWithProps;
|
|
8
|
-
}>>;
|
|
8
|
+
}> | LazyComponentLoader<ComponentWithProps>>;
|
|
9
9
|
export declare const isValidAdaptedComponent: (component: AdaptedComponent<string, unknown>) => component is AdaptedComponent<"svelte", ComponentWithProps>;
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
class="floating-button"
|
|
127
127
|
onclick={() => experience.open()}
|
|
128
128
|
aria-label="Open Picked Devtools"
|
|
129
|
-
title="Open Picked Devtools
|
|
129
|
+
title="Open Picked Devtools"
|
|
130
130
|
>
|
|
131
131
|
<PickedIcon height={25} width={25}/>
|
|
132
132
|
</button>
|
|
@@ -139,6 +139,80 @@
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.devtools {
|
|
142
|
+
/* Colors — match Tailwind's default palette exactly */
|
|
143
|
+
--color-blue-500: #3b82f6;
|
|
144
|
+
--color-blue-600: #2563eb;
|
|
145
|
+
--color-blue-700: #1d4ed8;
|
|
146
|
+
--color-blue-800: #1e40af;
|
|
147
|
+
--color-gray-50: #f9fafb;
|
|
148
|
+
--color-gray-100: #f3f4f6;
|
|
149
|
+
--color-gray-200: #e5e7eb;
|
|
150
|
+
--color-gray-300: #d1d5db;
|
|
151
|
+
--color-gray-500: #6b7280;
|
|
152
|
+
--color-gray-600: #4b5563;
|
|
153
|
+
--color-gray-700: #374151;
|
|
154
|
+
--color-gray-900: #111827;
|
|
155
|
+
--color-red-500: #ef4444;
|
|
156
|
+
--color-red-600: #dc2626;
|
|
157
|
+
--color-red-700: #b91c1c;
|
|
158
|
+
--color-red-800: #991b1b;
|
|
159
|
+
--color-green-100: #dcfce7;
|
|
160
|
+
--color-green-700: #15803d;
|
|
161
|
+
--color-green-800: #166534;
|
|
162
|
+
--color-yellow-100: #fef9c3;
|
|
163
|
+
--color-yellow-700: #a16207;
|
|
164
|
+
--color-yellow-800: #854d0e;
|
|
165
|
+
--color-white: #ffffff;
|
|
166
|
+
--color-black: #000000;
|
|
167
|
+
|
|
168
|
+
/* Typography — match Tailwind's type scale */
|
|
169
|
+
--text-xs: 0.75rem;
|
|
170
|
+
--text-sm: 0.875rem;
|
|
171
|
+
--text-base: 1rem;
|
|
172
|
+
--text-lg: 1.125rem;
|
|
173
|
+
--text-xl: 1.25rem;
|
|
174
|
+
--text-2xl: 1.5rem;
|
|
175
|
+
--font-normal: 400;
|
|
176
|
+
--font-medium: 500;
|
|
177
|
+
--font-semibold: 600;
|
|
178
|
+
|
|
179
|
+
/* Spacing — match Tailwind's spacing scale */
|
|
180
|
+
--space-0: 0;
|
|
181
|
+
--space-0-5: 0.125rem;
|
|
182
|
+
--space-1: 0.25rem;
|
|
183
|
+
--space-1-5: 0.375rem;
|
|
184
|
+
--space-2: 0.5rem;
|
|
185
|
+
--space-2-5: 0.625rem;
|
|
186
|
+
--space-3: 0.75rem;
|
|
187
|
+
--space-4: 1rem;
|
|
188
|
+
--space-5: 1.25rem;
|
|
189
|
+
--space-6: 1.5rem;
|
|
190
|
+
--space-8: 2rem;
|
|
191
|
+
|
|
192
|
+
/* Radii */
|
|
193
|
+
--radius-sm: 0.125rem;
|
|
194
|
+
--radius-md: 0.375rem;
|
|
195
|
+
--radius-lg: 0.5rem;
|
|
196
|
+
--radius-xl: 0.75rem;
|
|
197
|
+
--radius-full: 9999px;
|
|
198
|
+
|
|
199
|
+
/* Shadows */
|
|
200
|
+
--shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
|
|
201
|
+
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
202
|
+
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
203
|
+
|
|
204
|
+
/* Focus ring — matches dashboard's ring-2 ring-blue-500 ring-offset-2 */
|
|
205
|
+
--ring-color: var(--color-blue-500);
|
|
206
|
+
--ring-width: 2px;
|
|
207
|
+
--ring-offset: 2px;
|
|
208
|
+
|
|
209
|
+
/* Base typography reset */
|
|
210
|
+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
211
|
+
'Helvetica Neue', Arial, sans-serif;
|
|
212
|
+
font-size: var(--text-sm);
|
|
213
|
+
line-height: 1.5;
|
|
214
|
+
color: var(--color-gray-900);
|
|
215
|
+
|
|
142
216
|
position: fixed;
|
|
143
217
|
inset: 0;
|
|
144
218
|
z-index: 999999999;
|
|
@@ -252,7 +326,72 @@
|
|
|
252
326
|
}
|
|
253
327
|
}
|
|
254
328
|
|
|
329
|
+
/** Compact inline form elements for use within table cells */
|
|
330
|
+
.devtools :global(.inline-select),
|
|
331
|
+
.devtools :global(.inline-input) {
|
|
332
|
+
font-size: var(--text-xs);
|
|
333
|
+
padding: var(--space-0-5) var(--space-1);
|
|
334
|
+
border: 1px solid var(--color-gray-300);
|
|
335
|
+
border-radius: var(--radius-sm);
|
|
336
|
+
font-family: inherit;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.devtools :global(.inline-input) {
|
|
340
|
+
width: 100%;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.devtools :global(.inline-select:focus),
|
|
344
|
+
.devtools :global(.inline-input:focus) {
|
|
345
|
+
outline: none;
|
|
346
|
+
box-shadow: 0 0 0 var(--ring-width) var(--ring-color);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/** Textarea elements within devtools */
|
|
350
|
+
.devtools :global(textarea) {
|
|
351
|
+
width: 100%;
|
|
352
|
+
min-height: 60px;
|
|
353
|
+
font-family: monospace;
|
|
354
|
+
font-size: var(--text-xs);
|
|
355
|
+
padding: var(--space-1);
|
|
356
|
+
border: 1px solid var(--color-gray-300);
|
|
357
|
+
border-radius: var(--radius-md);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.devtools :global(textarea:focus) {
|
|
361
|
+
outline: none;
|
|
362
|
+
box-shadow: 0 0 0 var(--ring-width) var(--ring-color);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/** Event detail panel styling */
|
|
366
|
+
.devtools :global(.details-cell) {
|
|
367
|
+
background-color: var(--color-gray-50);
|
|
368
|
+
padding: var(--space-4);
|
|
369
|
+
border-left: 3px solid var(--color-blue-500);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/** Expand/collapse icon for table rows */
|
|
373
|
+
.devtools :global(.expand-icon) {
|
|
374
|
+
margin-right: var(--space-2);
|
|
375
|
+
display: inline-block;
|
|
376
|
+
width: 12px;
|
|
377
|
+
}
|
|
255
378
|
|
|
379
|
+
/** Clickable table rows (e.g., expandable event rows) */
|
|
380
|
+
.devtools :global(.event-row) {
|
|
381
|
+
cursor: pointer;
|
|
382
|
+
}
|
|
256
383
|
|
|
384
|
+
/** Centered checkbox cell in tables */
|
|
385
|
+
.devtools :global(.include-cell) {
|
|
386
|
+
text-align: center;
|
|
387
|
+
width: 2.5rem;
|
|
388
|
+
}
|
|
257
389
|
|
|
390
|
+
/** Inline option label for checkbox/radio lists in table cells */
|
|
391
|
+
.devtools :global(.option-label) {
|
|
392
|
+
display: flex;
|
|
393
|
+
align-items: center;
|
|
394
|
+
gap: var(--space-2);
|
|
395
|
+
cursor: pointer;
|
|
396
|
+
}
|
|
258
397
|
</style>
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { Plugin } from '@picked/client';
|
|
2
|
+
export interface SvelteDevtoolsPluginOptions {
|
|
3
|
+
/**
|
|
4
|
+
* When `true`, the devtools experience launches automatically on page load.
|
|
5
|
+
* When `false`, devtools can only be opened via the Picked Chrome extension.
|
|
6
|
+
*
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* with the client's experience data.
|
|
12
|
+
* Registers the devtools experience for on-demand loading via the Chrome DevTools extension.
|
|
13
|
+
* The devtools component is lazily loaded — it is never included in the initial bundle.
|
|
6
14
|
*/
|
|
7
|
-
export declare const svelteDevtoolsPlugin: () => Plugin[];
|
|
15
|
+
export declare const svelteDevtoolsPlugin: (options?: SvelteDevtoolsPluginOptions) => Plugin[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{__vitePreload as t}from"../../_virtual/preload-helper.js";import{lazyComponent as n}from"@picked/client";import{createExperience as r,createExperiencePlugin as i}from"@picked/client/plugins/create-experience";import{adaptSvelteComponent as l}from"../../component.js";const d=o=>{const e=r({id:"devtools",name:"Picked Devtools",condition:o?.enabled??!1,initializeOpen:!1,targets:[{selector:"body",placement:"append"}],component:l(n(()=>t(()=>import("./DevToolsExperience.svelte"),[])))});return e.addStep({label:"Tools"}),[i({experiences:[e]})]};export{d as svelteDevtoolsPlugin};
|
package/dist/render/browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mount as
|
|
1
|
+
import{isLazyLoader as p}from"@picked/client";import{mount as u}from"svelte";import{isValidAdaptedComponent as d}from"../component.js";import{CLIENT_CONTEXT_KEY as f,EXPERIENCE_CONTEXT_KEY as E}from"../context.js";import{mergeArrays as l}from"../utils/array.js";import y from"../utils/ErrorBoundary.svelte";function C(n,t){return new Map([[f,n],[E,t]])}const k=async(n,t,s,i,c)=>{if(!d(t))throw new Error("The component is invalid.");const m=l(t.style?.sheets,c.stylesheets),a=l(t.style?.css,c.css);m.length&&m.forEach(r=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e.setAttribute("type","text/css"),e.setAttribute("picked-injected","true"),n.appendChild(e)}),a.length&&a.forEach(r=>{const e=document.createElement("style");e.textContent=r,e.setAttribute("type","text/css"),e.setAttribute("picked-injected","true"),n.appendChild(e)});const o=r=>{u(y,{target:n,props:{component:r,componentProps:{client:s,experience:i}},context:C(s,i)})};if(p(t.component)){const{default:r}=await t.component.load();o(r);return}if(t.component instanceof Promise){const{default:r}=await t.component;o(r);return}o(t.component)},N=n=>{};export{C as createContext,k as renderSvelteComponent,N as unRenderSvelteComponent};
|
package/dist/render/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{render as
|
|
1
|
+
import{isLazyLoader as m}from"@picked/client";import{render as l}from"svelte/server";import{isValidAdaptedComponent as h}from"../component.js";import{CLIENT_CONTEXT_KEY as f,EXPERIENCE_CONTEXT_KEY as p}from"../context.js";import{mergeArrays as n}from"../utils/array.js";function c(e,t){return new Map([[f,e],[p,t]])}const w=async(e,t,o,a)=>{if(!h(e))throw new Error("The component is invalid.");const d=n(e.style?.sheets,a.stylesheets),i=n(e.style?.css,a.css);let s;m(e.component)?s=(await e.component.load()).default:e.component instanceof Promise?s=(await e.component).default:s=e.component;const r=l(s,{props:{client:t,experience:o},context:c(t,o)});return{stylesheets:d,css:i,head:r.head,html:r.html,body:r.body,hashes:r.hashes}};export{c as createContext,w as staticRenderSvelteComponent};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@picked/svelte",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.1771981674305",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"d3": "^7.9.0"
|
|
6
6
|
},
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"module": "./dist/index.js",
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@picked/client": "0.0.1-dev.
|
|
89
|
+
"@picked/client": "0.0.1-dev.1771981674305",
|
|
90
90
|
"effector": "^23.3.0",
|
|
91
91
|
"svelte": "^5.34.3"
|
|
92
92
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const devtoolsExperience: import('@picked/client/plugins/create-experience').SerializableExperience;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createExperience as e}from"@picked/client/plugins/create-experience";import{adaptSvelteComponent as o}from"../../component.js";import t from"./DevToolsExperience.svelte";import p from"./ui/tokens.css.js";const r=e({id:"devtools",name:"Picked Devtools",decide:{},targets:[{selector:"body",placement:"append"}],component:o(t,{css:[p]})});r.addStep({label:"Tools"});export{r as devtoolsExperience};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=".devtools{--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-blue-800: #1e40af;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-900: #111827;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-red-800: #991b1b;--color-green-100: #dcfce7;--color-green-700: #15803d;--color-green-800: #166534;--color-yellow-100: #fef9c3;--color-yellow-700: #a16207;--color-yellow-800: #854d0e;--color-white: #ffffff;--color-black: #000000;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-card: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ring-color: var(--color-blue-500);--ring-width: 2px;--ring-offset: 2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-sm);line-height:1.5;color:var(--color-gray-900)}.devtools .inline-select,.devtools .inline-input{font-size:var(--text-xs);padding:var(--space-0-5) var(--space-1);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-family:inherit}.devtools .inline-input{width:100%}.devtools .inline-select:focus,.devtools .inline-input:focus{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.devtools textarea{width:100%;min-height:60px;font-family:monospace;font-size:var(--text-xs);padding:var(--space-1);border:1px solid var(--color-gray-300);border-radius:var(--radius-md)}.devtools textarea:focus{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.devtools .details-cell{background-color:var(--color-gray-50);padding:var(--space-4);border-left:3px solid var(--color-blue-500)}.devtools .expand-icon{margin-right:var(--space-2);display:inline-block;width:12px}.devtools .event-row{cursor:pointer}.devtools .include-cell{text-align:center;width:2.5rem}.devtools .option-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}";export{e as default};
|