@trdrs/quickcharts 1.0.1 → 1.2.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @trdrs/quickcharts
2
2
 
3
+ ## 1.2.0
4
+
5
+ Hosts can supply scoped legend rows and open a named indicator collection. Chart dialogs and replay controls animate their opening and closing.
6
+
7
+ ## 1.1.0
8
+
9
+ The symbol search can name what it is limited to, with a host-painted mark, beside the asset-class filters (`search.scope`, `SearchScope`).
10
+
3
11
  ## 1.0.1
4
12
 
5
13
  Emoji drawings and the picker use bundled Twemoji artwork without a host asset server.
package/README.md CHANGED
@@ -1101,6 +1101,8 @@ you receive a blob and decide.
1101
1101
  ### Indicator browser content
1102
1102
 
1103
1103
  The Indicators button and `commands.execute('chart.indicators.open')` open the same browser.
1104
+ Pass `{ collection: 'saved' }` as the command argument to open a declared host collection directly.
1105
+ An unknown collection falls back to the shipped catalog. Reopening an already open browser keeps its current selection and query.
1104
1106
  It lists the 23 shipped definitions, with search and Favorites. Add creates a new instance on the
1105
1107
  currently active chart and keeps the browser open. Favorites use your `ChartStorage` port.
1106
1108
 
@@ -1280,18 +1282,25 @@ in `ui`; hiding one removes the control and leaves its commands.
1280
1282
  ```ts
1281
1283
  import { createChart, createUdfDatafeed } from '@trdrs/quickcharts'
1282
1284
 
1285
+ declare const portfolio: { name: string } | null
1286
+
1283
1287
  const trimmed = createChart({
1284
1288
  container,
1285
1289
  datafeed: createUdfDatafeed({ baseUrl: 'https://feed.example.com/udf' }),
1286
1290
  ui: { navigation: false, topBar: { layouts: false, image: false } },
1287
- search: { classNames: { future: 'Futures', crypto: 'Crypto' } },
1291
+ search: {
1292
+ classNames: { future: 'Futures', crypto: 'Crypto' },
1293
+ scope: () => (portfolio ? { label: portfolio.name } : null),
1294
+ },
1288
1295
  preferences: { savedTimeframes: ['1m', '15m', '1h', '1d'], layoutAutosave: true },
1289
1296
  })
1290
1297
  trimmed.on('saveNeeded', () => note('the layout has unsaved changes'))
1291
1298
  ```
1292
1299
 
1293
1300
  The search dialog's class chips come from your datafeed's `config().classes`, named through
1294
- `search.classNames`; a class you do not name wears its token. The range presets read your
1301
+ `search.classNames`; a class you do not name wears its token. `search.scope` names what your
1302
+ search is limited to at the far edge of that strip, with the mark its `mark` paints; your datafeed
1303
+ decides what is found. The range presets read your
1295
1304
  datafeed's optional `earliestBar(symbol)`: a preset deeper than the history you serve is disabled.
1296
1305
 
1297
1306
  ```ts
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.1",
2
+ "version": "1.2.0",
3
3
  "styles": [
4
4
  {
5
5
  "id": "candles",