@stellar-expert/ui-framework 1.21.0 → 1.21.1

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 (76) hide show
  1. package/account/account-address.js +6 -6
  2. package/account/signer-key.js +1 -1
  3. package/api/explorer-api-hooks.js +4 -4
  4. package/api/explorer-api-paginated-list-hooks.js +4 -4
  5. package/api/explorer-tx-api.js +3 -3
  6. package/api/ledger-stream.js +2 -2
  7. package/asset/amount.js +2 -2
  8. package/asset/asset-icon.js +2 -2
  9. package/asset/asset-issuer.js +2 -2
  10. package/asset/asset-link.js +6 -6
  11. package/asset/asset-list-hooks.js +3 -3
  12. package/asset/asset-meta-hooks.js +3 -3
  13. package/asset/asset-selector.js +3 -3
  14. package/charts/axis/axis.js +3 -3
  15. package/charts/axis/tick-positioner.js +1 -1
  16. package/charts/chart-default-options.js +1 -1
  17. package/charts/chart-options-builder.js +2 -2
  18. package/charts/chart.js +5 -5
  19. package/charts/core/animate.js +1 -1
  20. package/charts/core/chart.js +13 -13
  21. package/charts/core/options.js +1 -1
  22. package/charts/globals.js +5 -5
  23. package/charts/index.js +2 -2
  24. package/charts/interaction/tooltip.js +2 -2
  25. package/charts/pie/pie-chart.js +2 -2
  26. package/charts/polar/polar-chart.js +2 -2
  27. package/charts/series/area-series.js +3 -3
  28. package/charts/series/candlestick-series.js +2 -2
  29. package/charts/series/column-series.js +3 -3
  30. package/charts/series/index.js +4 -4
  31. package/charts/series/line-series.js +3 -3
  32. package/charts/series/series.js +1 -1
  33. package/charts/stock/data-grouping.js +1 -1
  34. package/charts/stock/navigator.js +3 -3
  35. package/charts/stock/range-selector.js +1 -1
  36. package/claimable-balance/claimable-balance-claimants.js +2 -2
  37. package/claimable-balance/claimable-balance-id.js +1 -1
  38. package/contract/contract-api.js +2 -2
  39. package/contract/invocation-info-view.js +6 -6
  40. package/contract/sc-val.js +1 -1
  41. package/controls/dropdown.js +1 -1
  42. package/controls/info-tooltip.js +1 -1
  43. package/controls/tabs.js +1 -1
  44. package/controls/update-highlighter.js +1 -1
  45. package/date/utc-timestamp.js +1 -1
  46. package/directory/directory-hooks.js +2 -2
  47. package/effect/effect-description.js +9 -9
  48. package/effect/op-effects-view.js +2 -2
  49. package/errors/error-boundary.js +1 -1
  50. package/filter/editors/account-filter-view.js +2 -2
  51. package/filter/editors/asset-filter-view.js +2 -2
  52. package/filter/editors/timestamp-filter-view.js +3 -3
  53. package/filter/editors/type-filter-view.js +1 -1
  54. package/filter/filter-editors.js +6 -6
  55. package/filter/filter-view.js +2 -2
  56. package/horizon/horizon-account-helpers.js +1 -1
  57. package/horizon/horizon-ledger-helpers.js +1 -1
  58. package/horizon/horizon-orderbook-helpers.js +1 -1
  59. package/horizon/horizon-trades-helper.js +1 -1
  60. package/horizon/horizon-transaction-helpers.js +1 -1
  61. package/index.js +73 -73
  62. package/interaction/system-dialog.js +2 -2
  63. package/interaction/theme-selector.js +1 -1
  64. package/ledger/ledger-entry-href-formatter.js +1 -1
  65. package/ledger/ledger-entry-link.js +2 -2
  66. package/module/dynamic-module.js +1 -1
  67. package/package.json +1 -1
  68. package/state/page-visibility-hooks.js +1 -1
  69. package/toast/toast-notifications-block.js +2 -2
  70. package/tx/op-accounting-changes.js +2 -2
  71. package/tx/op-description-view.js +13 -13
  72. package/tx/parser/tx-details-parser.js +2 -2
  73. package/tx/parser/tx-matcher.js +1 -1
  74. package/tx/tx-fee-effect.js +1 -1
  75. package/tx/tx-list-hooks.js +2 -2
  76. package/tx/tx-operations-list.js +6 -6
@@ -1,12 +1,12 @@
1
1
  import React from 'react'
2
2
  import cn from 'classnames'
3
3
  import {shortenString} from '@stellar-expert/formatter'
4
- import {AccountIdenticon} from './identicon'
5
- import {InfoTooltip} from '../controls/info-tooltip'
6
- import {useDirectory} from '../directory/directory-hooks'
7
- import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter'
8
- import {useStellarNetwork} from '../state/stellar-network-hooks'
9
- import {decodeKeyType} from '../stellar/key-type'
4
+ import {AccountIdenticon} from './identicon.js'
5
+ import {InfoTooltip} from '../controls/info-tooltip.js'
6
+ import {useDirectory} from '../directory/directory-hooks.js'
7
+ import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter.js'
8
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
9
+ import {decodeKeyType} from '../stellar/key-type.js'
10
10
  import './account-address.scss'
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import {StrKey} from '@stellar/stellar-sdk'
3
- import {AccountAddress} from './account-address'
3
+ import {AccountAddress} from './account-address.js'
4
4
 
5
5
  /**
6
6
  * Decode a Stellar signer object (XDR or parsed) into a StrKey-encoded key and weight
@@ -1,10 +1,10 @@
1
1
  import {useEffect, useState} from 'react'
2
2
  import isEqual from 'react-fast-compare'
3
3
  import {stringifyQuery} from '@stellar-expert/navigation'
4
- import {addVisibilityChangeListener, isDocumentVisible} from '../state/page-visibility-helpers'
5
- import {useStellarNetwork} from '../state/stellar-network-hooks'
6
- import {fetchExplorerApi} from './explorer-api-call'
7
- import apiCache from './api-cache'
4
+ import {addVisibilityChangeListener, isDocumentVisible} from '../state/page-visibility-helpers.js'
5
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
6
+ import {fetchExplorerApi} from './explorer-api-call.js'
7
+ import apiCache from './api-cache.js'
8
8
 
9
9
  export class ExplorerApiResult {
10
10
  constructor(apiEndpoint, data, ts) {
@@ -1,10 +1,10 @@
1
1
  import {useRef} from 'react'
2
2
  import isEqual from 'react-fast-compare'
3
3
  import {parseQuery, stringifyQuery, navigation} from '@stellar-expert/navigation'
4
- import {useStellarNetwork} from '../state/stellar-network-hooks'
5
- import {useDependantState} from '../state/state-hooks'
6
- import {fetchExplorerApi} from './explorer-api-call'
7
- import apiCache from './api-cache'
4
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
5
+ import {useDependantState} from '../state/state-hooks.js'
6
+ import {fetchExplorerApi} from './explorer-api-call.js'
7
+ import apiCache from './api-cache.js'
8
8
 
9
9
  function inverseOrder(order) {
10
10
  return order === 'desc' ? 'asc' : 'desc'
@@ -1,6 +1,6 @@
1
- import {parseStellarGenericId} from '../stellar/ledger-generic-id'
2
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
3
- import {fetchExplorerApi} from './explorer-api-call'
1
+ import {parseStellarGenericId} from '../stellar/ledger-generic-id.js'
2
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
3
+ import {fetchExplorerApi} from './explorer-api-call.js'
4
4
 
5
5
  /**
6
6
  * Load transaction from API
@@ -1,5 +1,5 @@
1
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
2
- import {fetchExplorerApi} from './explorer-api-call'
1
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
2
+ import {fetchExplorerApi} from './explorer-api-call.js'
3
3
 
4
4
  /**
5
5
  * Long-polling stream that notifies listeners about new ledgers
package/asset/amount.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import React from 'react'
2
2
  import {formatWithPrecision, formatWithAutoPrecision, fromStroops} from '@stellar-expert/formatter'
3
3
  import {AssetDescriptor, isAssetValid, isValidPoolId} from '@stellar-expert/asset-descriptor'
4
- import {useAssetMeta} from './asset-meta-hooks'
5
- import {AssetLink} from './asset-link'
4
+ import {useAssetMeta} from './asset-meta-hooks.js'
5
+ import {AssetLink} from './asset-link.js'
6
6
 
7
7
  /**
8
8
  * Formatted tokens amount
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
3
- import {drawIdenticon} from '../account/identicon'
4
- import {useAssetMeta} from './asset-meta-hooks'
3
+ import {drawIdenticon} from '../account/identicon.js'
4
+ import {useAssetMeta} from './asset-meta-hooks.js'
5
5
 
6
6
  /**
7
7
  * Inline asset icon
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
3
- import {AccountAddress} from '../account/account-address'
4
- import {useAssetMeta} from './asset-meta-hooks'
3
+ import {AccountAddress} from '../account/account-address.js'
4
+ import {useAssetMeta} from './asset-meta-hooks.js'
5
5
 
6
6
  /**
7
7
  * Inline asset issuer
@@ -2,12 +2,12 @@ import React from 'react'
2
2
  import cn from 'classnames'
3
3
  import {shortenString} from '@stellar-expert/formatter'
4
4
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
5
- import {useStellarNetwork} from '../state/stellar-network-hooks'
6
- import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter'
7
- import {AccountAddress} from '../account/account-address'
8
- import {useAssetMeta} from './asset-meta-hooks'
9
- import {AssetIcon} from './asset-icon'
10
- import {AssetIssuer} from './asset-issuer'
5
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
6
+ import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter.js'
7
+ import {AccountAddress} from '../account/account-address.js'
8
+ import {useAssetMeta} from './asset-meta-hooks.js'
9
+ import {AssetIcon} from './asset-icon.js'
10
+ import {AssetIssuer} from './asset-issuer.js'
11
11
  import './asset-link.scss'
12
12
 
13
13
  /**
@@ -2,9 +2,9 @@ import React, {useState} from 'react'
2
2
  import {throttle} from 'throttle-debounce'
3
3
  import equal from 'react-fast-compare'
4
4
  import {stringifyQuery} from '@stellar-expert/navigation'
5
- import {fetchExplorerApi} from '../api/explorer-api-call'
6
- import {useDeepEffect} from '../state/state-hooks'
7
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
5
+ import {fetchExplorerApi} from '../api/explorer-api-call.js'
6
+ import {useDeepEffect} from '../state/state-hooks.js'
7
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
8
8
 
9
9
  const defaults = {
10
10
  limit: 20,
@@ -2,9 +2,9 @@ import {useEffect, useState} from 'react'
2
2
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
3
3
  import {stringifyQuery} from '@stellar-expert/navigation'
4
4
  import {InMemoryClientCache} from '@stellar-expert/client-cache'
5
- import {fetchExplorerApi} from '../api/explorer-api-call'
6
- import {ExplorerBatchInfoLoader} from '../api/explorer-batch-info-loader'
7
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
5
+ import {fetchExplorerApi} from '../api/explorer-api-call.js'
6
+ import {ExplorerBatchInfoLoader} from '../api/explorer-batch-info-loader.js'
7
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
8
8
 
9
9
  /**
10
10
  * @typedef AssetBasicTomlInfo
@@ -1,7 +1,7 @@
1
1
  import React, {useCallback, useRef, useState} from 'react'
2
- import {Dropdown} from '../controls/dropdown'
3
- import {AssetLink} from './asset-link'
4
- import {useAssetList} from './asset-list-hooks'
2
+ import {Dropdown} from '../controls/dropdown.js'
3
+ import {AssetLink} from './asset-link.js'
4
+ import {useAssetList} from './asset-list-hooks.js'
5
5
  import './asset-selector.scss'
6
6
 
7
7
  /**
@@ -1,6 +1,6 @@
1
- import {isNumber, pick, relativeLength, defined} from '../core/utilities'
2
- import {getDateTimeTickPositions, dateTimeLabelFormat, dateFormat} from '../core/time'
3
- import {getLinearTickPositions, niceAlignedTicks, zeroBasedGridTicks, formatAxisNumber, axisNumberUnit} from './tick-positioner'
1
+ import {isNumber, pick, relativeLength, defined} from '../core/utilities.js'
2
+ import {getDateTimeTickPositions, dateTimeLabelFormat, dateFormat} from '../core/time.js'
3
+ import {getLinearTickPositions, niceAlignedTicks, zeroBasedGridTicks, formatAxisNumber, axisNumberUnit} from './tick-positioner.js'
4
4
 
5
5
  const LABEL_FONT = 12
6
6
  const LABEL_FONT_CSS = LABEL_FONT + 'px "Roboto Condensed",sans-serif'
@@ -1,5 +1,5 @@
1
1
  //Linear "nice number" tick interval + positions.
2
- import {addThousandsSep} from '../core/utilities'
2
+ import {addThousandsSep} from '../core/utilities.js'
3
3
 
4
4
  /**
5
5
  * Round an interval to a human-friendly value (1, 2, 2.5, 5, 10 * 10^n).
@@ -1,6 +1,6 @@
1
1
  //StellarExpert explorer chart theme — colors, fonts and per-type defaults applied on top of the
2
2
  //engine baseline via setOptions, plus the custom logarithmic axis scaling used by balance/distribution charts.
3
- import ChartEngine from './globals'
3
+ import ChartEngine from './globals.js'
4
4
 
5
5
  //allow negative values on the logarithmic axis
6
6
  ChartEngine.Axis.prototype.allowNegativeLog = true
@@ -1,7 +1,7 @@
1
1
  //Normalizes per-chart options before they reach the engine: applies grouping/range/legend flags and
2
2
  //registers optional engine modules. Uses the engine's own merge (no deepmerge dependency).
3
- import {merge} from './core/utilities'
4
- import {ChartEngine} from './chart-default-options'
3
+ import {merge} from './core/utilities.js'
4
+ import {ChartEngine} from './chart-default-options.js'
5
5
 
6
6
  const rangeSelectorOptions = {
7
7
  //the in-house range selector renders span controls styled via chart.scss (.chart-zoom-btn);
package/charts/chart.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import React, {useRef} from 'react'
2
2
  import cn from 'classnames'
3
3
  import PropTypes from 'prop-types'
4
- import {useDeepEffect} from '../state/state-hooks'
5
- import {withErrorBoundary} from '../errors/error-boundary'
6
- import {ChartEngine} from './chart-default-options'
7
- import {prepareChartOptions} from './chart-options-builder'
8
- import {ChartLoader} from './chart-loader'
4
+ import {useDeepEffect} from '../state/state-hooks.js'
5
+ import {withErrorBoundary} from '../errors/error-boundary.js'
6
+ import {ChartEngine} from './chart-default-options.js'
7
+ import {prepareChartOptions} from './chart-options-builder.js'
8
+ import {ChartLoader} from './chart-loader.js'
9
9
  import './chart.scss'
10
10
 
11
11
  export {ChartEngine, ChartLoader}
@@ -1,6 +1,6 @@
1
1
  //Load/draw animations for the initial chart render (a per-series-type entrance).
2
2
  //Only runs once, on first paint — redraws (zoom, legend toggle, resize) skip it.
3
- import {uniqueId} from './utilities'
3
+ import {uniqueId} from './utilities.js'
4
4
 
5
5
  export const DEFAULT_DURATION = 1500
6
6
 
@@ -1,16 +1,16 @@
1
- import {Axis} from '../axis/axis'
2
- import {niceAlignedTicks} from '../axis/tick-positioner'
3
- import {createSeries} from '../series'
4
- import {Legend} from '../interaction/legend'
5
- import {Tooltip} from '../interaction/tooltip'
6
- import {groupSeriesData} from '../stock/data-grouping'
7
- import {RangeSelector} from '../stock/range-selector'
8
- import {renderPolar} from '../polar/polar-chart'
9
- import {renderPie} from '../pie/pie-chart'
10
- import {Navigator} from '../stock/navigator'
11
- import {merge, resolveContainer, pick, relativeLength, uniqueId, defined, isNumber} from './utilities'
12
- import {getOptions} from './options'
13
- import {SvgRenderer} from './svg-renderer'
1
+ import {Axis} from '../axis/axis.js'
2
+ import {niceAlignedTicks} from '../axis/tick-positioner.js'
3
+ import {createSeries} from '../series/index.js'
4
+ import {Legend} from '../interaction/legend.js'
5
+ import {Tooltip} from '../interaction/tooltip.js'
6
+ import {groupSeriesData} from '../stock/data-grouping.js'
7
+ import {RangeSelector} from '../stock/range-selector.js'
8
+ import {renderPolar} from '../polar/polar-chart.js'
9
+ import {renderPie} from '../pie/pie-chart.js'
10
+ import {Navigator} from '../stock/navigator.js'
11
+ import {merge, resolveContainer, pick, relativeLength, uniqueId, defined, isNumber} from './utilities.js'
12
+ import {getOptions} from './options.js'
13
+ import {SvgRenderer} from './svg-renderer.js'
14
14
 
15
15
  const X_LABEL_HEIGHT = 22
16
16
 
@@ -1,4 +1,4 @@
1
- import {merge} from './utilities'
1
+ import {merge} from './utilities.js'
2
2
 
3
3
  //Engine baseline defaults. The explorer theme (applied via setOptions in chart-default-options.js)
4
4
  //deep-merges on top of this, and per-chart options on top of that.
package/charts/globals.js CHANGED
@@ -1,10 +1,10 @@
1
1
  //The engine namespace exposed to consumers and to the theme/options-builder — the small public
2
2
  //surface (chart constructors, options, Color, Axis, merge) that views and modules touch.
3
- import {Chart} from './core/chart'
4
- import {getOptions, setOptions} from './core/options'
5
- import {Color} from './core/color'
6
- import {Axis} from './axis/axis'
7
- import {merge} from './core/utilities'
3
+ import {Chart} from './core/chart.js'
4
+ import {getOptions, setOptions} from './core/options.js'
5
+ import {Color} from './core/color.js'
6
+ import {Axis} from './axis/axis.js'
7
+ import {merge} from './core/utilities.js'
8
8
 
9
9
  function ChartCtor(renderTo, options) {
10
10
  return new Chart(renderTo, options, 'Chart')
package/charts/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //Pure-JS SVG charting library — public entry point.
2
2
  //Props: options/type/title/grouped/range/noLegend/inline/modules/children.
3
- export {default} from './chart'
4
- export {ChartEngine, ChartLoader} from './chart'
3
+ export {default} from './chart.js'
4
+ export {ChartEngine, ChartLoader} from './chart.js'
@@ -1,5 +1,5 @@
1
- import {dateFormat} from '../core/time'
2
- import {isNumber, addThousandsSep} from '../core/utilities'
1
+ import {dateFormat} from '../core/time.js'
2
+ import {isNumber, addThousandsSep} from '../core/utilities.js'
3
3
 
4
4
  function formatValue(v, tooltipOpts) {
5
5
  if (!isNumber(v))
@@ -1,7 +1,7 @@
1
1
  //Pie / variable-pie rendering path (contract users chart).
2
2
  //variable-pie: slice ANGLE scales with y, slice OUTER RADIUS scales with z.
3
- import {pick, relativeLength, isNumber, addThousandsSep} from '../core/utilities'
4
- import {animate, DEFAULT_DURATION} from '../core/animate'
3
+ import {pick, relativeLength, isNumber, addThousandsSep} from '../core/utilities.js'
4
+ import {animate, DEFAULT_DURATION} from '../core/animate.js'
5
5
 
6
6
  const TEXT_STYLE = {
7
7
  fontSize: '12px',
@@ -1,7 +1,7 @@
1
1
  //Polar/radar rendering path (asset rating chart): categories around a circle, radial value axis,
2
2
  //polygon gridlines (gridLineInterpolation: 'polygon').
3
- import {pick, relativeLength} from '../core/utilities'
4
- import {animateFromCenter} from '../core/animate'
3
+ import {pick, relativeLength} from '../core/utilities.js'
4
+ import {animateFromCenter} from '../core/animate.js'
5
5
 
6
6
  const TEXT_STYLE = {
7
7
  fontSize: '12px',
@@ -1,6 +1,6 @@
1
- import {pick, uniqueId, isNumber, clamp} from '../core/utilities'
2
- import {revealLeftToRight} from '../core/animate'
3
- import {LineSeries} from './line-series'
1
+ import {pick, uniqueId, isNumber, clamp} from '../core/utilities.js'
2
+ import {revealLeftToRight} from '../core/animate.js'
3
+ import {LineSeries} from './line-series.js'
4
4
 
5
5
  export class AreaSeries extends LineSeries {
6
6
  resolveFill() {
@@ -1,5 +1,5 @@
1
- import {isNumber, pick} from '../core/utilities'
2
- import {Series} from './series'
1
+ import {isNumber, pick} from '../core/utilities.js'
2
+ import {Series} from './series.js'
3
3
 
4
4
  export class CandlestickSeries extends Series {
5
5
  //candlesticks plot OHLC, not a single y; expose extremes from high/low for the axis
@@ -1,6 +1,6 @@
1
- import {Series} from './series'
2
- import {pick, isNumber, clamp} from '../core/utilities'
3
- import {animateColumns} from '../core/animate'
1
+ import {Series} from './series.js'
2
+ import {pick, isNumber, clamp} from '../core/utilities.js'
3
+ import {animateColumns} from '../core/animate.js'
4
4
 
5
5
  export class ColumnSeries extends Series {
6
6
  render(group) {
@@ -1,7 +1,7 @@
1
- import {LineSeries} from './line-series'
2
- import {AreaSeries} from './area-series'
3
- import {ColumnSeries} from './column-series'
4
- import {CandlestickSeries} from './candlestick-series'
1
+ import {LineSeries} from './line-series.js'
2
+ import {AreaSeries} from './area-series.js'
3
+ import {ColumnSeries} from './column-series.js'
4
+ import {CandlestickSeries} from './candlestick-series.js'
5
5
 
6
6
  //series type registry — extended in later phases (spline-smoothing, candlestick, variablepie, ...)
7
7
  export const seriesTypes = {
@@ -1,6 +1,6 @@
1
- import {pick} from '../core/utilities'
2
- import {revealLeftToRight} from '../core/animate'
3
- import {Series} from './series'
1
+ import {pick} from '../core/utilities.js'
2
+ import {revealLeftToRight} from '../core/animate.js'
3
+ import {Series} from './series.js'
4
4
 
5
5
  export class LineSeries extends Series {
6
6
  render(group) {
@@ -1,4 +1,4 @@
1
- import {pick, isNumber} from '../core/utilities'
1
+ import {pick, isNumber} from '../core/utilities.js'
2
2
 
3
3
  //Catmull-Rom -> cubic bezier smoothing for spline series
4
4
  function smoothSegmentPath(pts) {
@@ -1,5 +1,5 @@
1
1
  //Downsample raw series points into calendar-aligned time buckets (stock data grouping).
2
- import {isNumber} from '../core/utilities'
2
+ import {isNumber} from '../core/utilities.js'
3
3
 
4
4
  const day = 24 * 3600 * 1000
5
5
  const week = 7 * day
@@ -1,6 +1,6 @@
1
- import {isNumber, clamp} from '../core/utilities'
2
- import {animateLineDraw} from '../core/animate'
3
- import {getDateTimeTickPositions, dateTimeLabelFormat, dateFormat} from '../core/time'
1
+ import {isNumber, clamp} from '../core/utilities.js'
2
+ import {animateLineDraw} from '../core/animate.js'
3
+ import {getDateTimeTickPositions, dateTimeLabelFormat, dateFormat} from '../core/time.js'
4
4
 
5
5
  //Navigator look: a thin red overview line, the SELECTED window masked with a light fill,
6
6
  //a light outline, and small grip handles centred vertically on each edge.
@@ -1,4 +1,4 @@
1
- import {isNumber} from '../core/utilities'
1
+ import {isNumber} from '../core/utilities.js'
2
2
 
3
3
  const DAY = 24 * 3600 * 1000
4
4
 
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import {xdrParseClaimant} from '@stellar-expert/claimable-balance-utils'
3
- import {AccountAddress} from '../account/account-address'
4
- import {CodeBlock} from '../controls/code-block'
3
+ import {AccountAddress} from '../account/account-address.js'
4
+ import {CodeBlock} from '../controls/code-block.js'
5
5
 
6
6
  /**
7
7
  * Displays a list of claimable balance claimants with their addresses and predicates
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import {shortenString} from '@stellar-expert/formatter'
3
- import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter'
3
+ import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter.js'
4
4
 
5
5
  export function ClaimableBalanceId({balance}) {
6
6
  if (!balance)
@@ -1,6 +1,6 @@
1
1
  import {useEffect, useState} from 'react'
2
- import {useExplorerApi} from '../api/explorer-api-hooks'
3
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
2
+ import {useExplorerApi} from '../api/explorer-api-hooks.js'
3
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
4
4
 
5
5
  /**
6
6
  * React hook that fetches contract information from the Explorer API
@@ -1,12 +1,12 @@
1
1
  import React from 'react'
2
2
  import {parseContractMetadata} from '@stellar-expert/contract-wasm-interface-parser'
3
3
  import {shortenString} from '@stellar-expert/formatter'
4
- import {AccountAddress} from '../account/account-address'
5
- import {AssetLink} from '../asset/asset-link'
6
- import {Tooltip} from '../controls/tooltip'
7
- import {parseScValValue, primitiveTypes, ScVal, ScValStruct} from './sc-val'
8
- import {useContractSource} from './contract-api'
9
- import {sacInterface} from './sac-interface'
4
+ import {AccountAddress} from '../account/account-address.js'
5
+ import {AssetLink} from '../asset/asset-link.js'
6
+ import {Tooltip} from '../controls/tooltip.js'
7
+ import {parseScValValue, primitiveTypes, ScVal, ScValStruct} from './sc-val.js'
8
+ import {useContractSource} from './contract-api.js'
9
+ import {sacInterface} from './sac-interface.js'
10
10
 
11
11
  /**
12
12
  * Basic Soroban contract invocation info
@@ -3,7 +3,7 @@ import cn from 'classnames'
3
3
  import {xdr, scValToBigInt} from '@stellar/stellar-sdk'
4
4
  import {xdrParserUtils} from '@stellar-expert/tx-meta-effects-parser'
5
5
  import {shortenString} from '@stellar-expert/formatter'
6
- import {AccountAddress} from '../account/account-address'
6
+ import {AccountAddress} from '../account/account-address.js'
7
7
  import './sc-val.scss'
8
8
 
9
9
  /**
@@ -3,7 +3,7 @@ import {createPortal} from 'react-dom'
3
3
  import PropTypes from 'prop-types'
4
4
  import cn from 'classnames'
5
5
  import {throttle} from 'throttle-debounce'
6
- import {useDependantState} from '../state/state-hooks'
6
+ import {useDependantState} from '../state/state-hooks.js'
7
7
  import './dropdown.scss'
8
8
 
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import cn from 'classnames'
4
- import {Tooltip} from './tooltip'
4
+ import {Tooltip} from './tooltip.js'
5
5
  import './info-tooltip.scss'
6
6
 
7
7
  /**
package/controls/tabs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import React, {useEffect} from 'react'
2
2
  import cn from 'classnames'
3
3
  import {navigation} from '@stellar-expert/navigation'
4
- import {useDependantState} from '../state/state-hooks'
4
+ import {useDependantState} from '../state/state-hooks.js'
5
5
  import './tabs.scss'
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import React, {useRef} from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import cn from 'classnames'
4
- import {useDependantState} from '../state/state-hooks'
4
+ import {useDependantState} from '../state/state-hooks.js'
5
5
  import './update-highlighter.scss'
6
6
 
7
7
  /**
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import cn from 'classnames'
4
4
  import {normalizeDate, formatDateUTC} from '@stellar-expert/formatter'
5
- import {BlockSelect} from '../interaction/block-select'
5
+ import {BlockSelect} from '../interaction/block-select.js'
6
6
 
7
7
  export const UtcTimestamp = React.memo(function UtcTimestamp({date, dateOnly, className}) {
8
8
  let formatted
@@ -2,8 +2,8 @@ import {useEffect, useState} from 'react'
2
2
  import {StrKey} from '@stellar/stellar-sdk'
3
3
  import {stringifyQuery} from '@stellar-expert/navigation'
4
4
  import {InMemoryClientCache} from '@stellar-expert/client-cache'
5
- import {fetchExplorerApi} from '../api/explorer-api-call'
6
- import {ExplorerBatchInfoLoader} from '../api/explorer-batch-info-loader'
5
+ import {fetchExplorerApi} from '../api/explorer-api-call.js'
6
+ import {ExplorerBatchInfoLoader} from '../api/explorer-batch-info-loader.js'
7
7
 
8
8
  const cache = new InMemoryClientCache({})
9
9
 
@@ -3,15 +3,15 @@ import PropTypes from 'prop-types'
3
3
  import {AuthRequiredFlag, AuthRevocableFlag, AuthImmutableFlag, AuthClawbackEnabledFlag} from '@stellar/stellar-sdk'
4
4
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
5
5
  import {shortenString, formatWithAutoPrecision} from '@stellar-expert/formatter'
6
- import {CopyToClipboard} from '../interaction/copy-to-clipboard'
7
- import {AccountAddress} from '../account/account-address'
8
- import {ClaimableBalanceId} from '../claimable-balance/claimable-balance-id'
9
- import InvocationInfoView from '../contract/invocation-info-view'
10
- import {ScVal} from '../contract/sc-val'
11
- import {SignerKey} from '../account/signer-key'
12
- import {OfferLink} from '../ledger/ledger-entry-link'
13
- import {AssetLink} from '../asset/asset-link'
14
- import {Amount} from '../asset/amount'
6
+ import {CopyToClipboard} from '../interaction/copy-to-clipboard.js'
7
+ import {AccountAddress} from '../account/account-address.js'
8
+ import {ClaimableBalanceId} from '../claimable-balance/claimable-balance-id.js'
9
+ import InvocationInfoView from '../contract/invocation-info-view.js'
10
+ import {ScVal} from '../contract/sc-val.js'
11
+ import {SignerKey} from '../account/signer-key.js'
12
+ import {OfferLink} from '../ledger/ledger-entry-link.js'
13
+ import {AssetLink} from '../asset/asset-link.js'
14
+ import {Amount} from '../asset/amount.js'
15
15
 
16
16
  /**
17
17
  * Renders a human-readable description of a Stellar transaction effect
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import cn from 'classnames'
3
- import {EffectDescription} from './effect-description'
4
- import SorobanTxMetricsView from './soroban-tx-metrics-view'
3
+ import {EffectDescription} from './effect-description.js'
4
+ import SorobanTxMetricsView from './soroban-tx-metrics-view.js'
5
5
  import './op-effects.scss'
6
6
 
7
7
  export function OpEffectsView({operation}) {
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import {navigation as nav} from '@stellar-expert/navigation'
4
- import {BlockSelect} from '../interaction/block-select'
4
+ import {BlockSelect} from '../interaction/block-select.js'
5
5
 
6
6
  /**
7
7
  * React error boundary that catches rendering errors and displays a fallback UI
@@ -1,7 +1,7 @@
1
1
  import React, {useCallback, useState} from 'react'
2
2
  import {StrKey} from '@stellar/stellar-sdk'
3
- import {AccountAddress} from '../../account/account-address'
4
- import {useAutoFocusRef} from '../../interaction/autofocus'
3
+ import {AccountAddress} from '../../account/account-address.js'
4
+ import {useAutoFocusRef} from '../../interaction/autofocus.js'
5
5
 
6
6
  export function AccountEditor({value, setValue}) {
7
7
  const [internalValue, setInternalValue] = useState(value || '')
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
- import {AssetLink} from '../../asset/asset-link'
3
- import {AssetSelector} from '../../asset/asset-selector'
2
+ import {AssetLink} from '../../asset/asset-link.js'
3
+ import {AssetSelector} from '../../asset/asset-selector.js'
4
4
 
5
5
  export function AssetEditor({value, setValue}) {
6
6
  if (!setValue)
@@ -1,7 +1,7 @@
1
1
  import React, {useCallback, useState} from 'react'
2
- import {UtcTimestamp} from '../../date/utc-timestamp'
3
- import {DateSelector} from '../../date/date-selector'
4
- import {useAutoFocusRef} from '../../interaction/autofocus'
2
+ import {UtcTimestamp} from '../../date/utc-timestamp.js'
3
+ import {DateSelector} from '../../date/date-selector.js'
4
+ import {useAutoFocusRef} from '../../interaction/autofocus.js'
5
5
 
6
6
  export function TimestampEditor({value, setValue, edit}) {
7
7
  value = parseInt(value, 10)
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import {Dropdown} from '../../controls/dropdown'
2
+ import {Dropdown} from '../../controls/dropdown.js'
3
3
 
4
4
  export function OperationTypeEditor({value, setValue}) {
5
5
  if (!setValue) {
@@ -1,12 +1,12 @@
1
1
  import React, {useCallback, useState} from 'react'
2
2
  import {StrKey} from '@stellar/stellar-sdk'
3
3
  import {shortenString} from '@stellar-expert/formatter'
4
- import {AssetLink} from '../asset/asset-link'
5
- import {useAutoFocusRef} from '../interaction/autofocus'
6
- import {OperationTypeEditor} from './editors/type-filter-view'
7
- import {AssetEditor} from './editors/asset-filter-view'
8
- import {AccountEditor} from './editors/account-filter-view'
9
- import {TimestampEditor} from './editors/timestamp-filter-view'
4
+ import {AssetLink} from '../asset/asset-link.js'
5
+ import {useAutoFocusRef} from '../interaction/autofocus.js'
6
+ import {OperationTypeEditor} from './editors/type-filter-view.js'
7
+ import {AssetEditor} from './editors/asset-filter-view.js'
8
+ import {AccountEditor} from './editors/account-filter-view.js'
9
+ import {TimestampEditor} from './editors/timestamp-filter-view.js'
10
10
 
11
11
  export function TextEditor({value, setValue, mask}) {
12
12
  const [internalValue, setInternalValue] = useState(value || '')
@@ -1,8 +1,8 @@
1
1
  import React, {useCallback, useEffect, useState} from 'react'
2
2
  import {navigation, parseQuery} from '@stellar-expert/navigation'
3
3
  import deepmerge from 'deepmerge'
4
- import {Dropdown} from '../controls/dropdown'
5
- import {resolveFilterEditor} from './filter-editors'
4
+ import {Dropdown} from '../controls/dropdown.js'
5
+ import {resolveFilterEditor} from './filter-editors.js'
6
6
  import './filter.scss'
7
7
 
8
8
  let fieldDescriptionMapping = {}
@@ -1,4 +1,4 @@
1
- import {applyListQueryParameters, loadAllHorizonRecords, initHorizon} from './horizon-client-helpers'
1
+ import {applyListQueryParameters, loadAllHorizonRecords, initHorizon} from './horizon-client-helpers.js'
2
2
 
3
3
  /**
4
4
  * Retrieve account status from Horizon
@@ -1,4 +1,4 @@
1
- import {initHorizon, applyListQueryParameters} from './horizon-client-helpers'
1
+ import {initHorizon, applyListQueryParameters} from './horizon-client-helpers.js'
2
2
 
3
3
  /**
4
4
  * Load ledgers from Horizon
@@ -1,5 +1,5 @@
1
1
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
2
- import {applyListQueryParameters, initHorizon} from './horizon-client-helpers'
2
+ import {applyListQueryParameters, initHorizon} from './horizon-client-helpers.js'
3
3
 
4
4
  /**
5
5
  * Load orderbook for assets.
@@ -1,5 +1,5 @@
1
1
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
2
- import {initHorizon, applyListQueryParameters} from './horizon-client-helpers'
2
+ import {initHorizon, applyListQueryParameters} from './horizon-client-helpers.js'
3
3
 
4
4
  /**
5
5
  * Load offer from Horizon for the particular account
@@ -1,4 +1,4 @@
1
- import {initHorizon, applyListQueryParameters} from './horizon-client-helpers'
1
+ import {initHorizon, applyListQueryParameters} from './horizon-client-helpers.js'
2
2
 
3
3
  /**
4
4
  * Load transactions from Horizon
package/index.js CHANGED
@@ -5,93 +5,93 @@ window.explorerApiOrigin = window.explorerApiOrigin || 'https://api.stellar.expe
5
5
  window.horizonOrigin = window.horizonOrigin || 'https://horizon.stellar.org'
6
6
 
7
7
  //modules
8
- export * from './module/dynamic-module'
8
+ export * from './module/dynamic-module.js'
9
9
  //state management and utils
10
- export * from './state/state-hooks'
11
- export * from './state/on-screen-hooks'
12
- export * from './state/stellar-network-hooks'
13
- export * from './state/screen-orientation-hooks'
14
- export * from './state/page-visibility-helpers'
15
- export * from './state/theme'
16
- export * from './meta/page-meta-tags'
10
+ export * from './state/state-hooks.js'
11
+ export * from './state/on-screen-hooks.js'
12
+ export * from './state/stellar-network-hooks.js'
13
+ export * from './state/screen-orientation-hooks.js'
14
+ export * from './state/page-visibility-helpers.js'
15
+ export * from './state/theme.js'
16
+ export * from './meta/page-meta-tags.js'
17
17
  //explorer API bindings
18
- export * from './api/explorer-api-hooks'
19
- export * from './api/explorer-api-paginated-list-hooks'
20
- export * from './api/explorer-tx-api'
21
- export * from './api/explorer-batch-info-loader'
22
- export * from './api/ledger-stream'
18
+ export * from './api/explorer-api-hooks.js'
19
+ export * from './api/explorer-api-paginated-list-hooks.js'
20
+ export * from './api/explorer-tx-api.js'
21
+ export * from './api/explorer-batch-info-loader.js'
22
+ export * from './api/ledger-stream.js'
23
23
  //Horizon API binding and utils
24
- export * from './stellar/ledger-generic-id'
25
- export * from './horizon/horizon-client-helpers'
26
- export * from './horizon/horizon-ledger-helpers'
27
- export * from './horizon/horizon-transaction-helpers'
28
- export * from './horizon/horizon-account-helpers'
29
- export * from './horizon/horizon-orderbook-helpers'
30
- export * from './horizon/horizon-trades-helper'
24
+ export * from './stellar/ledger-generic-id.js'
25
+ export * from './horizon/horizon-client-helpers.js'
26
+ export * from './horizon/horizon-ledger-helpers.js'
27
+ export * from './horizon/horizon-transaction-helpers.js'
28
+ export * from './horizon/horizon-account-helpers.js'
29
+ export * from './horizon/horizon-orderbook-helpers.js'
30
+ export * from './horizon/horizon-trades-helper.js'
31
31
  //basic UI controls
32
- export * from './controls/button'
33
- export * from './controls/button-group'
34
- export * from './controls/info-tooltip'
35
- export * from './controls/tooltip'
36
- export * from './controls/update-highlighter'
37
- export * from './controls/tabs'
38
- export * from './controls/dropdown'
39
- export * from './controls/code-block'
40
- export * from './controls/slider'
41
- export * from './controls/external-link'
42
- export * from './toast/toast-notifications-block'
43
- export * from './errors/error-boundary'
32
+ export * from './controls/button.js'
33
+ export * from './controls/button-group.js'
34
+ export * from './controls/info-tooltip.js'
35
+ export * from './controls/tooltip.js'
36
+ export * from './controls/update-highlighter.js'
37
+ export * from './controls/tabs.js'
38
+ export * from './controls/dropdown.js'
39
+ export * from './controls/code-block.js'
40
+ export * from './controls/slider.js'
41
+ export * from './controls/external-link.js'
42
+ export * from './toast/toast-notifications-block.js'
43
+ export * from './errors/error-boundary.js'
44
44
  //interaction
45
- export * from './interaction/autofocus'
46
- export * from './interaction/block-select'
47
- export * from './interaction/copy-to-clipboard'
48
- export * from './interaction/spoiler'
49
- export * from './interaction/accordion'
50
- export * from './interaction/theme-selector'
51
- export * from './interaction/inline-progress'
52
- export * from './interaction/responsive'
53
- export * from './interaction/qr-code'
54
- export * from './interaction/dialog'
55
- export * from './interaction/system-dialog'
45
+ export * from './interaction/autofocus.js'
46
+ export * from './interaction/block-select.js'
47
+ export * from './interaction/copy-to-clipboard.js'
48
+ export * from './interaction/spoiler.js'
49
+ export * from './interaction/accordion.js'
50
+ export * from './interaction/theme-selector.js'
51
+ export * from './interaction/inline-progress.js'
52
+ export * from './interaction/responsive.js'
53
+ export * from './interaction/qr-code.js'
54
+ export * from './interaction/dialog.js'
55
+ export * from './interaction/system-dialog.js'
56
56
  //date components
57
- export * from './date/utc-timestamp'
58
- export * from './date/elapsed-time'
59
- export * from './date/date-selector'
57
+ export * from './date/utc-timestamp.js'
58
+ export * from './date/elapsed-time.js'
59
+ export * from './date/date-selector.js'
60
60
  //ledger-entries-related components
61
- export * from './ledger/ledger-entry-link'
62
- export * from './ledger/ledger-entry-href-formatter'
63
- export * from './ledger/ledger-info-parser'
61
+ export * from './ledger/ledger-entry-link.js'
62
+ export * from './ledger/ledger-entry-href-formatter.js'
63
+ export * from './ledger/ledger-info-parser.js'
64
64
  //account-related components
65
- export * from './account/identicon'
66
- export * from './account/account-address'
67
- export * from './account/signer-key'
68
- export * from './account/available-balance'
65
+ export * from './account/identicon.js'
66
+ export * from './account/account-address.js'
67
+ export * from './account/signer-key.js'
68
+ export * from './account/available-balance.js'
69
69
  //asset-related components
70
- export * from './asset/asset-link'
71
- export * from './asset/asset-issuer'
72
- export * from './asset/asset-icon'
73
- export * from './asset/asset-selector'
74
- export * from './asset/amount'
75
- export * from './asset/asset-meta-hooks'
76
- export * from './asset/asset-list-hooks'
70
+ export * from './asset/asset-link.js'
71
+ export * from './asset/asset-issuer.js'
72
+ export * from './asset/asset-icon.js'
73
+ export * from './asset/asset-selector.js'
74
+ export * from './asset/amount.js'
75
+ export * from './asset/asset-meta-hooks.js'
76
+ export * from './asset/asset-list-hooks.js'
77
77
  //claimable-balance-related components
78
- export * from './claimable-balance/claimable-balance-claimants'
78
+ export * from './claimable-balance/claimable-balance-claimants.js'
79
79
  //DEX-related components
80
- export * from './dex/price-dynamic'
80
+ export * from './dex/price-dynamic.js'
81
81
  //directory-related components
82
- export * from './directory/directory-hooks'
82
+ export * from './directory/directory-hooks.js'
83
83
  //transaction/operation/effects components
84
- export * from './tx/tx-operations-list'
85
- export * from './tx/parser/tx-details-parser'
86
- export * from './tx/tx-list-hooks'
87
- export * from './effect/effect-description'
84
+ export * from './tx/tx-operations-list.js'
85
+ export * from './tx/parser/tx-details-parser.js'
86
+ export * from './tx/tx-list-hooks.js'
87
+ export * from './effect/effect-description.js'
88
88
  //contract-related components
89
- export * from './contract/contract-api'
89
+ export * from './contract/contract-api.js'
90
90
  //filter component
91
- export * from './filter/filter-view'
91
+ export * from './filter/filter-view.js'
92
92
  //Stellar-specific utils
93
- export * from './stellar/key-type'
94
- export * from './stellar/signature-hint-utils'
95
- export * from './contract/sc-val'
93
+ export * from './stellar/key-type.js'
94
+ export * from './stellar/signature-hint-utils.js'
95
+ export * from './contract/sc-val.js'
96
96
  //charts
97
- export {default as Chart, ChartEngine, ChartLoader} from './charts'
97
+ export {default as Chart, ChartEngine, ChartLoader} from './charts/index.js'
@@ -1,6 +1,6 @@
1
1
  import React, {useEffect, useState} from 'react'
2
- import {Button} from '../controls/button'
3
- import {Dialog} from './dialog'
2
+ import {Button} from '../controls/button.js'
3
+ import {Dialog} from './dialog.js'
4
4
 
5
5
  const defaultConfirmCaption = 'Confirm'
6
6
  const defaultCancelCaption = 'Cancel'
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import {useTheme} from '../state/theme'
2
+ import {useTheme} from '../state/theme.js'
3
3
 
4
4
  /**
5
5
  * Theme toggle button that switches between day (light) and night (dark) themes
@@ -1,4 +1,4 @@
1
- import {getCurrentStellarNetwork} from '../state/stellar-network-hooks'
1
+ import {getCurrentStellarNetwork} from '../state/stellar-network-hooks.js'
2
2
 
3
3
  /**
4
4
  * Build URL path to StellarExpert explorer page for given ledger entry
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
- import {formatExplorerLink} from './ledger-entry-href-formatter'
4
- import {useStellarNetwork} from '../state/stellar-network-hooks'
3
+ import {formatExplorerLink} from './ledger-entry-href-formatter.js'
4
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
5
5
 
6
6
  function LedgerEntryLink({type, id, network, children}) {
7
7
  const globallySetNetwork = useStellarNetwork()
@@ -1,6 +1,6 @@
1
1
  import React, {useEffect, useState} from 'react'
2
2
  import PropTypes from 'prop-types'
3
- import {withErrorBoundary} from '../errors/error-boundary'
3
+ import {withErrorBoundary} from '../errors/error-boundary.js'
4
4
 
5
5
  const loadedModules = new Map()
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stellar-expert/ui-framework",
3
- "version": "1.21.0",
3
+ "version": "1.21.1",
4
4
  "description": "StellarExpert shared UI components library",
5
5
  "author": "orbitlens <orbit@stellar.expert>",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  import {useState, useEffect} from 'react'
2
- import {isDocumentVisible, addVisibilityChangeListener, isDocumentVisibilitySupported} from './page-visibility-helpers'
2
+ import {isDocumentVisible, addVisibilityChangeListener, isDocumentVisibilitySupported} from './page-visibility-helpers.js'
3
3
 
4
4
  /**
5
5
  * Hook that tracks whether the current browser tab/page is visible
@@ -1,7 +1,7 @@
1
1
  import React, {useCallback, useEffect, useState} from 'react'
2
2
  import {render} from 'react-dom'
3
- import ToastNotificationInstance from './toast-notification-instance'
4
- import Notification from './toast-notification'
3
+ import ToastNotificationInstance from './toast-notification-instance.js'
4
+ import Notification from './toast-notification.js'
5
5
  import './toast-notifications.scss'
6
6
 
7
7
  let notificationsCounter = 0
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
- import {Amount} from '../asset/amount'
3
- import {retrieveOpBalanceChanges} from './parser/op-balance-changes'
2
+ import {Amount} from '../asset/amount.js'
3
+ import {retrieveOpBalanceChanges} from './parser/op-balance-changes.js'
4
4
 
5
5
  /**
6
6
  * Compact accounting effects (credited/debited amounts)
@@ -3,19 +3,19 @@ import {Networks, AuthRequiredFlag, AuthRevocableFlag, AuthClawbackEnabledFlag,
3
3
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
4
4
  import {formatPrice, formatWithAutoPrecision, fromStroops, toStroops, shortenString} from '@stellar-expert/formatter'
5
5
  import {xdrParserUtils, contractPreimageEncoder} from '@stellar-expert/tx-meta-effects-parser'
6
- import {AccountAddress} from '../account/account-address'
7
- import {AccountIdenticon} from '../account/identicon'
8
- import {SignerKey} from '../account/signer-key'
9
- import {Amount} from '../asset/amount'
10
- import {AssetLink} from '../asset/asset-link'
11
- import {useAssetMeta} from '../asset/asset-meta-hooks'
12
- import {OfferLink} from '../ledger/ledger-entry-link'
13
- import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter'
14
- import {ClaimableBalanceClaimants} from '../claimable-balance/claimable-balance-claimants'
15
- import {CopyToClipboard} from '../interaction/copy-to-clipboard'
16
- import {useStellarNetwork} from '../state/stellar-network-hooks'
17
- import InvocationInfoView from '../contract/invocation-info-view'
18
- import {ClaimableBalanceId} from '../claimable-balance/claimable-balance-id'
6
+ import {AccountAddress} from '../account/account-address.js'
7
+ import {AccountIdenticon} from '../account/identicon.js'
8
+ import {SignerKey} from '../account/signer-key.js'
9
+ import {Amount} from '../asset/amount.js'
10
+ import {AssetLink} from '../asset/asset-link.js'
11
+ import {useAssetMeta} from '../asset/asset-meta-hooks.js'
12
+ import {OfferLink} from '../ledger/ledger-entry-link.js'
13
+ import {formatExplorerLink} from '../ledger/ledger-entry-href-formatter.js'
14
+ import {ClaimableBalanceClaimants} from '../claimable-balance/claimable-balance-claimants.js'
15
+ import {CopyToClipboard} from '../interaction/copy-to-clipboard.js'
16
+ import {useStellarNetwork} from '../state/stellar-network-hooks.js'
17
+ import InvocationInfoView from '../contract/invocation-info-view.js'
18
+ import {ClaimableBalanceId} from '../claimable-balance/claimable-balance-id.js'
19
19
 
20
20
  /**
21
21
  * Detailed operation description within a transaction
@@ -1,6 +1,6 @@
1
1
  import {parseTxOperationsMeta} from '@stellar-expert/tx-meta-effects-parser'
2
- import OperationDescriptor from './op-descriptor'
3
- import TxMatcher from './tx-matcher'
2
+ import OperationDescriptor from './op-descriptor.js'
3
+ import TxMatcher from './tx-matcher.js'
4
4
 
5
5
  /**
6
6
  * @typedef {Object} ParsedTxDetails - Parsed transaction
@@ -1,6 +1,6 @@
1
1
  import {LiquidityPoolAsset} from '@stellar/stellar-sdk'
2
2
  import {AssetDescriptor} from '@stellar-expert/asset-descriptor'
3
- import {TypeFilterMatcher} from './type-filter-matcher'
3
+ import {TypeFilterMatcher} from './type-filter-matcher.js'
4
4
 
5
5
  export default class TxMatcher {
6
6
  constructor(filters, skipUnrelated = false) {
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import {Amount} from '../asset/amount'
2
+ import {Amount} from '../asset/amount.js'
3
3
  import {fromStroops} from '@stellar-expert/formatter'
4
4
 
5
5
  export default function TxFeeEffect({feeEffect, compact}) {
@@ -1,5 +1,5 @@
1
- import {useExplorerPaginatedApi} from '../api/explorer-api-paginated-list-hooks'
2
- import {useExplorerApi} from '../api/explorer-api-hooks'
1
+ import {useExplorerPaginatedApi} from '../api/explorer-api-paginated-list-hooks.js'
2
+ import {useExplorerApi} from '../api/explorer-api-hooks.js'
3
3
 
4
4
  /**
5
5
  * React hook that fetches paginated transaction history from the Explorer API
@@ -1,10 +1,10 @@
1
1
  import React, {useCallback, useState} from 'react'
2
- import {Spoiler} from '../interaction/spoiler'
3
- import {OpEffectsView} from '../effect/op-effects-view'
4
- import {OpAccountingChanges, TxFeeAccountingChanges} from './op-accounting-changes'
5
- import TxFeeEffect from './tx-fee-effect'
6
- import {OpDescriptionView} from './op-description-view'
7
- import {OpIcon} from './op-icon'
2
+ import {Spoiler} from '../interaction/spoiler.js'
3
+ import {OpEffectsView} from '../effect/op-effects-view.js'
4
+ import {OpAccountingChanges, TxFeeAccountingChanges} from './op-accounting-changes.js'
5
+ import TxFeeEffect from './tx-fee-effect.js'
6
+ import {OpDescriptionView} from './op-description-view.js'
7
+ import {OpIcon} from './op-icon.js'
8
8
  import './op-description.scss'
9
9
 
10
10
  /*