@picked/svelte 0.0.1-dev.1793769511104 → 0.0.1-dev.1793776638554

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.
Files changed (40) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/plugins/devtools/DevToolsExperience.svelte +46 -15
  3. package/dist/plugins/devtools/components/AdaptedToolHost.svelte +9 -3
  4. package/dist/plugins/devtools/customTools.d.ts +16 -7
  5. package/dist/plugins/devtools/customTools.js +1 -1
  6. package/dist/plugins/devtools/derive/answer-display/answer-display.d.ts +1 -1
  7. package/dist/plugins/devtools/derive/answer-display/answer-display.js +1 -1
  8. package/dist/plugins/devtools/derive/guide-sections/guide-sections.js +1 -1
  9. package/dist/plugins/devtools/derive/journey-outline/journey-outline.js +1 -1
  10. package/dist/plugins/devtools/derive/journey-tree/journey-tree.js +1 -1
  11. package/dist/plugins/devtools/derive/persona-builder/persona-builder.js +1 -1
  12. package/dist/plugins/devtools/derive/personas/personas.d.ts +8 -1
  13. package/dist/plugins/devtools/derive/personas/personas.js +1 -1
  14. package/dist/plugins/devtools/derive/plain-language/plain-language.d.ts +20 -23
  15. package/dist/plugins/devtools/derive/plain-language/plain-language.js +1 -1
  16. package/dist/plugins/devtools/derive/plain-logic/plain-logic.d.ts +1 -1
  17. package/dist/plugins/devtools/derive/plain-logic/plain-logic.js +1 -1
  18. package/dist/plugins/devtools/derive/safety-posture/safety-posture.js +1 -1
  19. package/dist/plugins/devtools/options.d.ts +22 -21
  20. package/dist/plugins/devtools/options.js +1 -1
  21. package/dist/plugins/devtools/review/answers/AnswersPanel.svelte +14 -14
  22. package/dist/plugins/devtools/review/guide/GuidePanel.svelte +1 -1
  23. package/dist/plugins/devtools/review/index.d.ts +2 -2
  24. package/dist/plugins/devtools/review/journey/JourneyMap.svelte +16 -14
  25. package/dist/plugins/devtools/review/journey/JourneyPanel.svelte +20 -20
  26. package/dist/plugins/devtools/review/journey/JourneyTimeline.svelte +22 -21
  27. package/dist/plugins/devtools/review/personas/PersonaBuilder.svelte +12 -12
  28. package/dist/plugins/devtools/review/personas/PersonaCard.svelte +7 -2
  29. package/dist/plugins/devtools/review/personas/PersonasPanel.svelte +77 -15
  30. package/dist/plugins/devtools/review/personas/load-persona.d.ts +2 -2
  31. package/dist/plugins/devtools/review/personas/load-persona.js +1 -1
  32. package/dist/plugins/devtools/review/session/SessionPanel.svelte +11 -11
  33. package/dist/plugins/devtools/review/variations/VariationsPanel.svelte +12 -13
  34. package/dist/plugins/devtools/screens/custom-tools/CustomToolsScreen.svelte +14 -22
  35. package/dist/plugins/devtools/screens/experiences/ExperienceDetailsScreen.svelte +2 -2
  36. package/dist/plugins/devtools/screens/features/FeaturesListScreen.svelte +3 -3
  37. package/dist/plugins/devtools/sidebar/Sidebar.svelte +38 -4
  38. package/dist/plugins/devtools/sidebar/nav.d.ts +32 -10
  39. package/dist/plugins/devtools/sidebar/nav.js +1 -1
  40. package/package.json +2 -2
@@ -1,12 +1,11 @@
1
1
  <script lang="ts">
2
2
  /**
3
- * @file The Variations tab: features as named variations, aimed at someone deciding whether a
4
- * variation looks right rather than someone debugging bucketing.
3
+ * @file The Feature flags tab: each feature flag by name, aimed at someone deciding whether a
4
+ * variant looks right.
5
5
  *
6
6
  * The mechanism is the SDK's: `?picked-feature=<id>:<value>` forces an arm on the next page load.
7
- * What changes is the framing — a variation is NAMED, its arms are radio buttons rather than an
8
- * include checkbox plus a value dropdown, and the payoff is a link the reviewer can send to
9
- * someone else so both people look at the same thing.
7
+ * A feature flag is NAMED, its variants are radio buttons, and the payoff is a link the reviewer
8
+ * can send to someone else so both people look at the same thing.
10
9
  */
11
10
  import type { FeatureBucket, Picked } from '@picked/client'
12
11
  import { Badge, Button, Card, CodeBlock, CopyButton, EmptyState, Stack, Text } from '../../ui'
@@ -158,8 +157,8 @@
158
157
  <Stack direction="vertical" gap="medium">
159
158
  {#if $features.length === 0}
160
159
  <EmptyState
161
- message="No variations are running on this site"
162
- hint="When an A/B test or a switched-on feature is published, it appears here and you can force either version."
160
+ message="No feature flags are running on this site"
161
+ hint="When a feature flag is published, it appears here and you can force any of its variants."
163
162
  />
164
163
  {:else}
165
164
  <Card sectioned>
@@ -174,13 +173,13 @@
174
173
  <Badge status="default" size="small">Now: {armLabel(feature, served)}</Badge>
175
174
  {:else}
176
175
  <Button variant="ghost" size="small" onclick={() => resolveBucket(feature)}>
177
- Check which version
176
+ Check which variant
178
177
  </Button>
179
178
  {/if}
180
179
  </div>
181
180
 
182
181
  {#if arms}
183
- <div class="arms" role="group" aria-label="Version of {feature.name}">
182
+ <div class="arms" role="group" aria-label="Variant of {feature.name}">
184
183
  {#each arms as arm, index (index)}
185
184
  <label class="option-label">
186
185
  <input
@@ -198,8 +197,8 @@
198
197
  class="inline-input"
199
198
  type="text"
200
199
  value={chosen[feature.id] ?? ''}
201
- placeholder="Type the version to force"
202
- aria-label="Version of {feature.name}"
200
+ placeholder="Type the variant to force"
201
+ aria-label="Variant of {feature.name}"
203
202
  oninput={(event) => choose(feature.id, event.currentTarget.value)}
204
203
  />
205
204
  {/if}
@@ -221,14 +220,14 @@
221
220
  <Stack direction="vertical" gap="small">
222
221
  {#if chosenCount === 0}
223
222
  <Text size="small" color="subdued">
224
- Pick a version above. The page reloads showing it, and the link below reproduces exactly
223
+ Pick a variant above. The page reloads showing it, and the link below reproduces exactly
225
224
  what you saw for anyone you send it to.
226
225
  </Text>
227
226
  {:else}
228
227
  <CodeBlock code={shareUrl} />
229
228
  <Stack direction="horizontal" gap="small">
230
229
  <Button variant="primary" size="small" onclick={apply} testId="devtools-variations-apply">
231
- Show me this version
230
+ Show me this variant
232
231
  </Button>
233
232
  <CopyButton
234
233
  text={shareUrl}
@@ -1,29 +1,21 @@
1
1
  <script lang="ts">
2
- /** @file The Custom Tools tab: every custom tool not placed `'review'`, as nested tabs. */
2
+ /**
3
+ * @file The Custom Tools page, listed while no tool sits in that group: it says what a custom
4
+ * tool is and links the how-to page.
5
+ */
3
6
  import { getPicked } from '../../../../hooks'
4
- import AdaptedToolHost from '../../components/AdaptedToolHost.svelte'
5
- import Tabs from '../../components/Tabs.svelte'
6
- import { developerTools, readCustomTools } from '../../customTools'
7
7
  import { Button, EmptyState, Stack } from '../../ui'
8
8
 
9
9
  const client = getPicked()
10
- const docsUrl = `${client.documentationSiteUrl}/chrome-extension#custom-tools`
11
- const tools = developerTools(readCustomTools(client))
12
- const tabs = tools.map((tool) => ({
13
- id: tool.id,
14
- label: tool.label,
15
- component: AdaptedToolHost,
16
- props: { tool },
17
- }))
10
+ const docsUrl = `${client.documentationSiteUrl}/how-to/add-a-tool-to-the-devtools`
18
11
  </script>
19
12
 
20
- {#if tabs.length > 0}
21
- <Tabs {tabs} />
22
- {:else}
23
- <Stack direction="vertical" gap="medium" padding="medium" justify="center">
24
- <EmptyState message="No custom tools registered." />
25
- <Button variant="ghost" size="small" href={docsUrl} target="_blank">
26
- Learn how to add custom tools
27
- </Button>
28
- </Stack>
29
- {/if}
13
+ <Stack direction="vertical" gap="medium" padding="medium" justify="center">
14
+ <EmptyState
15
+ message="No custom tools yet"
16
+ hint="A developer can add tools for this site here, such as test accounts or a way to request a change."
17
+ />
18
+ <Button variant="secondary" size="small" href={docsUrl} target="_blank">
19
+ How to add a custom tool
20
+ </Button>
21
+ </Stack>
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- /** @file Detail screen for a single experience, showing its config, target selectors, and decision logic. */
2
+ /** @file Detail screen for a single experience, showing its config, target selectors, and condition. */
3
3
  import type { ExperienceStore } from '@picked/client'
4
4
  import { getPicked } from '../../../../hooks'
5
5
  import { Button, Card, Text, CodeBlock, Stack } from '../../ui'
@@ -36,7 +36,7 @@
36
36
  </div>
37
37
 
38
38
  <div>
39
- <Text weight="semibold">Decision logic</Text>
39
+ <Text weight="semibold">Condition</Text>
40
40
  <CodeBlock code={JSON.stringify($config.decisionLogic, null, 2)} />
41
41
  </div>
42
42
  </Stack>
@@ -132,7 +132,7 @@
132
132
 
133
133
  const columns = [
134
134
  { key: 'include', header: 'Include' },
135
- { key: 'feature', header: 'Feature' },
135
+ { key: 'feature', header: 'Feature flag' },
136
136
  { key: 'currentValue', header: 'Current Value' },
137
137
  { key: 'overrideValue', header: 'Override Value' },
138
138
  ]
@@ -140,8 +140,8 @@
140
140
 
141
141
  <Stack direction="vertical" gap="medium" padding="medium">
142
142
  <Text size="caption" color="subdued">
143
- Override feature flags via URL parameters. Select features below, choose values, then copy the
144
- generated URL. Recipients will see the overridden values on page load.
143
+ Override feature flags via URL parameters. Select feature flags below, choose values, then copy
144
+ the generated URL. Recipients will see the overridden values on page load.
145
145
  </Text>
146
146
 
147
147
  <Card sectioned>
@@ -2,13 +2,16 @@
2
2
  @paired-component apps/dashboard/src/shared/ui/navigation/sidebar-row-classes.ts
3
3
  @design-parity A row mirrors the Dashboard sidebar row: 28px high, text-sm, rounded-md, a 10%
4
4
  current-colour fill when selected and 5% on hover, a label that fades out instead of wrapping.
5
- The Developer row mirrors the Dashboard's folding nav group (sidebar-nav-group.tsx).
5
+ The Custom Tools and Developer rows mirror the Dashboard's folding nav group (sidebar-nav-group.tsx).
6
6
  -->
7
7
  <script lang="ts">
8
- /** @file The devtools sidebar: the main tabs, then the folding Developer group. */
8
+ /**
9
+ * @file The devtools sidebar: the main tabs, the folding Custom Tools group, then the folding
10
+ * Developer group.
11
+ */
9
12
  import { DEVELOPER_LABEL } from '../derive/plain-language'
10
13
  import type { NavModel } from './nav'
11
- import { nextFocusIndex } from './nav'
14
+ import { CUSTOM_TOOLS_GROUP, CUSTOM_TOOLS_LABEL, nextFocusIndex } from './nav'
12
15
  import SidebarRow from './SidebarRow.svelte'
13
16
 
14
17
  interface Props {
@@ -17,11 +20,22 @@
17
20
  selected: string
18
21
  /** Whether the Developer group lists its screens. */
19
22
  developerOpen: boolean
23
+ /** Whether the Custom Tools group lists its tools. */
24
+ customOpen: boolean
20
25
  onSelect: (id: string) => void
21
26
  onToggleDeveloper: () => void
27
+ onToggleCustom: () => void
22
28
  }
23
29
 
24
- const { nav, selected, developerOpen, onSelect, onToggleDeveloper }: Props = $props()
30
+ const {
31
+ nav,
32
+ selected,
33
+ developerOpen,
34
+ customOpen,
35
+ onSelect,
36
+ onToggleDeveloper,
37
+ onToggleCustom,
38
+ }: Props = $props()
25
39
 
26
40
  let list: HTMLElement | undefined = $state()
27
41
 
@@ -57,6 +71,26 @@
57
71
  onPress={() => onSelect(item.id)}
58
72
  />
59
73
  {/each}
74
+ {#if nav.custom.length > 0}
75
+ <SidebarRow
76
+ label={CUSTOM_TOOLS_LABEL}
77
+ testId="devtools-nav-{CUSTOM_TOOLS_GROUP}"
78
+ depth={0}
79
+ expanded={customOpen}
80
+ onPress={onToggleCustom}
81
+ />
82
+ {#if customOpen}
83
+ {#each nav.custom as item (item.id)}
84
+ <SidebarRow
85
+ label={item.label}
86
+ testId="devtools-nav-{item.id}"
87
+ depth={2}
88
+ selected={selected === item.id}
89
+ onPress={() => onSelect(item.id)}
90
+ />
91
+ {/each}
92
+ {/if}
93
+ {/if}
60
94
  <li class="divider" role="presentation"></li>
61
95
  <SidebarRow
62
96
  label={DEVELOPER_LABEL}
@@ -2,8 +2,8 @@
2
2
  import type { CustomToolIcon } from '../customTools';
3
3
  import type { StorageGetter } from '../launcher/launcher';
4
4
  /**
5
- * What a sidebar entry opens: a review tab, a review- or footer-placed custom tool, the Custom Tools
6
- * tab, or a developer screen.
5
+ * What a sidebar entry opens: a review tab, a custom tool, the Custom Tools page shown while no tool
6
+ * sits in that group, or a developer screen.
7
7
  */
8
8
  export type NavKind = 'review' | 'tool' | 'custom-tools' | 'developer';
9
9
  /** One entry of the sidebar: a row, or an icon at its foot. */
@@ -15,9 +15,13 @@ export interface NavItem {
15
15
  /** The glyph of an icon at the sidebar's foot. */
16
16
  icon?: CustomToolIcon;
17
17
  }
18
- /** The sidebar's entries: the top-level tabs, the Developer group's screens, and the foot's icons. */
18
+ /**
19
+ * The sidebar's entries: the top-level tabs, the Custom Tools group's tools, the Developer group's
20
+ * screens, and the foot's icons.
21
+ */
19
22
  export interface NavModel {
20
23
  primary: readonly NavItem[];
24
+ custom: readonly NavItem[];
21
25
  developer: readonly NavItem[];
22
26
  footer: readonly NavItem[];
23
27
  }
@@ -25,17 +29,23 @@ export interface NavModel {
25
29
  export declare const TAB_STORAGE_KEY = "picked-devtools-tab";
26
30
  /** `sessionStorage` key holding `'true'` while the Developer group is open. */
27
31
  export declare const DEVELOPER_OPEN_STORAGE_KEY = "picked-devtools-developer-open";
32
+ /** `sessionStorage` key holding `'false'` while the Custom Tools group is folded. */
33
+ export declare const CUSTOM_TOOLS_OPEN_STORAGE_KEY = "picked-devtools-custom-tools-open";
34
+ /** The label of the Custom Tools row and group. */
35
+ export declare const CUSTOM_TOOLS_LABEL = "Custom Tools";
28
36
  /** The tab a first open lands on, and where a vanished tab falls back to. */
29
37
  export declare const DEFAULT_TAB = "guide";
30
- /** The id of the Custom Tools tab, which holds every tool placed neither `'review'` nor `'footer'`. */
38
+ /** The id of the Custom Tools row listed while no tool sits in that group; it links the how-to page. */
31
39
  export declare const CUSTOM_TOOLS_TAB = "custom-tools";
40
+ /** The id of the row that folds the Custom Tools group. */
41
+ export declare const CUSTOM_TOOLS_GROUP = "custom-tools-group";
32
42
  /** The developer screens, in the order the Developer group lists them. */
33
43
  export declare const DEVELOPER_SCREENS: readonly {
34
44
  id: string;
35
45
  label: string;
36
46
  }[];
37
47
  /**
38
- * The sidebar id of a review- or footer-placed custom tool.
48
+ * The sidebar id of a custom tool.
39
49
  *
40
50
  * @param {string} toolId - The tool's registered id.
41
51
  * @returns {string} Its tab id, prefixed so it never collides with a review tab.
@@ -52,15 +62,18 @@ export declare function toolTabId(toolId: string): string;
52
62
  export declare function developerTabId(screenId: string): string;
53
63
  /** What decides the sidebar's rows. */
54
64
  export interface NavInput {
55
- /** Whether the workspace publishes a feature, which lists Variations. */
65
+ /** Whether the workspace publishes a feature, which lists Feature flags. */
56
66
  variations: boolean;
57
67
  /** The review-placed custom tools, in registration order, each a tab of its own. */
58
68
  tools: readonly {
59
69
  id: string;
60
70
  label: string;
61
71
  }[];
62
- /** Whether any tool sits in the Custom Tools tab, which lists it. */
63
- customTools: boolean;
72
+ /** The unplaced custom tools, in registration order, each a row of the Custom Tools group. */
73
+ customTools: readonly {
74
+ id: string;
75
+ label: string;
76
+ }[];
64
77
  /** The footer-placed custom tools, in registration order, each an icon at the sidebar's foot. */
65
78
  footerTools: readonly {
66
79
  id: string;
@@ -72,8 +85,8 @@ export interface NavInput {
72
85
  * Builds the sidebar's entries.
73
86
  *
74
87
  * @param {NavInput} input - What this session lists.
75
- * @returns {NavModel} The top-level tabs, the Developer group's screens and the foot's icons.
76
- * @example buildNav({ variations: true, tools: [], customTools: false, footerTools: [] })
88
+ * @returns {NavModel} The top-level tabs, the Custom Tools and Developer groups' rows, and the foot's icons.
89
+ * @example buildNav({ variations: true, tools: [], customTools: [], footerTools: [] })
77
90
  */
78
91
  export declare function buildNav(input: NavInput): NavModel;
79
92
  /**
@@ -85,6 +98,15 @@ export declare function buildNav(input: NavInput): NavModel;
85
98
  * @example resolveTab('journey', nav) // 'journey'
86
99
  */
87
100
  export declare function resolveTab(stored: string | null, nav: NavModel): string;
101
+ /**
102
+ * Whether a tab sits inside the Custom Tools group.
103
+ *
104
+ * @param {string} tab - A tab id.
105
+ * @param {NavModel} nav - The sidebar's rows.
106
+ * @returns {boolean} `true` for an unplaced custom tool.
107
+ * @example isInCustomTools('tool:simulator', nav) // true
108
+ */
109
+ export declare function isInCustomTools(tab: string, nav: NavModel): boolean;
88
110
  /**
89
111
  * Whether a tab sits inside the Developer group.
90
112
  *
@@ -1 +1 @@
1
- import{TAB_LABELS as e}from"../derive/plain-language/plain-language.js";var t=`picked-devtools-tab`,n=`picked-devtools-developer-open`,r=`guide`,i=`custom-tools`,a=[{id:`project`,label:`Project`},{id:`components`,label:`Components`},{id:`config`,label:`Config`},{id:`content`,label:`Content`},{id:`events`,label:`Events`},{id:`experience-instances`,label:`Experience Instances`},{id:`experiences`,label:`Experiences`},{id:`features`,label:`Features`},{id:`fields`,label:`Fields`},{id:`frameworks`,label:`Frameworks`},{id:`history`,label:`History`},{id:`identity`,label:`Identity`},{id:`predicates`,label:`Predicates`},{id:`responses`,label:`Responses`}];function o(e){return`tool:${e}`}function s(e){return`dev:${e}`}function c(t){let n=[{id:`guide`,label:e.guide,kind:`review`},{id:`session`,label:e.session,kind:`review`},{id:`answers`,label:e.answers,kind:`review`},{id:`journey`,label:e.journey,kind:`review`},{id:`personas`,label:e.personas,kind:`review`}];t.variations&&n.push({id:`variations`,label:e.variations,kind:`review`});let r=t.tools.map(e=>({id:o(e.id),label:e.label,kind:`tool`})),c=a.map(e=>({id:s(e.id),label:e.label,kind:`developer`})),l=t.customTools?[{id:i,label:`Custom Tools`,kind:`custom-tools`}]:[],u=t.footerTools.map(e=>({id:o(e.id),label:e.label,kind:`tool`,icon:e.icon??`wrench`}));return{primary:[...n,...r,...l],developer:c,footer:u}}function l(e,t){return e===null?r:[...t.primary,...t.developer,...t.footer].some(t=>t.id===e)?e:r}function u(e,t){return t.developer.some(t=>t.id===e)}function d(e,t,n){let r=Math.max(0,n-1);switch(e){case`ArrowDown`:return Math.min(t+1,r);case`ArrowUp`:return Math.max(t-1,0);case`Home`:return 0;case`End`:return r;default:return null}}function f(e,t){try{return e().getItem(t)}catch{return null}}function p(e,t,n){try{e().setItem(t,n)}catch{}}export{i as CUSTOM_TOOLS_TAB,r as DEFAULT_TAB,n as DEVELOPER_OPEN_STORAGE_KEY,a as DEVELOPER_SCREENS,t as TAB_STORAGE_KEY,c as buildNav,s as developerTabId,u as isInDeveloper,d as nextFocusIndex,f as readStored,l as resolveTab,o as toolTabId,p as writeStored};
1
+ import{TAB_LABELS as e}from"../derive/plain-language/plain-language.js";var t=`picked-devtools-tab`,n=`picked-devtools-developer-open`,r=`picked-devtools-custom-tools-open`,i=`Custom Tools`,a=`guide`,o=`custom-tools`,s=`custom-tools-group`,c=[{id:`project`,label:`Project`},{id:`components`,label:`Components`},{id:`config`,label:`Config`},{id:`content`,label:`Content`},{id:`events`,label:`Events`},{id:`experience-instances`,label:`Experience Instances`},{id:`experiences`,label:`Experiences`},{id:`features`,label:`Feature flags`},{id:`fields`,label:`Fields`},{id:`frameworks`,label:`Frameworks`},{id:`history`,label:`History`},{id:`identity`,label:`Identity`},{id:`predicates`,label:`Predicates`},{id:`responses`,label:`Responses`}];function l(e){return`tool:${e}`}function u(e){return`dev:${e}`}function d(t){let n=[{id:`guide`,label:e.guide,kind:`review`},{id:`session`,label:e.session,kind:`review`},{id:`answers`,label:e.answers,kind:`review`},{id:`journey`,label:e.journey,kind:`review`},{id:`personas`,label:e.personas,kind:`review`}];t.variations&&n.push({id:`variations`,label:e.variations,kind:`review`});let r=e=>({id:l(e.id),label:e.label,kind:`tool`}),a=t.tools.map(r),s=t.customTools.map(r),d=c.map(e=>({id:u(e.id),label:e.label,kind:`developer`})),f=s.length===0?[{id:o,label:i,kind:`custom-tools`}]:[],p=t.footerTools.map(e=>({id:l(e.id),label:e.label,kind:`tool`,icon:e.icon??`wrench`}));return{primary:[...n,...a,...f],custom:s,developer:d,footer:p}}function f(e,t){return e===null?a:[...t.primary,...t.custom,...t.developer,...t.footer].some(t=>t.id===e)?e:a}function p(e,t){return t.custom.some(t=>t.id===e)}function m(e,t){return t.developer.some(t=>t.id===e)}function h(e,t,n){let r=Math.max(0,n-1);switch(e){case`ArrowDown`:return Math.min(t+1,r);case`ArrowUp`:return Math.max(t-1,0);case`Home`:return 0;case`End`:return r;default:return null}}function g(e,t){try{return e().getItem(t)}catch{return null}}function _(e,t,n){try{e().setItem(t,n)}catch{}}export{s as CUSTOM_TOOLS_GROUP,i as CUSTOM_TOOLS_LABEL,r as CUSTOM_TOOLS_OPEN_STORAGE_KEY,o as CUSTOM_TOOLS_TAB,a as DEFAULT_TAB,n as DEVELOPER_OPEN_STORAGE_KEY,c as DEVELOPER_SCREENS,t as TAB_STORAGE_KEY,d as buildNav,u as developerTabId,p as isInCustomTools,m as isInDeveloper,h as nextFocusIndex,g as readStored,f as resolveTab,l as toolTabId,_ as writeStored};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picked/svelte",
3
- "version": "0.0.1-dev.1793769511104",
3
+ "version": "0.0.1-dev.1793776638554",
4
4
  "dependencies": {
5
5
  "d3": "^7.9.0"
6
6
  },
@@ -113,7 +113,7 @@
113
113
  "license": "SEE LICENSE IN LICENSE",
114
114
  "module": "./dist/index.js",
115
115
  "peerDependencies": {
116
- "@picked/client": "0.0.1-dev.1793769511104",
116
+ "@picked/client": "0.0.1-dev.1793776638554",
117
117
  "effector": "^23.4.4",
118
118
  "svelte": "^5.55.7"
119
119
  },