@richardmcquiston01/dashboard-widgets-toolkit 0.16.0 → 0.17.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/dist/core.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { b as WidgetDefinition, r as PageOptions, C as CloneOptions, f as DashboardLayout, P as PageItem, s as Result, t as WidgetClone, D as DashboardWidget, p as WidgetContext, o as ResolveOptions, q as WidgetProviders, u as WidgetKind, v as WidgetPayload } from './storage-oivwB7al.cjs';
2
- export { w as AddPageOptions, x as AlertListItem, A as AlertListWidgetData, y as BASE_VIEW_KEY, z as BarListItem, B as BarListWidgetData, E as BooleanOption, F as CachedPayload, H as ChoiceOption, I as CloneItem, J as ColorOption, M as ColumnsOption, Q as ConflictPolicy, U as ConvertViewOptions, V as DATE_RANGE_PRESETS, X as DEFAULT_COMPARISON_LABEL, Y as DEFAULT_CURRENCY, Z as DEFAULT_DETAIL_PAGE_SIZE, _ as DEFAULT_EMPTY_TEXT, $ as DEFAULT_MAX_LAYOUT_BYTES, a0 as DEFAULT_PAGE_KEY, a1 as DEFAULT_PAGE_ROWS, a2 as DETAIL_MODES, a3 as DateRangeOption, a4 as DateRangePreset, a5 as DeltaDirection, a6 as DeltaSentiment, a7 as DetailCell, a8 as DetailColumn, d as DetailData, a9 as DetailMode, aa as DetailPage, ab as DetailProvider, c as DetailProviderOptions, ac as DetailProviders, e as DetailQuery, j as DetailSort, ad as EMPTY_LAYOUT, ae as EmptyWidget, af as EncodingOptions, ag as EnforceLocksOptions, ah as Err, ai as ErrorWidget, aj as FormatOptions, i as GaugeWidgetData, ak as GraphPoint, al as GraphSeries, G as GraphWidgetData, am as GridItem, an as KpiDelta, ao as KpiDeltaOptions, K as KpiWidgetData, ap as LAYOUT_ENVELOPE_VERSION, aq as LayoutItem, ar as LayoutPage, m as LayoutPersistence, as as LayoutPersistenceOptions, at as LayoutSettings, au as LoadedLayout, av as LoadingWidget, L as Locale, aw as MAX_DETAIL_PAGE_SIZE, ax as MAX_GRAPH_SERIES, ay as MAX_PAGE_ROWS, az as MAX_PAGE_TITLE_LENGTH, aA as MAX_PARSED_CLONES, aB as MAX_PARSED_PAGES, aC as MAX_PARSED_SETTINGS, aD as MAX_TEXT_OPTION_LENGTH, aE as MAX_WIDGET_OPTIONS, aF as MAX_WIDGET_TITLE_LENGTH, aG as MAX_WIDGET_VIEWS, aH as MAX_WIDGET_WIDTH, aI as MIN_WIDGET_WIDTH, N as NiceDomain, n as NormalizeOptions, aJ as NormalizeSettingsOptions, aK as NumberOption, aL as OPTION_KEY_PATTERN, aM as Ok, aN as OkWidget, aO as OptionContext, aP as OptionValue, O as OptionValues, aQ as PageRoom, aR as PlacedRow, aS as ProviderOptions, aT as ResolvedDetailOptions, R as ResolvedTableControls, aU as ResolvedWidget, aV as ResolvedWidgetLock, aW as RetryOptions, aX as SaveOptions, aY as SavedLayout, aZ as SettingsItem, a_ as SortDirection, a$ as SortOption, b0 as StorageAdapter, b1 as StorageLogEvent, b2 as StoreErrorCode, b3 as StoreResult, S as StoreScope, b4 as StoredValue, b5 as TableCell, b6 as TableColumn, T as TableWidgetData, b7 as TextOption, k as TextWidgetData, b8 as VALUE_FORMATS, b9 as VIEW_CONVERSIONS, ba as ValueFormat, bb as ViewConversion, bc as ViewsItem, bd as WIDGET_FILLS, be as WIDGET_KINDS, bf as WIDGET_OPTION_TYPES, bg as WIDGET_SIZES, bh as WIDTH_COLUMNS, bi as WidgetCache, l as WidgetData, bj as WidgetDataOf, bk as WidgetDetailOptions, bl as WidgetEmptyState, a as WidgetFill, bm as WidgetLock, bn as WidgetOption, bo as WidgetProvider, h as WidgetSettingsPatch, W as WidgetSize, bp as WidgetStatus, bq as WidgetTableControls, br as WidgetView, g as WidgetViewerSettings, bs as addPage, bt as applyClientOptions, bu as applySettings, bv as applyView, bw as assignPages, bx as baseColumnSpan, by as cacheKeyFor, bz as cleanClones, bA as clearWidgetSettings, bB as cloneNumber, bC as coerceOptionValue, bD as convertView, bE as createLayoutPersistence, bF as defaultDetailQuery, bG as defaultOptionValue, bH as defineWidget, bI as deriveDetailData, bJ as describeUnknownError, bK as effectiveDefinitions, bL as effectiveViewKey, bM as emptyTextFor, bN as emptyWidget, bO as enforceLocks, bP as err, bQ as failedWidget, bR as fillColumnSpans, bS as fillWidthSpans, bT as fillsHeight, bU as fillsWidth, bV as finalizeWidget, bW as findView, bX as fitCount, bY as formatCount, bZ as formatPercentChange, b_ as formatValue, b$ as hasPages, c0 as hasViews, c1 as hiddenWidgets, c2 as hideWidget, c3 as isClientApplied, c4 as isColumnKeyFor, c5 as isFlexible, c6 as isHidden, c7 as isIsoInterval, c8 as isMinimized, c9 as isOptionsLocked, ca as isTitleInUse, cb as isWidgetEmptyState, cc as isWidgetKind, cd as isWidgetVisibleTo, ce as isWidgetWidth, cf as itemWidth, cg as kindLabel, ch as kpiDelta, ci as labelStride, cj as loadingWidgets, ck as memoryAdapter, cl as minimizeWidget, cm as movePage, cn as moveWidget, co as moveWidgetBy, cp as moveWidgetDown, cq as moveWidgetToPage, cr as moveWidgetUp, cs as nextPageKey, ct as niceDomain, cu as niceStep, cv as normalizeLayout, cw as normalizeSettings, cx as normalizeTitle, cy as ok, cz as optionValuesFor, cA as optionValuesFromLayout, cB as optionsCacheSuffix, cC as pageLayout, cD as pageList, cE as pageOf, cF as pageRoom, cG as pageWidgets, cH as parseClones, cI as parseDetailQuery, cJ as parseLayout, cK as parseSettings, cL as parseSortValue, cM as percentChange, cN as placeRows, cO as pruneLayout, cP as queryRows, cQ as readOnly, cR as removePage, cS as renamePage, cT as resolveDateRange, cU as resolveDetailOptions, cV as resolveOptionValues, cW as resolvePageKey, cX as resolvePayload, cY as resolveTableControls, cZ as resolveWidget, c_ as resolveWidgetLock, c$ as resolveWidgetUnapplied, d0 as resolveWidgets, d1 as restoreWidget, d2 as sameOptionValues, d3 as serializeClones, d4 as serializeDetailQuery, d5 as serializeLayout, d6 as serializeSettings, d7 as setWidgetSettings, d8 as shareOf, d9 as showWidget, da as sortDefinitions, db as sortFromOptions, dc as tableDetailData, dd as toggleHidden, de as toggleMinimized, df as usesWidthColumns, dg as utf8Length, dh as validateDetailData, di as viewChoices, dj as viewKind, dk as viewNote, dl as visibleWidgets, dm as widgetOptionValues, dn as widgetsFor, dp as widthForSize, dq as widthRange, dr as widthShareLabel, ds as withClones, dt as withEncoding, du as withFallback, dv as withLogging, dw as withPageLayout, dx as withPrefix, dy as withReadCache, dz as withRetry } from './storage-oivwB7al.cjs';
1
+ import { b as WidgetDefinition, r as PageOptions, C as CloneOptions, f as DashboardLayout, P as PageItem, s as Result, t as WidgetClone, D as DashboardWidget, p as WidgetContext, o as ResolveOptions, q as WidgetProviders, u as WidgetKind, v as WidgetPayload } from './storage-CRBfjiVZ.cjs';
2
+ export { w as AddPageOptions, x as AlertListItem, A as AlertListWidgetData, y as BASE_VIEW_KEY, z as BarListItem, B as BarListWidgetData, E as BooleanOption, F as CachedPayload, H as ChoiceOption, I as CloneItem, J as ColorOption, M as ColumnsOption, Q as ConflictPolicy, U as ConvertViewOptions, V as DATE_RANGE_PRESETS, X as DEFAULT_COMPARISON_LABEL, Y as DEFAULT_CURRENCY, Z as DEFAULT_DETAIL_PAGE_SIZE, _ as DEFAULT_EMPTY_TEXT, $ as DEFAULT_MAX_LAYOUT_BYTES, a0 as DEFAULT_PAGE_KEY, a1 as DEFAULT_PAGE_ROWS, a2 as DETAIL_MODES, a3 as DateRangeOption, a4 as DateRangePreset, a5 as DeltaDirection, a6 as DeltaSentiment, a7 as DetailCell, a8 as DetailColumn, d as DetailData, a9 as DetailMode, aa as DetailPage, ab as DetailProvider, c as DetailProviderOptions, ac as DetailProviders, e as DetailQuery, j as DetailSort, ad as EMPTY_LAYOUT, ae as EmptyWidget, af as EncodingOptions, ag as EnforceLocksOptions, ah as Err, ai as ErrorWidget, aj as FormatOptions, i as GaugeWidgetData, ak as GraphPoint, al as GraphSeries, G as GraphWidgetData, am as GridItem, an as KpiDelta, ao as KpiDeltaOptions, K as KpiWidgetData, ap as LAYOUT_ENVELOPE_VERSION, aq as LayoutItem, ar as LayoutPage, m as LayoutPersistence, as as LayoutPersistenceOptions, at as LayoutSettings, au as LoadedLayout, av as LoadingWidget, L as Locale, aw as MAX_DETAIL_PAGE_SIZE, ax as MAX_GRAPH_SERIES, ay as MAX_PAGE_ROWS, az as MAX_PAGE_TITLE_LENGTH, aA as MAX_PARSED_CLONES, aB as MAX_PARSED_PAGES, aC as MAX_PARSED_SETTINGS, aD as MAX_TEXT_OPTION_LENGTH, aE as MAX_WIDGET_OPTIONS, aF as MAX_WIDGET_TITLE_LENGTH, aG as MAX_WIDGET_VIEWS, aH as MAX_WIDGET_WIDTH, aI as MIN_WIDGET_WIDTH, N as NiceDomain, n as NormalizeOptions, aJ as NormalizeSettingsOptions, aK as NumberOption, aL as OPTION_KEY_PATTERN, aM as Ok, aN as OkWidget, aO as OptionContext, aP as OptionValue, O as OptionValues, aQ as PageRoom, aR as PlacedRow, aS as ProviderOptions, aT as ResolvedDetailOptions, R as ResolvedTableControls, aU as ResolvedWidget, aV as ResolvedWidgetLock, aW as RetryOptions, aX as SaveOptions, aY as SavedLayout, aZ as SettingsItem, a_ as SortDirection, a$ as SortOption, b0 as StorageAdapter, b1 as StorageLogEvent, b2 as StoreErrorCode, b3 as StoreResult, S as StoreScope, b4 as StoredValue, b5 as TableCell, b6 as TableColumn, T as TableWidgetData, b7 as TextOption, k as TextWidgetData, b8 as VALUE_FORMATS, b9 as VIEW_CONVERSIONS, ba as ValueFormat, bb as ViewConversion, bc as ViewsItem, bd as WIDGET_FILLS, be as WIDGET_KINDS, bf as WIDGET_OPTION_TYPES, bg as WIDGET_SIZES, bh as WIDTH_COLUMNS, bi as WidgetCache, l as WidgetData, bj as WidgetDataOf, bk as WidgetDetailOptions, bl as WidgetEmptyState, a as WidgetFill, bm as WidgetLock, bn as WidgetOption, bo as WidgetProvider, h as WidgetSettingsPatch, W as WidgetSize, bp as WidgetStatus, bq as WidgetTableControls, br as WidgetView, g as WidgetViewerSettings, bs as addPage, bt as applyClientOptions, bu as applySettings, bv as applyView, bw as assignPages, bx as baseColumnSpan, by as cacheKeyFor, bz as cleanClones, bA as clearWidgetSettings, bB as cloneNumber, bC as coerceOptionValue, bD as convertView, bE as createLayoutPersistence, bF as defaultDetailQuery, bG as defaultOptionValue, bH as defineWidget, bI as deriveDetailData, bJ as describeUnknownError, bK as effectiveDefinitions, bL as effectiveViewKey, bM as emptyTextFor, bN as emptyWidget, bO as enforceLocks, bP as err, bQ as failedWidget, bR as fillColumnSpans, bS as fillWidthSpans, bT as fillsHeight, bU as fillsWidth, bV as finalizeWidget, bW as findView, bX as fitCount, bY as formatCount, bZ as formatPercentChange, b_ as formatValue, b$ as hasPages, c0 as hasViews, c1 as hiddenWidgets, c2 as hideWidget, c3 as isClientApplied, c4 as isColumnKeyFor, c5 as isFlexible, c6 as isHidden, c7 as isIsoInterval, c8 as isMinimized, c9 as isOptionsLocked, ca as isProviderView, cb as isTitleInUse, cc as isWidgetEmptyState, cd as isWidgetKind, ce as isWidgetVisibleTo, cf as isWidgetWidth, cg as itemWidth, ch as kindLabel, ci as kpiDelta, cj as labelStride, ck as loadViewKey, cl as loadViewKind, cm as loadingWidgets, cn as memoryAdapter, co as minimizeWidget, cp as movePage, cq as moveWidget, cr as moveWidgetBy, cs as moveWidgetDown, ct as moveWidgetToPage, cu as moveWidgetUp, cv as nextPageKey, cw as niceDomain, cx as niceStep, cy as normalizeLayout, cz as normalizeSettings, cA as normalizeTitle, cB as ok, cC as optionValuesFor, cD as optionValuesFromLayout, cE as optionsCacheSuffix, cF as pageLayout, cG as pageList, cH as pageOf, cI as pageRoom, cJ as pageWidgets, cK as parseClones, cL as parseDetailQuery, cM as parseLayout, cN as parseSettings, cO as parseSortValue, cP as percentChange, cQ as placeRows, cR as pruneLayout, cS as queryRows, cT as readOnly, cU as removePage, cV as renamePage, cW as resolveDateRange, cX as resolveDetailOptions, cY as resolveOptionValues, cZ as resolvePageKey, c_ as resolvePayload, c$ as resolveTableControls, d0 as resolveWidget, d1 as resolveWidgetLock, d2 as resolveWidgetUnapplied, d3 as resolveWidgets, d4 as restoreWidget, d5 as sameOptionValues, d6 as serializeClones, d7 as serializeDetailQuery, d8 as serializeLayout, d9 as serializeSettings, da as setWidgetSettings, db as shareOf, dc as showWidget, dd as sortDefinitions, de as sortFromOptions, df as tableDetailData, dg as toggleHidden, dh as toggleMinimized, di as usesWidthColumns, dj as utf8Length, dk as validateDetailData, dl as viewChoices, dm as viewKind, dn as viewNote, dp as viewValuesFromLayout, dq as visibleWidgets, dr as widgetOptionValues, ds as widgetsFor, dt as widthForSize, du as widthRange, dv as widthShareLabel, dw as withClones, dx as withEncoding, dy as withFallback, dz as withLogging, dA as withPageLayout, dB as withPrefix, dC as withReadCache, dD as withRetry } from './storage-CRBfjiVZ.cjs';
3
3
 
4
4
  /**
5
5
  * Maker Toolkit compatibility. Its API (`apps/api/src/widgets`) serves
@@ -128,6 +128,14 @@ interface WidgetLoader {
128
128
  * values don't change.
129
129
  */
130
130
  setOptions(key: string, chosen: Readonly<Record<string, unknown>>): void;
131
+ /**
132
+ * Sets the view a widget shows (`undefined` or an empty string: its
133
+ * `defaultView`). Only a view the provider supplies loads anything: the
134
+ * provider is called with that view, the card shows loading until it
135
+ * arrives, and an earlier answer for the same view comes back from the
136
+ * cache. Switching among the base and converted views reloads nothing.
137
+ */
138
+ setView(key: string, view: string | undefined): void;
131
139
  /** Aborts everything in flight and ignores any later result. */
132
140
  dispose(): void;
133
141
  }
package/dist/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { b as WidgetDefinition, r as PageOptions, C as CloneOptions, f as DashboardLayout, P as PageItem, s as Result, t as WidgetClone, D as DashboardWidget, p as WidgetContext, o as ResolveOptions, q as WidgetProviders, u as WidgetKind, v as WidgetPayload } from './storage-oivwB7al.js';
2
- export { w as AddPageOptions, x as AlertListItem, A as AlertListWidgetData, y as BASE_VIEW_KEY, z as BarListItem, B as BarListWidgetData, E as BooleanOption, F as CachedPayload, H as ChoiceOption, I as CloneItem, J as ColorOption, M as ColumnsOption, Q as ConflictPolicy, U as ConvertViewOptions, V as DATE_RANGE_PRESETS, X as DEFAULT_COMPARISON_LABEL, Y as DEFAULT_CURRENCY, Z as DEFAULT_DETAIL_PAGE_SIZE, _ as DEFAULT_EMPTY_TEXT, $ as DEFAULT_MAX_LAYOUT_BYTES, a0 as DEFAULT_PAGE_KEY, a1 as DEFAULT_PAGE_ROWS, a2 as DETAIL_MODES, a3 as DateRangeOption, a4 as DateRangePreset, a5 as DeltaDirection, a6 as DeltaSentiment, a7 as DetailCell, a8 as DetailColumn, d as DetailData, a9 as DetailMode, aa as DetailPage, ab as DetailProvider, c as DetailProviderOptions, ac as DetailProviders, e as DetailQuery, j as DetailSort, ad as EMPTY_LAYOUT, ae as EmptyWidget, af as EncodingOptions, ag as EnforceLocksOptions, ah as Err, ai as ErrorWidget, aj as FormatOptions, i as GaugeWidgetData, ak as GraphPoint, al as GraphSeries, G as GraphWidgetData, am as GridItem, an as KpiDelta, ao as KpiDeltaOptions, K as KpiWidgetData, ap as LAYOUT_ENVELOPE_VERSION, aq as LayoutItem, ar as LayoutPage, m as LayoutPersistence, as as LayoutPersistenceOptions, at as LayoutSettings, au as LoadedLayout, av as LoadingWidget, L as Locale, aw as MAX_DETAIL_PAGE_SIZE, ax as MAX_GRAPH_SERIES, ay as MAX_PAGE_ROWS, az as MAX_PAGE_TITLE_LENGTH, aA as MAX_PARSED_CLONES, aB as MAX_PARSED_PAGES, aC as MAX_PARSED_SETTINGS, aD as MAX_TEXT_OPTION_LENGTH, aE as MAX_WIDGET_OPTIONS, aF as MAX_WIDGET_TITLE_LENGTH, aG as MAX_WIDGET_VIEWS, aH as MAX_WIDGET_WIDTH, aI as MIN_WIDGET_WIDTH, N as NiceDomain, n as NormalizeOptions, aJ as NormalizeSettingsOptions, aK as NumberOption, aL as OPTION_KEY_PATTERN, aM as Ok, aN as OkWidget, aO as OptionContext, aP as OptionValue, O as OptionValues, aQ as PageRoom, aR as PlacedRow, aS as ProviderOptions, aT as ResolvedDetailOptions, R as ResolvedTableControls, aU as ResolvedWidget, aV as ResolvedWidgetLock, aW as RetryOptions, aX as SaveOptions, aY as SavedLayout, aZ as SettingsItem, a_ as SortDirection, a$ as SortOption, b0 as StorageAdapter, b1 as StorageLogEvent, b2 as StoreErrorCode, b3 as StoreResult, S as StoreScope, b4 as StoredValue, b5 as TableCell, b6 as TableColumn, T as TableWidgetData, b7 as TextOption, k as TextWidgetData, b8 as VALUE_FORMATS, b9 as VIEW_CONVERSIONS, ba as ValueFormat, bb as ViewConversion, bc as ViewsItem, bd as WIDGET_FILLS, be as WIDGET_KINDS, bf as WIDGET_OPTION_TYPES, bg as WIDGET_SIZES, bh as WIDTH_COLUMNS, bi as WidgetCache, l as WidgetData, bj as WidgetDataOf, bk as WidgetDetailOptions, bl as WidgetEmptyState, a as WidgetFill, bm as WidgetLock, bn as WidgetOption, bo as WidgetProvider, h as WidgetSettingsPatch, W as WidgetSize, bp as WidgetStatus, bq as WidgetTableControls, br as WidgetView, g as WidgetViewerSettings, bs as addPage, bt as applyClientOptions, bu as applySettings, bv as applyView, bw as assignPages, bx as baseColumnSpan, by as cacheKeyFor, bz as cleanClones, bA as clearWidgetSettings, bB as cloneNumber, bC as coerceOptionValue, bD as convertView, bE as createLayoutPersistence, bF as defaultDetailQuery, bG as defaultOptionValue, bH as defineWidget, bI as deriveDetailData, bJ as describeUnknownError, bK as effectiveDefinitions, bL as effectiveViewKey, bM as emptyTextFor, bN as emptyWidget, bO as enforceLocks, bP as err, bQ as failedWidget, bR as fillColumnSpans, bS as fillWidthSpans, bT as fillsHeight, bU as fillsWidth, bV as finalizeWidget, bW as findView, bX as fitCount, bY as formatCount, bZ as formatPercentChange, b_ as formatValue, b$ as hasPages, c0 as hasViews, c1 as hiddenWidgets, c2 as hideWidget, c3 as isClientApplied, c4 as isColumnKeyFor, c5 as isFlexible, c6 as isHidden, c7 as isIsoInterval, c8 as isMinimized, c9 as isOptionsLocked, ca as isTitleInUse, cb as isWidgetEmptyState, cc as isWidgetKind, cd as isWidgetVisibleTo, ce as isWidgetWidth, cf as itemWidth, cg as kindLabel, ch as kpiDelta, ci as labelStride, cj as loadingWidgets, ck as memoryAdapter, cl as minimizeWidget, cm as movePage, cn as moveWidget, co as moveWidgetBy, cp as moveWidgetDown, cq as moveWidgetToPage, cr as moveWidgetUp, cs as nextPageKey, ct as niceDomain, cu as niceStep, cv as normalizeLayout, cw as normalizeSettings, cx as normalizeTitle, cy as ok, cz as optionValuesFor, cA as optionValuesFromLayout, cB as optionsCacheSuffix, cC as pageLayout, cD as pageList, cE as pageOf, cF as pageRoom, cG as pageWidgets, cH as parseClones, cI as parseDetailQuery, cJ as parseLayout, cK as parseSettings, cL as parseSortValue, cM as percentChange, cN as placeRows, cO as pruneLayout, cP as queryRows, cQ as readOnly, cR as removePage, cS as renamePage, cT as resolveDateRange, cU as resolveDetailOptions, cV as resolveOptionValues, cW as resolvePageKey, cX as resolvePayload, cY as resolveTableControls, cZ as resolveWidget, c_ as resolveWidgetLock, c$ as resolveWidgetUnapplied, d0 as resolveWidgets, d1 as restoreWidget, d2 as sameOptionValues, d3 as serializeClones, d4 as serializeDetailQuery, d5 as serializeLayout, d6 as serializeSettings, d7 as setWidgetSettings, d8 as shareOf, d9 as showWidget, da as sortDefinitions, db as sortFromOptions, dc as tableDetailData, dd as toggleHidden, de as toggleMinimized, df as usesWidthColumns, dg as utf8Length, dh as validateDetailData, di as viewChoices, dj as viewKind, dk as viewNote, dl as visibleWidgets, dm as widgetOptionValues, dn as widgetsFor, dp as widthForSize, dq as widthRange, dr as widthShareLabel, ds as withClones, dt as withEncoding, du as withFallback, dv as withLogging, dw as withPageLayout, dx as withPrefix, dy as withReadCache, dz as withRetry } from './storage-oivwB7al.js';
1
+ import { b as WidgetDefinition, r as PageOptions, C as CloneOptions, f as DashboardLayout, P as PageItem, s as Result, t as WidgetClone, D as DashboardWidget, p as WidgetContext, o as ResolveOptions, q as WidgetProviders, u as WidgetKind, v as WidgetPayload } from './storage-CRBfjiVZ.js';
2
+ export { w as AddPageOptions, x as AlertListItem, A as AlertListWidgetData, y as BASE_VIEW_KEY, z as BarListItem, B as BarListWidgetData, E as BooleanOption, F as CachedPayload, H as ChoiceOption, I as CloneItem, J as ColorOption, M as ColumnsOption, Q as ConflictPolicy, U as ConvertViewOptions, V as DATE_RANGE_PRESETS, X as DEFAULT_COMPARISON_LABEL, Y as DEFAULT_CURRENCY, Z as DEFAULT_DETAIL_PAGE_SIZE, _ as DEFAULT_EMPTY_TEXT, $ as DEFAULT_MAX_LAYOUT_BYTES, a0 as DEFAULT_PAGE_KEY, a1 as DEFAULT_PAGE_ROWS, a2 as DETAIL_MODES, a3 as DateRangeOption, a4 as DateRangePreset, a5 as DeltaDirection, a6 as DeltaSentiment, a7 as DetailCell, a8 as DetailColumn, d as DetailData, a9 as DetailMode, aa as DetailPage, ab as DetailProvider, c as DetailProviderOptions, ac as DetailProviders, e as DetailQuery, j as DetailSort, ad as EMPTY_LAYOUT, ae as EmptyWidget, af as EncodingOptions, ag as EnforceLocksOptions, ah as Err, ai as ErrorWidget, aj as FormatOptions, i as GaugeWidgetData, ak as GraphPoint, al as GraphSeries, G as GraphWidgetData, am as GridItem, an as KpiDelta, ao as KpiDeltaOptions, K as KpiWidgetData, ap as LAYOUT_ENVELOPE_VERSION, aq as LayoutItem, ar as LayoutPage, m as LayoutPersistence, as as LayoutPersistenceOptions, at as LayoutSettings, au as LoadedLayout, av as LoadingWidget, L as Locale, aw as MAX_DETAIL_PAGE_SIZE, ax as MAX_GRAPH_SERIES, ay as MAX_PAGE_ROWS, az as MAX_PAGE_TITLE_LENGTH, aA as MAX_PARSED_CLONES, aB as MAX_PARSED_PAGES, aC as MAX_PARSED_SETTINGS, aD as MAX_TEXT_OPTION_LENGTH, aE as MAX_WIDGET_OPTIONS, aF as MAX_WIDGET_TITLE_LENGTH, aG as MAX_WIDGET_VIEWS, aH as MAX_WIDGET_WIDTH, aI as MIN_WIDGET_WIDTH, N as NiceDomain, n as NormalizeOptions, aJ as NormalizeSettingsOptions, aK as NumberOption, aL as OPTION_KEY_PATTERN, aM as Ok, aN as OkWidget, aO as OptionContext, aP as OptionValue, O as OptionValues, aQ as PageRoom, aR as PlacedRow, aS as ProviderOptions, aT as ResolvedDetailOptions, R as ResolvedTableControls, aU as ResolvedWidget, aV as ResolvedWidgetLock, aW as RetryOptions, aX as SaveOptions, aY as SavedLayout, aZ as SettingsItem, a_ as SortDirection, a$ as SortOption, b0 as StorageAdapter, b1 as StorageLogEvent, b2 as StoreErrorCode, b3 as StoreResult, S as StoreScope, b4 as StoredValue, b5 as TableCell, b6 as TableColumn, T as TableWidgetData, b7 as TextOption, k as TextWidgetData, b8 as VALUE_FORMATS, b9 as VIEW_CONVERSIONS, ba as ValueFormat, bb as ViewConversion, bc as ViewsItem, bd as WIDGET_FILLS, be as WIDGET_KINDS, bf as WIDGET_OPTION_TYPES, bg as WIDGET_SIZES, bh as WIDTH_COLUMNS, bi as WidgetCache, l as WidgetData, bj as WidgetDataOf, bk as WidgetDetailOptions, bl as WidgetEmptyState, a as WidgetFill, bm as WidgetLock, bn as WidgetOption, bo as WidgetProvider, h as WidgetSettingsPatch, W as WidgetSize, bp as WidgetStatus, bq as WidgetTableControls, br as WidgetView, g as WidgetViewerSettings, bs as addPage, bt as applyClientOptions, bu as applySettings, bv as applyView, bw as assignPages, bx as baseColumnSpan, by as cacheKeyFor, bz as cleanClones, bA as clearWidgetSettings, bB as cloneNumber, bC as coerceOptionValue, bD as convertView, bE as createLayoutPersistence, bF as defaultDetailQuery, bG as defaultOptionValue, bH as defineWidget, bI as deriveDetailData, bJ as describeUnknownError, bK as effectiveDefinitions, bL as effectiveViewKey, bM as emptyTextFor, bN as emptyWidget, bO as enforceLocks, bP as err, bQ as failedWidget, bR as fillColumnSpans, bS as fillWidthSpans, bT as fillsHeight, bU as fillsWidth, bV as finalizeWidget, bW as findView, bX as fitCount, bY as formatCount, bZ as formatPercentChange, b_ as formatValue, b$ as hasPages, c0 as hasViews, c1 as hiddenWidgets, c2 as hideWidget, c3 as isClientApplied, c4 as isColumnKeyFor, c5 as isFlexible, c6 as isHidden, c7 as isIsoInterval, c8 as isMinimized, c9 as isOptionsLocked, ca as isProviderView, cb as isTitleInUse, cc as isWidgetEmptyState, cd as isWidgetKind, ce as isWidgetVisibleTo, cf as isWidgetWidth, cg as itemWidth, ch as kindLabel, ci as kpiDelta, cj as labelStride, ck as loadViewKey, cl as loadViewKind, cm as loadingWidgets, cn as memoryAdapter, co as minimizeWidget, cp as movePage, cq as moveWidget, cr as moveWidgetBy, cs as moveWidgetDown, ct as moveWidgetToPage, cu as moveWidgetUp, cv as nextPageKey, cw as niceDomain, cx as niceStep, cy as normalizeLayout, cz as normalizeSettings, cA as normalizeTitle, cB as ok, cC as optionValuesFor, cD as optionValuesFromLayout, cE as optionsCacheSuffix, cF as pageLayout, cG as pageList, cH as pageOf, cI as pageRoom, cJ as pageWidgets, cK as parseClones, cL as parseDetailQuery, cM as parseLayout, cN as parseSettings, cO as parseSortValue, cP as percentChange, cQ as placeRows, cR as pruneLayout, cS as queryRows, cT as readOnly, cU as removePage, cV as renamePage, cW as resolveDateRange, cX as resolveDetailOptions, cY as resolveOptionValues, cZ as resolvePageKey, c_ as resolvePayload, c$ as resolveTableControls, d0 as resolveWidget, d1 as resolveWidgetLock, d2 as resolveWidgetUnapplied, d3 as resolveWidgets, d4 as restoreWidget, d5 as sameOptionValues, d6 as serializeClones, d7 as serializeDetailQuery, d8 as serializeLayout, d9 as serializeSettings, da as setWidgetSettings, db as shareOf, dc as showWidget, dd as sortDefinitions, de as sortFromOptions, df as tableDetailData, dg as toggleHidden, dh as toggleMinimized, di as usesWidthColumns, dj as utf8Length, dk as validateDetailData, dl as viewChoices, dm as viewKind, dn as viewNote, dp as viewValuesFromLayout, dq as visibleWidgets, dr as widgetOptionValues, ds as widgetsFor, dt as widthForSize, du as widthRange, dv as widthShareLabel, dw as withClones, dx as withEncoding, dy as withFallback, dz as withLogging, dA as withPageLayout, dB as withPrefix, dC as withReadCache, dD as withRetry } from './storage-CRBfjiVZ.js';
3
3
 
4
4
  /**
5
5
  * Maker Toolkit compatibility. Its API (`apps/api/src/widgets`) serves
@@ -128,6 +128,14 @@ interface WidgetLoader {
128
128
  * values don't change.
129
129
  */
130
130
  setOptions(key: string, chosen: Readonly<Record<string, unknown>>): void;
131
+ /**
132
+ * Sets the view a widget shows (`undefined` or an empty string: its
133
+ * `defaultView`). Only a view the provider supplies loads anything: the
134
+ * provider is called with that view, the card shows loading until it
135
+ * arrives, and an earlier answer for the same view comes back from the
136
+ * cache. Switching among the base and converted views reloads nothing.
137
+ */
138
+ setView(key: string, view: string | undefined): void;
131
139
  /** Aborts everything in flight and ignores any later result. */
132
140
  dispose(): void;
133
141
  }
package/dist/core.js CHANGED
@@ -337,6 +337,9 @@ function viewChoices(item) {
337
337
  }))
338
338
  ];
339
339
  }
340
+ function isProviderView(view) {
341
+ return view.convert === void 0;
342
+ }
340
343
  function isKnownView(item, key) {
341
344
  return key !== void 0 && (key === BASE_VIEW_KEY || findView(item, key) !== void 0);
342
345
  }
@@ -349,6 +352,14 @@ function effectiveViewKey(item, chosen) {
349
352
  function viewKind(item, chosen) {
350
353
  return findView(item, effectiveViewKey(item, chosen))?.kind ?? item.kind;
351
354
  }
355
+ function loadViewKey(item, chosen) {
356
+ const key = effectiveViewKey(item, chosen);
357
+ const view = findView(item, key);
358
+ return view !== void 0 && isProviderView(view) ? key : BASE_VIEW_KEY;
359
+ }
360
+ function loadViewKind(item, chosen) {
361
+ return findView(item, loadViewKey(item, chosen))?.kind ?? item.kind;
362
+ }
352
363
  function cellValue(cell) {
353
364
  const value = cell?.value;
354
365
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
@@ -483,6 +494,11 @@ function convertView(widgetKey, view, data, options = {}) {
483
494
  where: `Widget ${JSON.stringify(widgetKey)} view ${JSON.stringify(view.key)}`,
484
495
  ...options.locale === void 0 ? {} : { locale: options.locale }
485
496
  };
497
+ if (conversion === void 0) {
498
+ return err(
499
+ `${context.where}: the provider supplies this view, so there is nothing to convert.`
500
+ );
501
+ }
486
502
  const expected = VIEW_CONVERSIONS[conversion.type]?.from;
487
503
  if (expected === void 0) {
488
504
  return err(
@@ -508,8 +524,8 @@ function convertView(widgetKey, view, data, options = {}) {
508
524
  }
509
525
  }
510
526
  function viewNote(view, data) {
511
- if (data?.kind !== "TABLE") return "";
512
527
  const conversion = view.convert;
528
+ if (data?.kind !== "TABLE" || conversion === void 0) return "";
513
529
  let indexes;
514
530
  if (conversion.type === "tableToBarList") {
515
531
  indexes = [conversion.label, conversion.value];
@@ -526,14 +542,29 @@ function viewNote(view, data) {
526
542
  function applyView(widget, chosen, options = {}) {
527
543
  const key = effectiveViewKey(widget.definition, chosen);
528
544
  const view = findView(widget.definition, key);
529
- if (view === void 0) return widget;
545
+ const wanted = loadViewKey(widget.definition, chosen);
546
+ const loaded = widget.status === "ok" ? widget.view ?? BASE_VIEW_KEY : void 0;
547
+ const mismatched = loaded !== void 0 && loaded !== wanted;
548
+ if (view === void 0) {
549
+ return mismatched ? {
550
+ definition: widget.definition,
551
+ status: "loading",
552
+ ...widget.options === void 0 ? {} : { options: widget.options }
553
+ } : widget;
554
+ }
530
555
  const definition = {
531
556
  ...widget.definition,
532
557
  kind: view.kind
533
558
  };
534
- if (widget.status === "loading") return { ...widget, definition };
535
- if (widget.status === "empty") return { ...widget, definition };
536
- if (widget.status === "error") return { ...widget, definition };
559
+ if (widget.status !== "ok") return { ...widget, definition };
560
+ if (mismatched) {
561
+ return {
562
+ definition,
563
+ status: "loading",
564
+ ...widget.options === void 0 ? {} : { options: widget.options }
565
+ };
566
+ }
567
+ if (isProviderView(view)) return { ...widget, definition };
537
568
  const converted = convertView(
538
569
  widget.definition.key,
539
570
  view,
@@ -1342,6 +1373,15 @@ function optionValuesFromLayout(definitions, layout, options = {}) {
1342
1373
  }
1343
1374
  return out;
1344
1375
  }
1376
+ function viewValuesFromLayout(definitions, layout, options = {}) {
1377
+ const out = {};
1378
+ for (const definition of definitions) {
1379
+ if (!(definition.views ?? []).some(isProviderView)) continue;
1380
+ const locked = options.overrideLocks !== true && isOptionsLocked(definition);
1381
+ out[definition.key] = locked ? "" : layout.settings?.[definition.key]?.view ?? "";
1382
+ }
1383
+ return out;
1384
+ }
1345
1385
  function sameSettings(a, b) {
1346
1386
  if (a === b) return true;
1347
1387
  return a?.title === b?.title && a?.width === b?.width && a?.flexible === b?.flexible && a?.view === b?.view && sameOptionValues(a?.options ?? {}, b?.options ?? {});
@@ -3154,11 +3194,7 @@ function checkViews(value, problems) {
3154
3194
  problems.push(`${path}.label must be a non-empty string.`);
3155
3195
  }
3156
3196
  requireOneOf(view, "kind", WIDGET_KINDS, path, problems);
3157
- if (view["convert"] === void 0) {
3158
- problems.push(
3159
- `${path}.convert is required: views supplied by a provider are not supported yet.`
3160
- );
3161
- } else {
3197
+ if (view["convert"] !== void 0) {
3162
3198
  checkConversion(
3163
3199
  view["convert"],
3164
3200
  `${path}.convert`,
@@ -3279,7 +3315,10 @@ function resolvePayload(definition, payload, options = {}) {
3279
3315
  } else {
3280
3316
  const result = validateWidgetData(payload, {
3281
3317
  widgetKey: definition.key,
3282
- expectedKind: definition.kind
3318
+ expectedKind: loadViewKind(
3319
+ definition,
3320
+ options.viewValues?.[definition.key]
3321
+ )
3283
3322
  });
3284
3323
  if (!result.ok) {
3285
3324
  return { definition, status: "error", error: result.error };
@@ -3290,7 +3329,14 @@ function resolvePayload(definition, payload, options = {}) {
3290
3329
  if (emptyText !== null) {
3291
3330
  return { definition, status: "empty", emptyText };
3292
3331
  }
3293
- return { definition, status: "ok", data: checked };
3332
+ return {
3333
+ definition,
3334
+ status: "ok",
3335
+ data: checked,
3336
+ ...hasViews(definition) ? {
3337
+ view: loadViewKey(definition, options.viewValues?.[definition.key])
3338
+ } : {}
3339
+ };
3294
3340
  }
3295
3341
  function failedWidget(definition, error) {
3296
3342
  return { definition, status: "error", error };
@@ -3300,7 +3346,14 @@ function loadingWidgets(definitions) {
3300
3346
  }
3301
3347
  function cacheKeyFor(definition, options, values) {
3302
3348
  const base = options.cacheKey === void 0 ? definition.sourceKey ?? definition.key : options.cacheKey(definition);
3303
- return values === void 0 ? base : `${base}${optionsCacheSuffix(definition, values, options)}`;
3349
+ const view = loadViewKey(
3350
+ definition,
3351
+ options.viewValues?.[definition.key]
3352
+ );
3353
+ const viewPart = view === BASE_VIEW_KEY ? "" : `view=${encodeURIComponent(view)}`;
3354
+ const optionPart = values === void 0 ? "" : optionsCacheSuffix(definition, values, options);
3355
+ if (viewPart === "") return `${base}${optionPart}`;
3356
+ return optionPart === "" ? `${base}?${viewPart}` : `${base}?${viewPart}&${optionPart.slice(1)}`;
3304
3357
  }
3305
3358
  function optionValuesFor(definition, options) {
3306
3359
  return resolveOptionValues(
@@ -3311,6 +3364,9 @@ function optionValuesFor(definition, options) {
3311
3364
  }
3312
3365
  function finalizeWidget(widget, values) {
3313
3366
  if (Object.keys(values).length === 0) return widget;
3367
+ if (widget.status === "ok" && widget.view !== void 0 && widget.view !== BASE_VIEW_KEY) {
3368
+ return { ...widget, options: values };
3369
+ }
3314
3370
  if (widget.status === "ok") {
3315
3371
  const data = applyClientOptions(
3316
3372
  widget.definition,
@@ -3368,7 +3424,8 @@ async function resolveWidgetUnapplied(definition, provider, context, options = {
3368
3424
  if (controller.signal.aborted) throw new LoadInterruption();
3369
3425
  return provider(context, definition, {
3370
3426
  signal: controller.signal,
3371
- options: values
3427
+ options: values,
3428
+ view: loadViewKey(definition, options.viewValues?.[definition.key])
3372
3429
  });
3373
3430
  }),
3374
3431
  interrupted
@@ -3432,9 +3489,18 @@ function createWidgetLoader(options) {
3432
3489
  ([key, values]) => values === void 0 ? [] : [[key, values]]
3433
3490
  )
3434
3491
  );
3492
+ const chosenViews = new Map(
3493
+ Object.entries(baseOptions.viewValues ?? {}).flatMap(
3494
+ ([key, view]) => view === void 0 ? [] : [[key, view]]
3495
+ )
3496
+ );
3435
3497
  const resolveOptions = baseOptions;
3436
3498
  function currentOptions() {
3437
- return { ...resolveOptions, optionValues: Object.fromEntries(chosen) };
3499
+ return {
3500
+ ...resolveOptions,
3501
+ optionValues: Object.fromEntries(chosen),
3502
+ viewValues: Object.fromEntries(chosenViews)
3503
+ };
3438
3504
  }
3439
3505
  const unapplied = /* @__PURE__ */ new Map();
3440
3506
  const visible = widgetsFor(definitions, context.roles);
@@ -3567,6 +3633,23 @@ function createWidgetLoader(options) {
3567
3633
  }
3568
3634
  start(definition, true);
3569
3635
  }
3636
+ function setView(key, view) {
3637
+ if (disposed) return;
3638
+ const definition = definitionFor(key);
3639
+ if (definition === void 0) return;
3640
+ const before = loadViewKey(definition, chosenViews.get(key));
3641
+ if (view === void 0 || view === "") chosenViews.delete(key);
3642
+ else chosenViews.set(key, view);
3643
+ const after = loadViewKey(definition, chosenViews.get(key));
3644
+ if (before === after || !started.has(key)) return;
3645
+ const current = snapshot.find(
3646
+ (widget) => widget.definition.key === key
3647
+ );
3648
+ if (current !== void 0 && current.status !== "loading") {
3649
+ replace(key, { definition, status: "loading" });
3650
+ }
3651
+ start(definition, true);
3652
+ }
3570
3653
  function dispose() {
3571
3654
  disposed = true;
3572
3655
  abortAll(new Error("The widget loader was disposed."));
@@ -3585,6 +3668,7 @@ function createWidgetLoader(options) {
3585
3668
  loadAll,
3586
3669
  refresh,
3587
3670
  setOptions,
3671
+ setView,
3588
3672
  dispose
3589
3673
  };
3590
3674
  }
@@ -4418,6 +4502,6 @@ function indent(block) {
4418
4502
  return block.split("\n").map((line) => ` ${line}`).join("\n");
4419
4503
  }
4420
4504
 
4421
- export { BASE_VIEW_KEY, DATE_RANGE_PRESETS, DEFAULT_COMPARISON_LABEL, DEFAULT_CURRENCY, DEFAULT_DETAIL_PAGE_SIZE, DEFAULT_EMPTY_TEXT, DEFAULT_MAX_LAYOUT_BYTES, DEFAULT_PAGE_KEY, DEFAULT_PAGE_ROWS, DETAIL_MODES, EMPTY_LAYOUT, LAYOUT_ENVELOPE_VERSION, MAX_DETAIL_PAGE_SIZE, MAX_GRAPH_SERIES, MAX_PAGE_ROWS, MAX_PAGE_TITLE_LENGTH, MAX_PARSED_CLONES, MAX_PARSED_PAGES, MAX_PARSED_SETTINGS, MAX_REPORTED_PROBLEMS, MAX_TEXT_OPTION_LENGTH, MAX_WIDGET_OPTIONS, MAX_WIDGET_TITLE_LENGTH, MAX_WIDGET_VIEWS, MAX_WIDGET_WIDTH, MIN_WIDGET_WIDTH, OPTION_KEY_PATTERN, THEME_TOKEN_VARIABLES, VALUE_FORMATS, VIEW_CONVERSIONS, WIDGET_FILLS, WIDGET_KINDS, WIDGET_OPTION_TYPES, WIDGET_SIZES, WIDTH_COLUMNS, addPage, applyClientOptions, applySettings, applyView, assignPages, baseColumnSpan, cacheKeyFor, canDuplicate, cleanClones, clearWidgetSettings, cloneNumber, coerceOptionValue, convertView, createLayoutPersistence, createTheme, createWidgetLoader, defaultDetailQuery, defaultOptionValue, defineWidget, deleteClone, deriveDetailData, describeUnknownError, duplicateWidget, effectiveDefinitions, effectiveViewKey, emptyTextFor, emptyWidget, enforceLocks, err, failedWidget, fillColumnSpans, fillWidthSpans, fillsHeight, fillsWidth, finalizeWidget, findView, fitCount, formatCount, formatPercentChange, formatValue, fromLegacyDefinition, hasPages, hasViews, hiddenWidgets, hideWidget, isClientApplied, isColumnKeyFor, isFlexible, isHidden, isIsoInterval, isMinimized, isOptionsLocked, isSafeHref, isSafeImageUrl, isTitleInUse, isWidgetEmptyState, isWidgetKind, isWidgetVisibleTo, isWidgetWidth, itemWidth, kindLabel, kpiDelta, labelStride, loadingWidgets, memoryAdapter, minimizeWidget, movePage, moveWidget, moveWidgetBy, moveWidgetDown, moveWidgetToPage, moveWidgetUp, nextCloneKey, nextPageKey, niceDomain, niceStep, normalizeLayout, normalizeSettings, normalizeTitle, ok, optionValuesFor, optionValuesFromLayout, optionsCacheSuffix, pageLayout, pageList, pageOf, pageRoom, pageWidgets, parseClones, parseDetailQuery, parseLayout, parseSettings, parseSortValue, percentChange, placeRows, pruneLayout, queryRows, readOnly, removePage, renamePage, resolveDateRange, resolveDetailOptions, resolveOptionValues, resolvePageKey, resolvePayload, resolveTableControls, resolveWidget, resolveWidgetLock, resolveWidgetUnapplied, resolveWidgets, restoreWidget, sameOptionValues, serializeClones, serializeDetailQuery, serializeLayout, serializeSettings, setWidgetSettings, shareOf, showWidget, sortDefinitions, sortFromOptions, suggestedViewTitle, tableDetailData, toggleHidden, toggleMinimized, upgradeLegacyWidgetData, usesWidthColumns, utf8Length, validateDetailData, validateWidgetData, validateWidgetDefinition, viewChoices, viewKind, viewNote, visibleWidgets, widgetOptionValues, widgetsFor, widthForSize, widthRange, widthShareLabel, withClones, withEncoding, withFallback, withLogging, withPageLayout, withPrefix, withReadCache, withRetry };
4505
+ export { BASE_VIEW_KEY, DATE_RANGE_PRESETS, DEFAULT_COMPARISON_LABEL, DEFAULT_CURRENCY, DEFAULT_DETAIL_PAGE_SIZE, DEFAULT_EMPTY_TEXT, DEFAULT_MAX_LAYOUT_BYTES, DEFAULT_PAGE_KEY, DEFAULT_PAGE_ROWS, DETAIL_MODES, EMPTY_LAYOUT, LAYOUT_ENVELOPE_VERSION, MAX_DETAIL_PAGE_SIZE, MAX_GRAPH_SERIES, MAX_PAGE_ROWS, MAX_PAGE_TITLE_LENGTH, MAX_PARSED_CLONES, MAX_PARSED_PAGES, MAX_PARSED_SETTINGS, MAX_REPORTED_PROBLEMS, MAX_TEXT_OPTION_LENGTH, MAX_WIDGET_OPTIONS, MAX_WIDGET_TITLE_LENGTH, MAX_WIDGET_VIEWS, MAX_WIDGET_WIDTH, MIN_WIDGET_WIDTH, OPTION_KEY_PATTERN, THEME_TOKEN_VARIABLES, VALUE_FORMATS, VIEW_CONVERSIONS, WIDGET_FILLS, WIDGET_KINDS, WIDGET_OPTION_TYPES, WIDGET_SIZES, WIDTH_COLUMNS, addPage, applyClientOptions, applySettings, applyView, assignPages, baseColumnSpan, cacheKeyFor, canDuplicate, cleanClones, clearWidgetSettings, cloneNumber, coerceOptionValue, convertView, createLayoutPersistence, createTheme, createWidgetLoader, defaultDetailQuery, defaultOptionValue, defineWidget, deleteClone, deriveDetailData, describeUnknownError, duplicateWidget, effectiveDefinitions, effectiveViewKey, emptyTextFor, emptyWidget, enforceLocks, err, failedWidget, fillColumnSpans, fillWidthSpans, fillsHeight, fillsWidth, finalizeWidget, findView, fitCount, formatCount, formatPercentChange, formatValue, fromLegacyDefinition, hasPages, hasViews, hiddenWidgets, hideWidget, isClientApplied, isColumnKeyFor, isFlexible, isHidden, isIsoInterval, isMinimized, isOptionsLocked, isProviderView, isSafeHref, isSafeImageUrl, isTitleInUse, isWidgetEmptyState, isWidgetKind, isWidgetVisibleTo, isWidgetWidth, itemWidth, kindLabel, kpiDelta, labelStride, loadViewKey, loadViewKind, loadingWidgets, memoryAdapter, minimizeWidget, movePage, moveWidget, moveWidgetBy, moveWidgetDown, moveWidgetToPage, moveWidgetUp, nextCloneKey, nextPageKey, niceDomain, niceStep, normalizeLayout, normalizeSettings, normalizeTitle, ok, optionValuesFor, optionValuesFromLayout, optionsCacheSuffix, pageLayout, pageList, pageOf, pageRoom, pageWidgets, parseClones, parseDetailQuery, parseLayout, parseSettings, parseSortValue, percentChange, placeRows, pruneLayout, queryRows, readOnly, removePage, renamePage, resolveDateRange, resolveDetailOptions, resolveOptionValues, resolvePageKey, resolvePayload, resolveTableControls, resolveWidget, resolveWidgetLock, resolveWidgetUnapplied, resolveWidgets, restoreWidget, sameOptionValues, serializeClones, serializeDetailQuery, serializeLayout, serializeSettings, setWidgetSettings, shareOf, showWidget, sortDefinitions, sortFromOptions, suggestedViewTitle, tableDetailData, toggleHidden, toggleMinimized, upgradeLegacyWidgetData, usesWidthColumns, utf8Length, validateDetailData, validateWidgetData, validateWidgetDefinition, viewChoices, viewKind, viewNote, viewValuesFromLayout, visibleWidgets, widgetOptionValues, widgetsFor, widthForSize, widthRange, widthShareLabel, withClones, withEncoding, withFallback, withLogging, withPageLayout, withPrefix, withReadCache, withRetry };
4422
4506
  //# sourceMappingURL=core.js.map
4423
4507
  //# sourceMappingURL=core.js.map