@orangelogic/orange-dam-content-browser-sdk 2.2.3-41YQXP-beta-2 → 2.2.3-41YQXP-beta-3

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 (123) hide show
  1. package/build/{src/App.d.ts → App.d.ts} +3 -12
  2. package/build/OrangeDAMContentBrowserSDK.min.css +1 -2
  3. package/build/OrangeDAMContentBrowserSDK.min.js +9870 -10160
  4. package/build/api/api.d.ts +2 -0
  5. package/build/api/asset/asset.d.ts +53 -0
  6. package/build/api/asset/asset.types.d.ts +104 -0
  7. package/build/api/asset/asset.utils.d.ts +5 -0
  8. package/build/api/asset/index.d.ts +1 -0
  9. package/build/api/auth/auth.d.ts +2 -0
  10. package/build/api/auth/index.d.ts +1 -0
  11. package/build/api/endpoints.d.ts +21 -0
  12. package/build/api/folder/folder.d.ts +22 -0
  13. package/build/api/folder/folder.types.d.ts +17 -0
  14. package/build/api/folder/index.d.ts +1 -0
  15. package/build/api/metadata/index.d.ts +1 -0
  16. package/build/api/metadata/metadata.d.ts +4 -0
  17. package/build/api/metadata/metadata.types.d.ts +20 -0
  18. package/build/base/element.d.ts +39 -0
  19. package/build/components/content-browser/content-browser.d.ts +114 -0
  20. package/build/components/content-browser/content-browser.styles.d.ts +2 -0
  21. package/build/components/content-browser-asset-card/content-browser-asset-card.d.ts +49 -0
  22. package/build/components/content-browser-asset-card/content-browser-asset-card.styles.d.ts +2 -0
  23. package/build/components/content-browser-asset-preview/content-browser-asset-preview-video/content-browser-asset-preview-video.d.ts +36 -0
  24. package/build/components/content-browser-asset-preview/content-browser-asset-preview.d.ts +38 -0
  25. package/build/components/content-browser-asset-preview/content-browser-asset-preview.styles.d.ts +2 -0
  26. package/build/components/content-browser-asset-proxy-selector/content-browser-asset-proxy-selector.d.ts +54 -0
  27. package/build/components/content-browser-asset-proxy-selector/content-browser-asset-proxy-selector.styles.d.ts +2 -0
  28. package/build/components/content-browser-asset-tracking-parameters/content-browser-asset-tracking-parameters.d.ts +39 -0
  29. package/build/components/content-browser-asset-tracking-parameters/content-browser-asset-tracking-parameters.styles.d.ts +2 -0
  30. package/build/components/content-browser-asset-version-history/content-browser-asset-version-history.d.ts +35 -0
  31. package/build/components/content-browser-asset-version-history/content-browser-asset-version-history.styles.d.ts +2 -0
  32. package/build/components/content-browser-browser/content-browser-browser.d.ts +68 -0
  33. package/build/components/content-browser-browser/content-browser-browser.styles.d.ts +2 -0
  34. package/build/components/content-browser-control-bar/content-browser-control-bar.d.ts +71 -0
  35. package/build/components/content-browser-control-bar/content-browser-control-bar.styles.d.ts +2 -0
  36. package/build/components/content-browser-control-filter/content-browser-control-filter.d.ts +80 -0
  37. package/build/components/content-browser-control-filter/content-browser-control-filter.styles.d.ts +2 -0
  38. package/build/components/content-browser-control-filter-facet/content-browser-control-filter-facet.d.ts +45 -0
  39. package/build/components/content-browser-control-sort/content-browser-control-sort.d.ts +64 -0
  40. package/build/components/content-browser-control-sort/content-browser-control-sort.styles.d.ts +2 -0
  41. package/build/components/content-browser-control-view/content-browser-control-view.d.ts +59 -0
  42. package/build/components/content-browser-control-view/content-browser-control-view.styles.d.ts +2 -0
  43. package/build/components/content-browser-format-dialog/content-browser-format-dialog.d.ts +146 -0
  44. package/build/components/content-browser-format-dialog/content-browser-format-dialog.styles.d.ts +2 -0
  45. package/build/components/content-browser-grid/content-browser-grid.d.ts +52 -0
  46. package/build/components/content-browser-grid/content-browser-grid.styles.d.ts +2 -0
  47. package/build/components/content-browser-header/content-browser-header.d.ts +65 -0
  48. package/build/components/content-browser-header/content-browser-header.styles.d.ts +2 -0
  49. package/build/components/content-browser-loader/content-browser-loader.d.ts +25 -0
  50. package/build/components/content-browser-loader/content-browser-loader.styles.d.ts +2 -0
  51. package/build/components/content-browser-loader/index.d.ts +1 -0
  52. package/build/components/content-browser-no-result/content-browser-no-result.d.ts +18 -0
  53. package/build/components/content-browser-no-result/content-browser-no-result.styles.d.ts +2 -0
  54. package/build/components/content-browser-no-result/index.d.ts +1 -0
  55. package/build/content-browser.d.ts +7 -0
  56. package/build/content-browser.mjs +14640 -0
  57. package/build/events/cx-content-browser-asset-card-click.d.ts +8 -0
  58. package/build/events/cx-content-browser-asset-tracking-parameters-change.d.ts +9 -0
  59. package/build/events/cx-content-browser-control-bar-search-change.d.ts +8 -0
  60. package/build/events/cx-content-browser-control-filter-change.d.ts +8 -0
  61. package/build/events/cx-content-browser-control-sort-order-change.d.ts +9 -0
  62. package/build/events/cx-content-browser-control-view-change.d.ts +10 -0
  63. package/build/events/cx-content-browser-favorite-change.d.ts +13 -0
  64. package/build/events/cx-content-browser-format-dialog-favorite-change.d.ts +9 -0
  65. package/build/events/cx-content-browser-format-dialog-format-confirm.d.ts +16 -0
  66. package/build/events/cx-content-browser-format-dialog-proxy-confirm.d.ts +7 -0
  67. package/build/events/cx-content-browser-format-dialog-version-history-open.d.ts +8 -0
  68. package/build/events/cx-content-browser-grid-click.d.ts +12 -0
  69. package/build/events/cx-content-browser-grid-resize.d.ts +9 -0
  70. package/build/events/cx-content-browser-request-change.d.ts +11 -0
  71. package/build/events/cx-content-browser-selected-asset.d.ts +6 -0
  72. package/build/events/index.d.ts +15 -0
  73. package/build/index-umd.d.ts +6 -0
  74. package/build/index.css +1 -0
  75. package/build/{src/index.d.ts → index.d.ts} +3 -2
  76. package/build/index.html +122 -1
  77. package/build/index.mjs +32623 -0
  78. package/build/{src/store → store}/auth/auth.service.d.ts +1 -1
  79. package/build/store/auth/auth.slice.d.ts +148 -0
  80. package/build/store/index.d.ts +14 -0
  81. package/build/styles/component.styles.d.ts +2 -0
  82. package/build/tools/fetch-and-merge-assets.d.ts +109 -0
  83. package/build/types/asset.d.ts +95 -0
  84. package/build/{src/types → types}/auth.d.ts +7 -0
  85. package/build/types/base.d.ts +4 -0
  86. package/build/types/content-browser.d.ts +119 -0
  87. package/build/types/folder.d.ts +35 -0
  88. package/build/{src/types → types}/search.d.ts +1 -1
  89. package/build/utils/number.d.ts +1 -0
  90. package/build/{src/utils → utils}/storage.d.ts +1 -1
  91. package/build/{src/utils → utils}/string.d.ts +2 -1
  92. package/build/utils/watch.d.ts +27 -0
  93. package/build/{src/view → view}/AssetsPicker.d.ts +3 -1
  94. package/package.json +49 -119
  95. package/build/OrangeDAMContentBrowserSDK.min.css.map +0 -1
  96. package/build/OrangeDAMContentBrowserSDK.min.js.map +0 -1
  97. package/build/asset-manifest.json +0 -13
  98. package/build/cypress/support/commands.d.ts +0 -0
  99. package/build/cypress/support/component.d.ts +0 -12
  100. package/build/cypress/support/e2e.d.ts +0 -2
  101. package/build/src/components/Loader/Loader.cy.d.ts +0 -1
  102. package/build/src/components/Loader/Loader.d.ts +0 -8
  103. package/build/src/components/Loader/index.d.ts +0 -1
  104. package/build/src/components/NoResult/NoResult.cy.d.ts +0 -1
  105. package/build/src/components/NoResult/NoResult.d.ts +0 -7
  106. package/build/src/components/NoResult/index.d.ts +0 -1
  107. package/build/src/page/Authenticate/Authenticate.cy.d.ts +0 -1
  108. package/build/src/setupTests.d.ts +0 -1
  109. package/build/src/store/auth/auth.slice.d.ts +0 -76
  110. package/build/src/store/index.d.ts +0 -12
  111. package/build/src/utils/utils.cy.d.ts +0 -1
  112. /package/build/{src/AppContext.d.ts → AppContext.d.ts} +0 -0
  113. /package/build/{src/GlobalConfigContext.d.ts → GlobalConfigContext.d.ts} +0 -0
  114. /package/build/{src/consts → consts}/auth.d.ts +0 -0
  115. /package/build/{src/page → page}/Authenticate/Authenticate.d.ts +0 -0
  116. /package/build/{src/page → page}/Authenticate/ConnectingBackground.d.ts +0 -0
  117. /package/build/{src/page → page}/Authenticate/index.d.ts +0 -0
  118. /package/build/{src/types → types}/storage.d.ts +0 -0
  119. /package/build/{src/utils → utils}/api.d.ts +0 -0
  120. /package/build/{src/utils → utils}/constants.d.ts +0 -0
  121. /package/build/{src/utils → utils}/function.d.ts +0 -0
  122. /package/build/{src/utils → utils}/getRequestUrl.d.ts +0 -0
  123. /package/build/{src/utils → utils}/hooks.d.ts +0 -0
@@ -0,0 +1,39 @@
1
+ import CxButton from '@orangelogic/design-system/components/button';
2
+ import CxIcon from '@orangelogic/design-system/components/icon';
3
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
4
+ import CxInput from '@orangelogic/design-system/components/input';
5
+ import CxInputGroup from '@orangelogic/design-system/components/input-group';
6
+ import CxSpace from '@orangelogic/design-system/components/space';
7
+ import CortexElement from '../../base/element';
8
+ import type { Parameter } from '../../types/content-browser';
9
+ import type { CSSResultGroup, TemplateResult } from 'lit';
10
+ /**
11
+ * @summary Key/value editor for asset tracking query parameters.
12
+ *
13
+ * @property {Parameter[]} values - Current parameter rows (mutations are emitted; parent should update this binding).
14
+ *
15
+ * @event cx-content-browser-asset-tracking-parameters-change - Fired when parameters are added, removed, or edited. `detail.values` is the new list.
16
+ */
17
+ export default class CxContentBrowserAssetTrackingParameters extends CortexElement {
18
+ static readonly styles: CSSResultGroup;
19
+ static readonly dependencies: {
20
+ 'cx-button': typeof CxButton;
21
+ 'cx-icon': typeof CxIcon;
22
+ 'cx-icon-button': typeof CxIconButton;
23
+ 'cx-input': typeof CxInput;
24
+ 'cx-input-group': typeof CxInputGroup;
25
+ 'cx-space': typeof CxSpace;
26
+ };
27
+ private readonly localize;
28
+ values: Parameter[];
29
+ private emitValuesChange;
30
+ private addParameter;
31
+ private handleRemoveClick;
32
+ private handleRowInputChange;
33
+ render(): TemplateResult;
34
+ }
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ 'cx-content-browser-asset-tracking-parameters': CxContentBrowserAssetTrackingParameters;
38
+ }
39
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import CxGrid from '@orangelogic/design-system/components/grid';
2
+ import CxGridItem from '@orangelogic/design-system/components/grid-item';
3
+ import CxLineClamp from '@orangelogic/design-system/components/line-clamp';
4
+ import CxMenu from '@orangelogic/design-system/components/menu';
5
+ import CxMenuItem from '@orangelogic/design-system/components/menu-item';
6
+ import CxSpace from '@orangelogic/design-system/components/space';
7
+ import CxSpinner from '@orangelogic/design-system/components/spinner';
8
+ import CxTypography from '@orangelogic/design-system/components/typography';
9
+ import CortexElement from '../../base/element';
10
+ import { AssetVersion } from '../../types/asset';
11
+ import { CSSResultGroup } from 'lit';
12
+ import CxContentBrowserAssetPreview from '../content-browser-asset-preview/content-browser-asset-preview';
13
+ export default class CxContentBrowserAssetVersionHistory extends CortexElement {
14
+ static readonly styles: CSSResultGroup;
15
+ static readonly dependencies: {
16
+ 'cx-grid': typeof CxGrid;
17
+ 'cx-grid-item': typeof CxGridItem;
18
+ 'cx-line-clamp': typeof CxLineClamp;
19
+ 'cx-menu': typeof CxMenu;
20
+ 'cx-menu-item': typeof CxMenuItem;
21
+ 'cx-space': typeof CxSpace;
22
+ 'cx-spinner': typeof CxSpinner;
23
+ 'cx-typography': typeof CxTypography;
24
+ 'cx-content-browser-asset-preview': typeof CxContentBrowserAssetPreview;
25
+ };
26
+ private readonly localize;
27
+ versions: AssetVersion[];
28
+ loading: boolean;
29
+ render(): import("lit-html").TemplateResult<1>;
30
+ }
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ 'cx-content-browser-asset-version-history': CxContentBrowserAssetVersionHistory;
34
+ }
35
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,68 @@
1
+ import CortexElement from '../../base/element';
2
+ import CxDetails from '@orangelogic/design-system/components/details';
3
+ import CxDrawer from '@orangelogic/design-system/components/drawer';
4
+ import CxFolderSelect from '@orangelogic/design-system/components/folder-select';
5
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
6
+ import CxSpace from '@orangelogic/design-system/components/space';
7
+ import CxTooltip from '@orangelogic/design-system/components/tooltip';
8
+ import CxTypography from '@orangelogic/design-system/components/typography';
9
+ import type { CSSResultGroup, TemplateResult } from 'lit';
10
+ export declare const LEFT_PANEL_OPEN_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#52525B\"><path d=\"M500-640v320l160-160-160-160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z\"/></svg>";
11
+ export declare const LEFT_PANEL_CLOSE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#52525B\"><path d=\"M660-320v-320L500-480l160 160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z\"/></svg>";
12
+ /**
13
+ * @summary Folder browser drawer (folders tree + optional collections). Converted from ContentBrowserSDK Browser React component.
14
+ */
15
+ export default class CxContentBrowserBrowser extends CortexElement {
16
+ static readonly styles: CSSResultGroup;
17
+ static readonly dependencies: {
18
+ 'cx-details': typeof CxDetails;
19
+ 'cx-drawer': typeof CxDrawer;
20
+ 'cx-folder-select': typeof CxFolderSelect;
21
+ 'cx-icon-button': typeof CxIconButton;
22
+ 'cx-space': typeof CxSpace;
23
+ 'cx-tooltip': typeof CxTooltip;
24
+ 'cx-typography': typeof CxTypography;
25
+ };
26
+ private readonly localize;
27
+ trigger: HTMLSlotElement;
28
+ drawer: CxDrawer;
29
+ folderId: string;
30
+ folderTitle: string;
31
+ allowedFolders: string[];
32
+ canPin: boolean;
33
+ collectionPath: string;
34
+ favoriteFolderId: string;
35
+ showCollections: boolean;
36
+ showFavoriteFolder: boolean;
37
+ forceOverlay: boolean;
38
+ seeThru: boolean;
39
+ minQueryLength: number;
40
+ token: string;
41
+ baseUrl: string;
42
+ private searchTerm;
43
+ private isPersistent;
44
+ private apiGetCollections;
45
+ private get variant();
46
+ private get noCloseButton();
47
+ constructor();
48
+ handleTriggerClick(): Promise<void>;
49
+ private handleTriggerKeyDown;
50
+ private handleTriggerKeyUp;
51
+ private handleTriggerSlotChange;
52
+ focusOnTrigger(): void;
53
+ private getAccessibleTriggerTarget;
54
+ updateAccessibleTrigger(): void;
55
+ blurTrigger(): void;
56
+ show(): void;
57
+ hide(): void;
58
+ private handleFirstFetchCallback;
59
+ private handlePinClick;
60
+ private handleFolderSelectSearchTermChange;
61
+ private collectionApi;
62
+ render(): TemplateResult;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'cx-content-browser-browser': CxContentBrowserBrowser;
67
+ }
68
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,71 @@
1
+ import CortexElement from '../../base/element';
2
+ import { ChangeOption, Facet, SortOrder } from '../../types/content-browser';
3
+ import CxAvatar from '@orangelogic/design-system/components/avatar';
4
+ import CxIcon from '@orangelogic/design-system/components/icon';
5
+ import CxInput from '@orangelogic/design-system/components/input';
6
+ import CxLineClamp from '@orangelogic/design-system/components/line-clamp';
7
+ import CxSpace from '@orangelogic/design-system/components/space';
8
+ import CxTypography from '@orangelogic/design-system/components/typography';
9
+ import CxContentBrowserControlFilter from '../content-browser-control-filter/content-browser-control-filter';
10
+ import CxContentBrowserControlSort from '../content-browser-control-sort/content-browser-control-sort';
11
+ import CxContentBrowserControlView from '../content-browser-control-view/content-browser-control-view';
12
+ import type { CSSResultGroup, TemplateResult } from 'lit';
13
+ /**
14
+ * @summary DAM view control bar for sorting, filtering, and changing asset view modes in the header toolbar.
15
+ *
16
+ * @description Combines sort, filter, and view controls into a single toolbar interface for the Content Browser.
17
+ * Allows users to change asset view layout, apply filters, and sort results using integrated dropdown and toolbar controls.
18
+ * Adapted from ContentBrowserSDK Header React component.
19
+ *
20
+ * @property {number} currentCount - The number of items currently displayed.
21
+ * @property {number} totalCount - The total number of items available.
22
+ * @property {string} sortOrder - The active sort field or direction.
23
+ * @property {Record<string, SortOrder[]>} sortOrders - Mapping of sort keys to their order options.
24
+ * @property {string} view - The current asset view mode.
25
+ * @property {Array<ControlOption>} views - All available view layout options.
26
+ * @property {Facet[]} facets - The currently active facets for filtering.
27
+ * @property {Array<Facet['facetDetails']>} availableFacets - Metadata about all available facets.
28
+ * @property {Record<string, string[]>} selectedFacets - Currently selected filter values by facet.
29
+ * @property {boolean} isSeeThrough - If "see through" mode is enabled.
30
+ * @property {boolean} loading - If the toolbar or its sub-controls are loading.
31
+ * @property {ChangeOption | undefined} newlyChangedOption - Metadata about the last user-initiated change.
32
+ *
33
+ * @event cx-content-browser-control-bar-search-change - Fired when the search text is changed.
34
+ */
35
+ export default class CxContentBrowserControlBar extends CortexElement {
36
+ static readonly styles: CSSResultGroup;
37
+ static readonly dependencies: {
38
+ 'cx-avatar': typeof CxAvatar;
39
+ 'cx-content-browser-control-filter': typeof CxContentBrowserControlFilter;
40
+ 'cx-content-browser-control-sort': typeof CxContentBrowserControlSort;
41
+ 'cx-content-browser-control-view': typeof CxContentBrowserControlView;
42
+ 'cx-icon': typeof CxIcon;
43
+ 'cx-input': typeof CxInput;
44
+ 'cx-line-clamp': typeof CxLineClamp;
45
+ 'cx-space': typeof CxSpace;
46
+ 'cx-typography': typeof CxTypography;
47
+ };
48
+ private readonly localize;
49
+ currentCount: number;
50
+ totalCount: number;
51
+ sortOrderName: string;
52
+ sortDirection: string;
53
+ sortOrders: Record<string, SortOrder[]>;
54
+ view: string;
55
+ views: never[];
56
+ facets: Facet[];
57
+ availableFacets: Array<Facet['facetDetails']>;
58
+ selectedFacets: Record<string, string[]>;
59
+ isSeeThrough: boolean;
60
+ loading: boolean;
61
+ newlyChangedOption: ChangeOption | undefined;
62
+ searchText: string;
63
+ isMobile: boolean;
64
+ private handleSearchChange;
65
+ render(): TemplateResult;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ 'cx-content-browser-control-bar': CxContentBrowserControlBar;
70
+ }
71
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,80 @@
1
+ import CortexElement from '../../base/element';
2
+ import { ChangeOption, Facet } from '../../types/content-browser';
3
+ import CxBadge from '@orangelogic/design-system/components/badge';
4
+ import CxButton from '@orangelogic/design-system/components/button';
5
+ import CxDetails from '@orangelogic/design-system/components/details';
6
+ import CxDivider from '@orangelogic/design-system/components/divider';
7
+ import CxDropdown from '@orangelogic/design-system/components/dropdown';
8
+ import CxIcon from '@orangelogic/design-system/components/icon';
9
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
10
+ import CxLineClamp from '@orangelogic/design-system/components/line-clamp';
11
+ import CxMenu from '@orangelogic/design-system/components/menu';
12
+ import CxMenuItem from '@orangelogic/design-system/components/menu-item';
13
+ import CxMenuLabel from '@orangelogic/design-system/components/menu-label';
14
+ import CxSpace from '@orangelogic/design-system/components/space';
15
+ import CxSpinner from '@orangelogic/design-system/components/spinner';
16
+ import CxSwitch from '@orangelogic/design-system/components/switch';
17
+ import CxTag from '@orangelogic/design-system/components/tag';
18
+ import CxTooltip from '@orangelogic/design-system/components/tooltip';
19
+ import CxTypography from '@orangelogic/design-system/components/typography';
20
+ import CxContentBrowserControlFilterFacet from '../content-browser-control-filter-facet/content-browser-control-filter-facet';
21
+ import type { CSSResultGroup, TemplateResult } from 'lit';
22
+ /**
23
+ * @summary DAM view filter control for applying, viewing, and managing asset filters in the toolbar.
24
+ *
25
+ * @description Presents available filter facets to refine asset results in the Content Browser.
26
+ * Users can select, clear, or modify filters using dropdown panels. Adapted from ContentBrowserSDK Filter React component.
27
+ *
28
+ * @property {Facet[]} facets - Active facet objects providing metadata and available options.
29
+ * @property {Array<Facet['facetDetails']>} availableFacets - Array of available facet details.
30
+ * @property {Record<string, string[]>} selectedFacets - Mapping of currently selected filter values per facet name.
31
+ * @property {boolean} loading - Indicates if facet/filter options are loading.
32
+ * @property {ChangeOption | undefined} newlyChangedOption - Metadata about the last user-initiated filter change.
33
+ * @property {boolean} isMobile - Whether mobile mode is enabled.
34
+ *
35
+ * @event cx-content-browser-control-filter-change - Fired when the filters are changed.
36
+ */
37
+ export default class CxContentBrowserControlFilter extends CortexElement {
38
+ static readonly styles: CSSResultGroup;
39
+ static readonly dependencies: {
40
+ 'cx-badge': typeof CxBadge;
41
+ 'cx-button': typeof CxButton;
42
+ 'cx-content-browser-control-filter-facet': typeof CxContentBrowserControlFilterFacet;
43
+ 'cx-details': typeof CxDetails;
44
+ 'cx-divider': typeof CxDivider;
45
+ 'cx-dropdown': typeof CxDropdown;
46
+ 'cx-icon': typeof CxIcon;
47
+ 'cx-icon-button': typeof CxIconButton;
48
+ 'cx-line-clamp': typeof CxLineClamp;
49
+ 'cx-menu': typeof CxMenu;
50
+ 'cx-menu-item': typeof CxMenuItem;
51
+ 'cx-menu-label': typeof CxMenuLabel;
52
+ 'cx-space': typeof CxSpace;
53
+ 'cx-spinner': typeof CxSpinner;
54
+ 'cx-switch': typeof CxSwitch;
55
+ 'cx-tag': typeof CxTag;
56
+ 'cx-tooltip': typeof CxTooltip;
57
+ 'cx-typography': typeof CxTypography;
58
+ };
59
+ private readonly localize;
60
+ facets: Facet[];
61
+ availableFacets: Array<Facet['facetDetails']>;
62
+ selectedFacets: Record<string, string[]>;
63
+ loading: boolean;
64
+ newlyChangedOption: ChangeOption | undefined;
65
+ isMobile: boolean;
66
+ private appliedFiltersCount;
67
+ mappedDisplayNames: Record<string, Record<string, string>>;
68
+ handleFacetsChange(): void;
69
+ handleSelectedFacetsChange(): void;
70
+ private handleClearAllClick;
71
+ private handleSelectionChange;
72
+ private handleRemove;
73
+ private renderAppliedFilters;
74
+ render(): TemplateResult;
75
+ }
76
+ declare global {
77
+ interface HTMLElementTagNameMap {
78
+ 'cx-content-browser-control-filter': CxContentBrowserControlFilter;
79
+ }
80
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,45 @@
1
+ import CxButton from '@orangelogic/design-system/components/button';
2
+ import CxDetails from '@orangelogic/design-system/components/details';
3
+ import CxSpace from '@orangelogic/design-system/components/space';
4
+ import CxSpinner from '@orangelogic/design-system/components/spinner';
5
+ import CxTree from '@orangelogic/design-system/components/tree';
6
+ import CxTreeItem from '@orangelogic/design-system/components/tree-item';
7
+ import CxTypography from '@orangelogic/design-system/components/typography';
8
+ import CortexElement from '../../base/element';
9
+ /**
10
+ * @summary CxContentBrowser
11
+ */
12
+ export default class CxContentBrowserControlFilterFacet extends CortexElement {
13
+ static readonly dependencies: {
14
+ 'cx-button': typeof CxButton;
15
+ 'cx-details': typeof CxDetails;
16
+ 'cx-space': typeof CxSpace;
17
+ 'cx-spinner': typeof CxSpinner;
18
+ 'cx-tree': typeof CxTree;
19
+ 'cx-tree-item': typeof CxTreeItem;
20
+ 'cx-typography': typeof CxTypography;
21
+ };
22
+ private readonly localize;
23
+ private static readonly itemsPerPage;
24
+ loading: boolean;
25
+ displayName: string;
26
+ type: string;
27
+ values: Array<{
28
+ count: number;
29
+ displayValue: string;
30
+ value: string;
31
+ }>;
32
+ collections: string[];
33
+ private mappedSubtypes;
34
+ private mappedDisplayNames;
35
+ private page;
36
+ createRenderRoot(): this;
37
+ handleValuesChange(): void;
38
+ private loadMore;
39
+ render(): import("lit-html").TemplateResult<1>;
40
+ }
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'cx-content-browser-control-filter-facet': CxContentBrowserControlFilterFacet;
44
+ }
45
+ }
@@ -0,0 +1,64 @@
1
+ import CxDivider from '@orangelogic/design-system/components/divider';
2
+ import CxDropdown from '@orangelogic/design-system/components/dropdown';
3
+ import CxIcon from '@orangelogic/design-system/components/icon';
4
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
5
+ import CxMenu from '@orangelogic/design-system/components/menu';
6
+ import CxMenuItem from '@orangelogic/design-system/components/menu-item';
7
+ import CxSpinner from '@orangelogic/design-system/components/spinner';
8
+ import CxTooltip from '@orangelogic/design-system/components/tooltip';
9
+ import CortexElement from '../../base/element';
10
+ import { SortOrder } from '../../types/content-browser';
11
+ import type { CSSResultGroup, TemplateResult } from 'lit';
12
+ declare enum OptionType {
13
+ SORT_DIRECTION = "sort-direction",
14
+ SORT_ORDER = "sort-order"
15
+ }
16
+ type ChangeOption = {
17
+ type: OptionType;
18
+ value: string;
19
+ };
20
+ /**
21
+ * @summary DAM view sort control. Allows users to select the sort field and sort direction for assets.
22
+ *
23
+ * @description Provides a dropdown toolbar for sorting assets by various fields and choosing ascending or descending order. Adapted from ContentBrowserSDK Header React component.
24
+ *
25
+ * @property {string} sortOrder - The current sort field value.
26
+ * @property {Record<string, SortOrder[]>} sortOrders - Mapping of sort fields to available order options.
27
+ * @property {boolean} loading - Indicates if sort options are loading.
28
+ * @property {boolean} isMobile - Adjusts dropdown UI for mobile devices.
29
+ * @property {object} newlyChangedOption - Metadata about the last user-initiated sort change.
30
+ *
31
+ * @event cx-content-browser-control-sort-change - Emitted when the sort field or sort order is changed.
32
+ */
33
+ export default class CxContentBrowserControlSort extends CortexElement {
34
+ static readonly styles: CSSResultGroup;
35
+ static readonly dependencies: {
36
+ 'cx-divider': typeof CxDivider;
37
+ 'cx-dropdown': typeof CxDropdown;
38
+ 'cx-icon': typeof CxIcon;
39
+ 'cx-icon-button': typeof CxIconButton;
40
+ 'cx-menu': typeof CxMenu;
41
+ 'cx-menu-item': typeof CxMenuItem;
42
+ 'cx-spinner': typeof CxSpinner;
43
+ 'cx-tooltip': typeof CxTooltip;
44
+ };
45
+ private readonly localize;
46
+ sortOrderName: string;
47
+ sortDirection: string;
48
+ sortOrders: Record<string, SortOrder[]>;
49
+ loading: boolean;
50
+ isMobile: boolean;
51
+ newlyChangedOption: ChangeOption | undefined;
52
+ private mappedSortDirections;
53
+ private readonly sortDirections;
54
+ get canSort(): boolean;
55
+ private handleSortSelect;
56
+ handleSortDirectionsChange(): Promise<void>;
57
+ render(): TemplateResult;
58
+ }
59
+ declare global {
60
+ interface HTMLElementTagNameMap {
61
+ 'cx-content-browser-control-sort': CxContentBrowserControlSort;
62
+ }
63
+ }
64
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,59 @@
1
+ import CxDivider from '@orangelogic/design-system/components/divider';
2
+ import CxDropdown from '@orangelogic/design-system/components/dropdown';
3
+ import CxIcon from '@orangelogic/design-system/components/icon';
4
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
5
+ import CxLineClamp from '@orangelogic/design-system/components/line-clamp';
6
+ import CxMenu from '@orangelogic/design-system/components/menu';
7
+ import CxMenuItem from '@orangelogic/design-system/components/menu-item';
8
+ import CxMenuLabel from '@orangelogic/design-system/components/menu-label';
9
+ import CxSpace from '@orangelogic/design-system/components/space';
10
+ import CxSwitch from '@orangelogic/design-system/components/switch';
11
+ import CxTooltip from '@orangelogic/design-system/components/tooltip';
12
+ import CortexElement from '../../base/element';
13
+ import { ControlOption, GridView } from '../../types/content-browser';
14
+ import type { CSSResultGroup, TemplateResult } from 'lit';
15
+ /**
16
+ * @summary DAM view control toolbar for selecting asset view modes and toggling options.
17
+ *
18
+ * @description Provides a toolbar to switch between available asset view layouts (e.g., small, medium, large tile)
19
+ * and toggle "see through" view in the Content Browser. Adapted from ContentBrowserSDK Header React component.
20
+ *
21
+ * @property {string} view - The currently selected view identifier.
22
+ * @property {Array<ControlOption>} views - Array of selectable view options.
23
+ * @property {boolean} isSeeThrough - Whether the "see through" mode is enabled.
24
+ * @property {boolean} isMobile - Adjusts layout for mobile devices.
25
+ *
26
+ * @event cx-content-browser-control-view-change - Emitted when the view mode or see-through mode is changed.
27
+ */
28
+ export default class CxContentBrowserControlView extends CortexElement {
29
+ static readonly styles: CSSResultGroup;
30
+ static readonly dependencies: {
31
+ 'cx-divider': typeof CxDivider;
32
+ 'cx-dropdown': typeof CxDropdown;
33
+ 'cx-icon': typeof CxIcon;
34
+ 'cx-icon-button': typeof CxIconButton;
35
+ 'cx-line-clamp': typeof CxLineClamp;
36
+ 'cx-menu': typeof CxMenu;
37
+ 'cx-menu-item': typeof CxMenuItem;
38
+ 'cx-menu-label': typeof CxMenuLabel;
39
+ 'cx-space': typeof CxSpace;
40
+ 'cx-switch': typeof CxSwitch;
41
+ 'cx-tooltip': typeof CxTooltip;
42
+ };
43
+ private readonly localize;
44
+ view: GridView;
45
+ views: ControlOption[];
46
+ isSeeThrough: boolean;
47
+ isMobile: boolean;
48
+ private selectedView;
49
+ runConnectedCallback(): void;
50
+ private handleSeeThroughClick;
51
+ private handleViewSelect;
52
+ handleViewChange(): void;
53
+ render(): TemplateResult;
54
+ }
55
+ declare global {
56
+ interface HTMLElementTagNameMap {
57
+ 'cx-content-browser-control-view': CxContentBrowserControlView;
58
+ }
59
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,146 @@
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import CortexElement from '../../base/element';
3
+ import { GetAvailableExtensionsResponse } from '../../api/asset/asset.types';
4
+ import { Asset, AssetVersion, AvailableProxy } from '../../types/asset';
5
+ import CxAssetLinkFormat from '@orangelogic/design-system/components/asset-link-format';
6
+ import CxCropper from '@orangelogic/design-system/components/cropper';
7
+ import CxDialog from '@orangelogic/design-system/components/dialog';
8
+ import CxDrawer from '@orangelogic/design-system/components/drawer';
9
+ import CxIconButton from '@orangelogic/design-system/components/icon-button';
10
+ import CxLineClamp from '@orangelogic/design-system/components/line-clamp';
11
+ import CxSpace from '@orangelogic/design-system/components/space';
12
+ import CxSpinner from '@orangelogic/design-system/components/spinner';
13
+ import CxTooltip from '@orangelogic/design-system/components/tooltip';
14
+ import CxTypography from '@orangelogic/design-system/components/typography';
15
+ import CxContentBrowserAssetPreview from '../content-browser-asset-preview/content-browser-asset-preview';
16
+ import CxContentBrowserAssetProxySelector from '../content-browser-asset-proxy-selector/content-browser-asset-proxy-selector';
17
+ import CxContentBrowserAssetVersionHistory from '../content-browser-asset-version-history/content-browser-asset-version-history';
18
+ import { type Parameter, type Transformation, ContentBrowserFormatDialogVariant } from '../../types/content-browser';
19
+ export default class CxContentBrowserFormatDialog extends CortexElement {
20
+ static readonly styles: CSSResultGroup;
21
+ static readonly dependencies: {
22
+ 'cx-asset-link-format': typeof CxAssetLinkFormat;
23
+ 'cx-cropper': typeof CxCropper;
24
+ 'cx-content-browser-asset-preview': typeof CxContentBrowserAssetPreview;
25
+ 'cx-content-browser-asset-proxy-selector': typeof CxContentBrowserAssetProxySelector;
26
+ 'cx-content-browser-asset-version-history': typeof CxContentBrowserAssetVersionHistory;
27
+ 'cx-dialog': typeof CxDialog;
28
+ 'cx-drawer': typeof CxDrawer;
29
+ 'cx-icon-button': typeof CxIconButton;
30
+ 'cx-line-clamp': typeof CxLineClamp;
31
+ 'cx-space': typeof CxSpace;
32
+ 'cx-spinner': typeof CxSpinner;
33
+ 'cx-tooltip': typeof CxTooltip;
34
+ 'cx-typography': typeof CxTypography;
35
+ };
36
+ private readonly localize;
37
+ dialog: CxDialog | CxDrawer;
38
+ assetLinkFormat: CxAssetLinkFormat;
39
+ boundary: HTMLElement;
40
+ availableExtensions: GetAvailableExtensionsResponse | null;
41
+ supportedExtensions: string[];
42
+ supportedRepresentativeSubtypes: string[];
43
+ autoExtension: string;
44
+ ctaText: string;
45
+ canCustomFormat: boolean;
46
+ canFavorite: boolean;
47
+ canTrack: boolean;
48
+ canUseProxies: boolean;
49
+ canViewVersions: boolean;
50
+ variant: ContentBrowserFormatDialogVariant;
51
+ loadingFavorites: boolean;
52
+ loadingProxies: boolean;
53
+ disabledConfirm: boolean;
54
+ token: string;
55
+ baseUrl: string;
56
+ asset: Asset | undefined;
57
+ isFavorite: boolean;
58
+ proxies: AvailableProxy[];
59
+ showVersionHistory: boolean;
60
+ showCustomFormat: boolean;
61
+ loadingVersionHistory: boolean;
62
+ versions: AssetVersion[];
63
+ filteredProxies: AvailableProxy[];
64
+ selectedProxy: string;
65
+ confirmedTransformations: Transformation[];
66
+ confirmedFormat: {
67
+ width?: number | null;
68
+ height?: number | null;
69
+ extension?: string | null;
70
+ } | undefined;
71
+ loadingConfirm: boolean;
72
+ enabledTracking: boolean;
73
+ trackingParameters: Parameter[];
74
+ private get shouldAppendAutoExtension();
75
+ private get canUseATS();
76
+ handleSupportedExtensionsChange(): void;
77
+ open({ asset, isFavorite, proxies, }: {
78
+ asset: Asset;
79
+ isFavorite: boolean;
80
+ proxies: AvailableProxy[];
81
+ }): void;
82
+ hide(): void;
83
+ setVersionHistory(versions: AssetVersion[]): void;
84
+ setIsFavorite(isFavorite: boolean): void;
85
+ mapFormatConfirmPayload(asset: Asset, selectedProxy?: AvailableProxy): {
86
+ asset: Asset;
87
+ extension: string;
88
+ parameters: Parameter[] | undefined;
89
+ proxiesPreference: string | undefined;
90
+ sourceProxyMetadata: {
91
+ cdnName: string | null;
92
+ extension: string | null;
93
+ height: number | null;
94
+ isCustomFormat: null;
95
+ permanentLink: string | null;
96
+ proxyLabel: string | null;
97
+ proxyName: string | null;
98
+ width: number | null;
99
+ };
100
+ transformations: Transformation[];
101
+ transformedAssetMetadata: {
102
+ extension: string | null;
103
+ height: number | null;
104
+ isCustomFormat: boolean;
105
+ permanentLink: null;
106
+ width: number | null;
107
+ };
108
+ };
109
+ mapProxyConfirmPayload(asset: Asset, selectedProxy?: AvailableProxy): {
110
+ asset: Asset;
111
+ extension: string;
112
+ parameters: Parameter[] | undefined;
113
+ permanentLink: string | undefined;
114
+ proxyPreference: string;
115
+ selectedProxyMetadata: {
116
+ cdnName: string | null;
117
+ extension: string | null;
118
+ height: number | null;
119
+ isCustomFormat: boolean;
120
+ permanentLink: string | null;
121
+ proxyLabel: string | null;
122
+ proxyName: string | null;
123
+ width: number | null;
124
+ };
125
+ useRepresentative: boolean;
126
+ };
127
+ private handleCancelCustomFormat;
128
+ private handleDoneCustomFormat;
129
+ private handleFavorite;
130
+ private handleProxyConfirm;
131
+ private handleVersionHistory;
132
+ private handleProxySelect;
133
+ private handleTrackingParametersChange;
134
+ private renderHeader;
135
+ private renderBody;
136
+ private renderFooter;
137
+ private renderContent;
138
+ private handleRequestClose;
139
+ private handleClose;
140
+ render(): TemplateResult<1>;
141
+ }
142
+ declare global {
143
+ interface HTMLElementTagNameMap {
144
+ 'cx-content-browser-format-dialog': CxContentBrowserFormatDialog;
145
+ }
146
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;