@orangelogic/design-system 2.113.0 → 2.115.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/library/chunks/asset.CtPQLZOf.js +607 -0
- package/library/chunks/{button.DIvU_uFU.js → button.DwJEeW2t.js} +1 -1
- package/library/chunks/{color-swatch-group.DV5uB8OC.js → color-swatch-group.DjjSIHSV.js} +7 -7
- package/library/chunks/{color-swatch.BoUZGGs4.js → color-swatch.DVzEaNeL.js} +1 -1
- package/library/chunks/{confirm-popover.DS9HIy3c.js → confirm-popover.BifwpSuf.js} +3 -3
- package/library/chunks/{dialog.DyT-Nai2.js → dialog.BYCWepBc.js} +2 -2
- package/library/chunks/{document-viewer.AiKX3RO6.js → document-viewer.BIC9iYpZ.js} +1237 -1233
- package/library/chunks/{dot-pagination.CKbL6eN_.js → dot-pagination.C4l5vKor.js} +1 -1
- package/library/chunks/{endpoints.DBlquU2-.js → endpoints.CDX5PgQz.js} +251 -251
- package/library/chunks/{file-on-demand.h8tCgq51.js → file-on-demand.AwMj4AfO.js} +246 -227
- package/library/chunks/{folder-select.eoufobYO.js → folder-select.8xNjeJfp.js} +5 -5
- package/library/chunks/{header.BUp3_oeJ.js → header.Cf9ujCpg.js} +3 -3
- package/library/chunks/{i18n.C21qyGi6.js → i18n.CH-wak_P.js} +3 -1
- package/library/chunks/{icon-button.DxkJ-cp-.js → icon-button.CQiBjznj.js} +1 -1
- package/library/chunks/{iframe.CwxozWMt.js → iframe.BQPVygBJ.js} +1 -1
- package/library/chunks/{image.B-YcKRop.js → image.cT-FziNS.js} +1 -1
- package/library/chunks/{input.DdeXWD_F.js → input.CH4lKxPM.js} +1 -1
- package/library/chunks/{list-editor.Qx2ecTcL.js → list-editor.7zNWfBuW.js} +13 -13
- package/library/chunks/{option.CcGRV3jj.js → option.Bvh35v8S.js} +10 -10
- package/library/chunks/{pagination.CgAt4Keg.js → pagination.zQ2FFtxB.js} +5 -5
- package/library/chunks/{tab-group.hfUY7YE7.js → tab-group.DvMX02hY.js} +3 -3
- package/library/chunks/{table.CP3oGDY1.js → table.BvbReIZh.js} +46 -45
- package/library/chunks/{time.BiQnh9wt.js → time.BSmpFe2G.js} +2 -2
- package/library/chunks/{tree.YxFs3Tke.js → tree.Btf2Q4YZ.js} +10 -7
- package/library/chunks/waveform.1U9U_0rd.js +60 -0
- package/library/components/alert.js +2 -2
- package/library/components/asset-link-format.js +6 -6
- package/library/components/atoms.js +129 -131
- package/library/components/audio.js +132 -183
- package/library/components/border-input-group.js +2 -2
- package/library/components/breadcrumb.js +1 -1
- package/library/components/button.js +2 -2
- package/library/components/color-picker.js +3 -3
- package/library/components/color-swatch-group.js +4 -4
- package/library/components/color-swatch.js +2 -2
- package/library/components/confirm-popover.js +4 -4
- package/library/components/copy-button.js +1 -1
- package/library/components/corner-position-input-group.js +3 -3
- package/library/components/date-calendar.js +1 -1
- package/library/components/details.js +1 -1
- package/library/components/dialog.js +3 -3
- package/library/components/divider.js +15 -15
- package/library/components/document-viewer.js +3 -3
- package/library/components/dot-pagination.js +2 -2
- package/library/components/drawer.js +2 -2
- package/library/components/dropdown.js +2 -2
- package/library/components/dynamic-select.js +4 -4
- package/library/components/e-chart.js +1 -1
- package/library/components/element-clamp.js +2 -2
- package/library/components/file-on-demand.js +10 -10
- package/library/components/folder-select.js +5 -5
- package/library/components/format-bytes.js +1 -1
- package/library/components/format-date.js +1 -1
- package/library/components/format-number.js +1 -1
- package/library/components/format-time.js +2 -2
- package/library/components/header.js +2 -2
- package/library/components/icon-button.js +2 -2
- package/library/components/iframe.js +2 -2
- package/library/components/image-comparer.js +1 -1
- package/library/components/image.js +2 -2
- package/library/components/input.js +2 -2
- package/library/components/line-clamp.js +1 -1
- package/library/components/list-editor.js +7 -7
- package/library/components/masonry.js +2 -2
- package/library/components/menu-item.js +1 -1
- package/library/components/menu.js +3 -3
- package/library/components/molecules.js +4 -4
- package/library/components/option.js +2 -2
- package/library/components/organisms.js +2 -2
- package/library/components/padding-input-group.js +1 -1
- package/library/components/pagination.js +6 -6
- package/library/components/popup.js +1 -1
- package/library/components/position-picker.js +1 -1
- package/library/components/progress-bar.js +1 -1
- package/library/components/progress-ring.js +1 -1
- package/library/components/radio-button.js +10 -10
- package/library/components/radio-card.js +6 -6
- package/library/components/radio.js +2 -2
- package/library/components/range.js +1 -1
- package/library/components/rating.js +1 -1
- package/library/components/relative-time.js +1 -1
- package/library/components/resize-observer.js +3 -3
- package/library/components/select.js +7 -7
- package/library/components/shadow-input-group.js +1 -1
- package/library/components/share-option-list.js +10 -10
- package/library/components/sidebar.js +1 -1
- package/library/components/size-input-group.js +3 -3
- package/library/components/spinner.js +1 -1
- package/library/components/split-panel.js +1 -1
- package/library/components/tab-group.js +4 -4
- package/library/components/tab.js +2 -2
- package/library/components/table.js +10 -10
- package/library/components/tag.js +2 -2
- package/library/components/tooltip.js +1 -1
- package/library/components/tree-item.js +2 -2
- package/library/components/tree.js +2 -2
- package/library/components/typeface.js +2 -2
- package/library/components/types.js +33324 -32768
- package/library/components/video.js +2 -2
- package/library/package.json +1 -1
- package/library/packages/atoms/src/components/audio/audio.d.ts +36 -28
- package/library/packages/atoms/src/components/divider/divider.d.ts +1 -1
- package/library/packages/atoms/src/components/option/option.d.ts +1 -1
- package/library/packages/atoms/src/components/radio/radio.d.ts +1 -1
- package/library/packages/atoms/src/components/radio-button/radio-button.d.ts +1 -1
- package/library/packages/atoms/src/components/radio-card/radio-card.d.ts +1 -1
- package/library/packages/atoms/src/components/tree/tree.d.ts +1 -0
- package/library/packages/atoms/src/index.d.ts +0 -1
- package/library/packages/events/src/cx-facet-change.d.ts +16 -0
- package/library/packages/events/src/cx-faceted-filter-change.d.ts +6 -1
- package/library/packages/events/src/events.d.ts +1 -0
- package/library/packages/{atoms/src/components → molecules/src}/faceted-filter/components/facet/facet.d.ts +9 -9
- package/library/packages/molecules/src/faceted-filter/components/facet/facet.styles.d.ts +2 -0
- package/library/packages/molecules/src/faceted-filter/components/facet-date-picker/facet-date-picker.d.ts +43 -0
- package/library/packages/molecules/src/faceted-filter/components/facet-date-range/facet-date-range.d.ts +51 -0
- package/library/packages/molecules/src/faceted-filter/facet-adapters.d.ts +12 -0
- package/library/packages/{atoms/src/components → molecules/src}/faceted-filter/faceted-filter.d.ts +25 -14
- package/library/packages/molecules/src/faceted-filter/faceted-filter.styles.d.ts +2 -0
- package/library/packages/molecules/src/icon-picker/icon-picker.d.ts +1 -1
- package/library/packages/molecules/src/index.d.ts +4 -0
- package/library/packages/molecules/src/share-option-list/share-option-list.d.ts +1 -1
- package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +1 -1
- package/library/packages/organisms/src/carousel/carousel.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/components/gallery-config/gallery-config.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/components/page-picker/page-picker.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs/audio.d.ts +1 -1
- package/library/packages/organisms/src/content-builder/configs-controller.d.ts +2 -2
- package/library/packages/organisms/src/file-on-demand/components/file-on-demand-pinned-status.ts/file-on-demand-pinned-status.d.ts +2 -0
- package/library/packages/organisms/src/file-on-demand/file-on-demand.d.ts +1 -0
- package/library/packages/services/src/api/asset/asset.d.ts +3 -1
- package/library/packages/services/src/api/endpoints.d.ts +2 -0
- package/library/packages/tools/src/fetch-asset/fetch-asset.d.ts +6 -0
- package/library/packages/tools/src/fetch-image/fetch-image.d.ts +11 -4
- package/library/packages/types/src/faceted-filter.d.ts +71 -2
- package/library/packages/utils/src/custom-element/i18n.d.ts +3 -1
- package/library/packages/utils/src/image/index.d.ts +1 -0
- package/library/packages/utils/src/image/waveform.d.ts +29 -0
- package/library/react-web-component.d.ts +440 -317
- package/library/utils.js +174 -171
- package/package.json +1 -1
- package/library/chunks/asset.HL1qMnhg.js +0 -458
- package/library/chunks/wavesurfer.esm.Cwi1pz64.js +0 -1276
- package/library/components/faceted-filter.d.ts +0 -3
- package/library/components/faceted-filter.js +0 -295
- /package/library/packages/{atoms/src/components/faceted-filter/components/facet/facet.styles.d.ts → molecules/src/faceted-filter/components/facet-date-picker/facet-date-picker.styles.d.ts} +0 -0
- /package/library/packages/{atoms/src/components/faceted-filter/faceted-filter.styles.d.ts → molecules/src/faceted-filter/components/facet-date-range/facet-date-range.styles.d.ts} +0 -0
|
@@ -9,6 +9,8 @@ export declare enum TEAMSPACE_API_ENDPOINT {
|
|
|
9
9
|
GET_USER_ROLE = "webapi/objectmanagement/teamspaces/getuserroles_41E7_v1"
|
|
10
10
|
}
|
|
11
11
|
export declare enum ASSET_API_ENDPOINT {
|
|
12
|
+
GET_CONTENT_V1 = "webapi/extensibility/integrations/contentBrowserSDK/getcontent_4bw_v1",
|
|
13
|
+
GET_CONTENT_V3 = "webapi/extensibility/integrations/contentBrowserSDK/getcontent_4bw_v3",
|
|
12
14
|
GET_CROP_ZONE_SUGGESTION = "webapi/mediafile/assettransformation/getcropzonesuggestion_41UP_v1",
|
|
13
15
|
GET_LARGEST_DOWNLOAD_LINK = "webapi/objectmanagement/share/getlargestdownloadlink_46X_v1",
|
|
14
16
|
GET_TRANSFORM_ASSET_LINK = "webapi/mediafile/assettransformation/transformasset_41E6_v1",
|
|
@@ -3,6 +3,8 @@ import { ReactiveController, ReactiveElement } from 'lit';
|
|
|
3
3
|
export declare class FetchAssetController implements ReactiveController {
|
|
4
4
|
private readonly host;
|
|
5
5
|
private data;
|
|
6
|
+
private apiGetAssetsViaContentSdk;
|
|
7
|
+
private apiGetAssets;
|
|
6
8
|
constructor(host: ReactiveElement);
|
|
7
9
|
fetchAssetByID({ extraFields, recordId, securityByPassToken, token, }: {
|
|
8
10
|
extraFields?: string[];
|
|
@@ -10,6 +12,10 @@ export declare class FetchAssetController implements ReactiveController {
|
|
|
10
12
|
securityByPassToken?: string;
|
|
11
13
|
token?: string;
|
|
12
14
|
}): Promise<Record<string, string>>;
|
|
15
|
+
fetchAssetByIDViaContentSdk({ extraFields, recordId, }: {
|
|
16
|
+
extraFields?: string[];
|
|
17
|
+
recordId: string;
|
|
18
|
+
}): Promise<Record<string, string>>;
|
|
13
19
|
hostConnected?(): void;
|
|
14
20
|
hostDisconnected?(): void;
|
|
15
21
|
}
|
|
@@ -23,17 +23,21 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
23
23
|
private readonly authToken;
|
|
24
24
|
private securityByPassToken;
|
|
25
25
|
private requestEpoch;
|
|
26
|
+
private apiGetAssets;
|
|
27
|
+
private apiGetAssetsInFolder;
|
|
28
|
+
private apiGetAssetsInFolderViaContentSdk;
|
|
26
29
|
constructor(host: ReactiveElement, options?: FetchImageControllerOptions);
|
|
27
30
|
get totalDataCount(): number;
|
|
28
31
|
setSecurityByPassToken(token: string | undefined): void;
|
|
29
|
-
fetchImages({ end, extraFields, format, start, transformations, }: {
|
|
32
|
+
fetchImages({ end, extraFields, format, start, transformations, useContentSdk, }: {
|
|
30
33
|
end: number;
|
|
31
34
|
extraFields: string[];
|
|
32
35
|
format?: string;
|
|
33
36
|
start: number;
|
|
34
37
|
transformations?: Transformation[];
|
|
38
|
+
useContentSdk?: boolean;
|
|
35
39
|
}): Promise<ExtendedGalleryItem[] | undefined>;
|
|
36
|
-
fetchImagesInFolderBySlide({ activeSlide, extraFields, folderId, forceRefetch, format, minLimit, noPlaceholders, transformations, }: {
|
|
40
|
+
fetchImagesInFolderBySlide({ activeSlide, extraFields, folderId, forceRefetch, format, minLimit, noPlaceholders, transformations, useContentSdk, }: {
|
|
37
41
|
activeSlide: number;
|
|
38
42
|
extraFields?: string[];
|
|
39
43
|
folderId: string;
|
|
@@ -42,6 +46,7 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
42
46
|
minLimit?: number;
|
|
43
47
|
noPlaceholders?: boolean;
|
|
44
48
|
transformations?: Transformation[];
|
|
49
|
+
useContentSdk?: boolean;
|
|
45
50
|
}): Promise<ExtendedGalleryItem[]>;
|
|
46
51
|
fetchImagesByIDs({ extraFields, format, recordIds, transformations, }: {
|
|
47
52
|
extraFields?: string[];
|
|
@@ -49,7 +54,7 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
49
54
|
recordIds: string[];
|
|
50
55
|
transformations?: Transformation[];
|
|
51
56
|
}): Promise<ExtendedGalleryItem[]>;
|
|
52
|
-
fetchImagesInFolderByPage({ extraFields, folderId, forceRefetch, format, noPlaceholders, page, pageSize, transformations, }: {
|
|
57
|
+
fetchImagesInFolderByPage({ extraFields, folderId, forceRefetch, format, noPlaceholders, page, pageSize, transformations, useContentSdk, }: {
|
|
53
58
|
extraFields?: string[];
|
|
54
59
|
folderId: string;
|
|
55
60
|
forceRefetch?: boolean;
|
|
@@ -58,8 +63,9 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
58
63
|
page: number;
|
|
59
64
|
pageSize?: number;
|
|
60
65
|
transformations?: Transformation[];
|
|
66
|
+
useContentSdk?: boolean;
|
|
61
67
|
}): Promise<ExtendedGalleryItem[]>;
|
|
62
|
-
fetchImagesInFolderByChunk({ chunkSize: rawChunkSize, end, extraFields, folderId, forceRefetch, format, start, transformations, }: {
|
|
68
|
+
fetchImagesInFolderByChunk({ chunkSize: rawChunkSize, end, extraFields, folderId, forceRefetch, format, start, transformations, useContentSdk, }: {
|
|
63
69
|
chunkSize?: number;
|
|
64
70
|
end?: number;
|
|
65
71
|
extraFields?: string[];
|
|
@@ -68,6 +74,7 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
68
74
|
format?: string;
|
|
69
75
|
start?: number;
|
|
70
76
|
transformations?: Transformation[];
|
|
77
|
+
useContentSdk?: boolean;
|
|
71
78
|
}): AsyncGenerator<ExtendedGalleryItem[], void, unknown>;
|
|
72
79
|
hostConnected?(): void;
|
|
73
80
|
hostDisconnected?(): void;
|
|
@@ -2,13 +2,54 @@ export declare enum FacetSelectionMode {
|
|
|
2
2
|
Multiple = "multiple",
|
|
3
3
|
Single = "single"
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
/** The kind of control a facet renders. Drives the adapter chosen by `cx-faceted-filter`. */
|
|
6
|
+
export declare enum FacetType {
|
|
7
|
+
/** Multi/single-select tree of values with counts (default). */
|
|
8
|
+
Checkbox = "checkbox",
|
|
9
|
+
/** A single date picker — emits an `=` filter on the chosen day. */
|
|
10
|
+
DatePicker = "date-picker",
|
|
11
|
+
/** A from/to date range — emits `>=` / `<=` filters once both ends are set. */
|
|
12
|
+
DateRange = "date-range"
|
|
13
|
+
}
|
|
14
|
+
/** Checkbox (tree) facet — `type` defaults to `checkbox` when omitted. */
|
|
15
|
+
export type CheckboxFacetDetails = {
|
|
6
16
|
displayName: string;
|
|
7
17
|
facetFieldName: string;
|
|
8
18
|
facetIndexedFieldName?: string;
|
|
9
|
-
/** Controls whether the facet allows single or multi-select. Defaults to single. */
|
|
10
19
|
selection?: FacetSelectionMode;
|
|
20
|
+
type?: FacetType.Checkbox;
|
|
11
21
|
};
|
|
22
|
+
/** Single date-picker facet. */
|
|
23
|
+
export type DatePickerFacetDetails = {
|
|
24
|
+
displayName: string;
|
|
25
|
+
facetFieldName: string;
|
|
26
|
+
facetIndexedFieldName?: string;
|
|
27
|
+
/** Maximum selectable date in `YYYY-MM-DD`. */
|
|
28
|
+
max?: string;
|
|
29
|
+
/** Minimum selectable date in `YYYY-MM-DD`. */
|
|
30
|
+
min?: string;
|
|
31
|
+
selection?: FacetSelectionMode;
|
|
32
|
+
/** Show the hour/minute/second selects. */
|
|
33
|
+
showTime?: boolean;
|
|
34
|
+
type: FacetType.DatePicker;
|
|
35
|
+
};
|
|
36
|
+
/** From/to date-range facet. */
|
|
37
|
+
export type DateRangeFacetDetails = {
|
|
38
|
+
displayName: string;
|
|
39
|
+
facetFieldName: string;
|
|
40
|
+
facetIndexedFieldName?: string;
|
|
41
|
+
/** Maximum selectable date in `YYYY-MM-DD`. */
|
|
42
|
+
max?: string;
|
|
43
|
+
/** Minimum selectable date in `YYYY-MM-DD`. */
|
|
44
|
+
min?: string;
|
|
45
|
+
selection?: FacetSelectionMode;
|
|
46
|
+
/** Show the preset selector (Today, Last 7 days, …). */
|
|
47
|
+
showPreset?: boolean;
|
|
48
|
+
/** Show the hour/minute/second selects. */
|
|
49
|
+
showTime?: boolean;
|
|
50
|
+
type: FacetType.DateRange;
|
|
51
|
+
};
|
|
52
|
+
export type FacetDetails = CheckboxFacetDetails | DatePickerFacetDetails | DateRangeFacetDetails;
|
|
12
53
|
export type FacetValue = {
|
|
13
54
|
count: number;
|
|
14
55
|
displayValue: string;
|
|
@@ -21,3 +62,31 @@ export type Facet = {
|
|
|
21
62
|
};
|
|
22
63
|
/** Selected filter values keyed by facetFieldName. e.g. `{ status: ['active'], category: ['image>>png'] }` */
|
|
23
64
|
export type SelectedFacets = Record<string, string[]>;
|
|
65
|
+
/**
|
|
66
|
+
* A committed date selection for a single date facet. Shared by both date types:
|
|
67
|
+
* - `DatePicker` sets `fromDate` only (`toDate` stays empty) and maps to an `=` filter.
|
|
68
|
+
* - `DateRange` sets both `fromDate` and `toDate` and maps to `>=` / `<=` filters.
|
|
69
|
+
*
|
|
70
|
+
* Dates are ISO `YYYY-MM-DD`; times are 24-hour `HH:mm:ss`. When `showTime` is true the
|
|
71
|
+
* consumer combines date + time into an ISO datetime (`YYYY-MM-DDTHH:mm:ss`).
|
|
72
|
+
*/
|
|
73
|
+
export type DateRangeValue = {
|
|
74
|
+
fromDate: string;
|
|
75
|
+
fromTime: string;
|
|
76
|
+
/** Selected preset key for date-range facets when a preset was used. */
|
|
77
|
+
preset?: string;
|
|
78
|
+
showTime: boolean;
|
|
79
|
+
toDate: string;
|
|
80
|
+
toTime: string;
|
|
81
|
+
type: FacetType.DatePicker | FacetType.DateRange;
|
|
82
|
+
};
|
|
83
|
+
/** Committed date selections keyed by facetFieldName. e.g. `{ createdDate: { type: 'date-picker', fromDate: '2026-06-24', … } }` */
|
|
84
|
+
export type SelectedDateRanges = Record<string, DateRangeValue>;
|
|
85
|
+
export type FacetRenderContext = {
|
|
86
|
+
/** Committed date selection for this facet (`internalDateRanges[field]`). */
|
|
87
|
+
dateRange: DateRangeValue | undefined;
|
|
88
|
+
/** Fallback selection mode when the facet does not define its own. */
|
|
89
|
+
defaultSelection: FacetSelectionMode;
|
|
90
|
+
/** Selected checkbox values for this facet (`internalSelection[field]`). */
|
|
91
|
+
selectionValues: string[];
|
|
92
|
+
};
|
|
@@ -130,6 +130,7 @@ export interface Translation extends DefaultTranslation {
|
|
|
130
130
|
buttonAriaLabelHelpText: string;
|
|
131
131
|
cache: string;
|
|
132
132
|
cacheSizeCannotBeNegative: string;
|
|
133
|
+
cacheSizeDescription: string;
|
|
133
134
|
cacheUsageWarning: string;
|
|
134
135
|
cached: string;
|
|
135
136
|
caching: string;
|
|
@@ -800,7 +801,7 @@ export interface Translation extends DefaultTranslation {
|
|
|
800
801
|
suggestDeletion: string;
|
|
801
802
|
superscript: string;
|
|
802
803
|
syncCanceled: string;
|
|
803
|
-
|
|
804
|
+
syncFailed: string;
|
|
804
805
|
syncing: string;
|
|
805
806
|
tabBackground: string;
|
|
806
807
|
table: string;
|
|
@@ -885,6 +886,7 @@ export interface Translation extends DefaultTranslation {
|
|
|
885
886
|
urlValidationMessage: string;
|
|
886
887
|
useKeyboardArrowsToNavigateThroughTheCarousel: string;
|
|
887
888
|
useKeyboardArrowsToNavigateThroughTheGallery: string;
|
|
889
|
+
used: string;
|
|
888
890
|
userAvatar: string;
|
|
889
891
|
userGuide: string;
|
|
890
892
|
value: string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface WaveformExtractionOptions {
|
|
2
|
+
/** Target number of sample columns. Defaults to the image's natural pixel width for maximum detail. */
|
|
3
|
+
sampleCount?: number;
|
|
4
|
+
/** Luminance threshold 0–1 for non-white detection. Default: 0.92. */
|
|
5
|
+
threshold?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface WaveformData {
|
|
8
|
+
height: number;
|
|
9
|
+
/** Normalized 0–1 amplitudes, length === sampleCount. */
|
|
10
|
+
peaks: number[];
|
|
11
|
+
width: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Loads an image from `url`, draws it onto an offscreen canvas, and samples
|
|
15
|
+
* `sampleCount` columns to extract the visible waveform amplitude.
|
|
16
|
+
* When `sampleCount` is omitted the image's natural pixel width is used, giving
|
|
17
|
+
* one sample per source column for maximum fidelity.
|
|
18
|
+
*
|
|
19
|
+
* Returns `null` on any error (network, CORS, canvas SecurityError, etc.).
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractWaveformPeaks(url: string, options?: WaveformExtractionOptions): Promise<WaveformData | null>;
|
|
22
|
+
/**
|
|
23
|
+
* Builds a filled, vertically mirrored SVG path string representing a waveform.
|
|
24
|
+
* Each sample is rendered as a flat-topped bar (step-function) so the output
|
|
25
|
+
* matches server-rendered bar-style waveform images without diagonal interpolation.
|
|
26
|
+
*
|
|
27
|
+
* Returns an empty string when `peaks` is empty.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildWaveformPath(peaks: number[], viewBoxWidth: number, viewBoxHeight: number): string;
|