@orangelogic/design-system 2.117.0 → 2.119.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.
Files changed (166) hide show
  1. package/library/assets/diff.worker-ClilI1xm.js +1 -0
  2. package/library/chunks/{animation.8MjXJybe.js → animation.hpY88RxG.js} +106 -100
  3. package/library/chunks/{asset.CIWxY-Aw.js → asset.D_MQwP1C.js} +4 -4
  4. package/library/chunks/browser.BHOCIF_A.js +84 -0
  5. package/library/chunks/{button.DwJEeW2t.js → button.bufNNyTc.js} +1 -1
  6. package/library/chunks/{color-swatch-group.BvLicLI4.js → color-swatch-group.CeazdbIe.js} +6 -6
  7. package/library/chunks/{color-swatch.DVzEaNeL.js → color-swatch.LEvHo5G_.js} +2 -2
  8. package/library/chunks/{confirm-popover.BifwpSuf.js → confirm-popover.BLQFU6Hs.js} +3 -3
  9. package/library/chunks/{content-builder.OsUmm8Wu.js → content-builder.BGzxZUgi.js} +1 -1
  10. package/library/chunks/debounce.DaHuiSGU.js +15 -0
  11. package/library/chunks/{dialog.BYCWepBc.js → dialog.DdsJ_WqU.js} +2 -2
  12. package/library/chunks/{document-viewer.CKCX8ueu.js → document-viewer.B5VtBEEP.js} +7 -7
  13. package/library/chunks/{dot-pagination.C4l5vKor.js → dot-pagination.Bny2T6DA.js} +1 -1
  14. package/library/chunks/{endpoints.D4h8hp1m.js → endpoints.6E17hFiK.js} +385 -385
  15. package/library/chunks/{file-on-demand.AwMj4AfO.js → file-on-demand.DDuWnvmy.js} +10 -10
  16. package/library/chunks/{folder-select.CrWjwQcw.js → folder-select.D1jO1hB_.js} +295 -203
  17. package/library/chunks/{header.Cf9ujCpg.js → header.CfiA4TRu.js} +1 -1
  18. package/library/chunks/{i18n.CH-wak_P.js → i18n.DDj5y9px.js} +106 -11
  19. package/library/chunks/{icon-button.CQiBjznj.js → icon-button.DOrACmes.js} +1 -1
  20. package/library/chunks/{iframe.BQPVygBJ.js → iframe.qaVD1n1m.js} +1 -1
  21. package/library/chunks/{image.cT-FziNS.js → image.BugewF1g.js} +129 -146
  22. package/library/chunks/{input.CH4lKxPM.js → input.BYj6YXcM.js} +1 -1
  23. package/library/chunks/keyed.C0rkKrxH.js +22 -0
  24. package/library/chunks/{list-editor.BfpDIsU5.js → list-editor.D5szxqSM.js} +11 -11
  25. package/library/chunks/math.DuKzLacZ.js +26 -0
  26. package/library/chunks/{option.Bvh35v8S.js → option.CnxdM30G.js} +1 -1
  27. package/library/chunks/{pagination.zQ2FFtxB.js → pagination.Dxig0LoI.js} +6 -6
  28. package/library/chunks/{responsive.C8NCkfCG.js → responsive.Cf65FCWd.js} +1 -1
  29. package/library/chunks/{tab-group.DvMX02hY.js → tab-group.CGg9lPLP.js} +3 -3
  30. package/library/chunks/{table.GCs54Y2t.js → table.BkdcDorc.js} +1471 -1400
  31. package/library/chunks/{tree.Btf2Q4YZ.js → tree.yYbWIRnc.js} +3 -3
  32. package/library/components/alert.js +2 -2
  33. package/library/components/animation.js +1 -1
  34. package/library/components/asset-link-format.js +8 -8
  35. package/library/components/atoms.js +144 -142
  36. package/library/components/audio.js +2 -2
  37. package/library/components/border-input-group.js +2 -2
  38. package/library/components/breadcrumb.js +1 -1
  39. package/library/components/button.js +2 -2
  40. package/library/components/color-picker.js +5 -5
  41. package/library/components/color-swatch-group.js +7 -7
  42. package/library/components/color-swatch.js +3 -3
  43. package/library/components/confirm-popover.js +4 -4
  44. package/library/components/copy-button.js +1 -1
  45. package/library/components/corner-position-input-group.js +3 -3
  46. package/library/components/date-calendar.js +1 -1
  47. package/library/components/details.js +1 -1
  48. package/library/components/dialog.js +3 -3
  49. package/library/components/diff.d.ts +3 -0
  50. package/library/components/diff.js +104 -0
  51. package/library/components/document-viewer.js +3 -3
  52. package/library/components/dot-pagination.js +2 -2
  53. package/library/components/drawer.js +2 -2
  54. package/library/components/dropdown.js +2 -2
  55. package/library/components/dynamic-select.js +282 -211
  56. package/library/components/e-chart.js +1 -1
  57. package/library/components/element-clamp.js +2 -2
  58. package/library/components/file-on-demand.js +11 -11
  59. package/library/components/folder-select.js +5 -5
  60. package/library/components/format-bytes.js +1 -1
  61. package/library/components/format-date.js +1 -1
  62. package/library/components/format-number.js +1 -1
  63. package/library/components/format-time.js +1 -1
  64. package/library/components/header.js +2 -2
  65. package/library/components/icon-button.js +2 -2
  66. package/library/components/iframe.js +2 -2
  67. package/library/components/image-comparer.js +2 -2
  68. package/library/components/image.js +5 -4
  69. package/library/components/input.js +2 -2
  70. package/library/components/line-clamp.js +6 -5
  71. package/library/components/list-editor.js +8 -8
  72. package/library/components/masonry.js +2 -2
  73. package/library/components/menu-item.js +1 -1
  74. package/library/components/menu.js +1 -1
  75. package/library/components/molecules.js +4 -4
  76. package/library/components/option.js +2 -2
  77. package/library/components/organisms.js +2 -2
  78. package/library/components/padding-input-group.js +1 -1
  79. package/library/components/pagination.js +7 -7
  80. package/library/components/popup.js +76 -75
  81. package/library/components/position-picker.js +1 -1
  82. package/library/components/progress-bar.js +1 -1
  83. package/library/components/progress-ring.js +1 -1
  84. package/library/components/range.js +3 -3
  85. package/library/components/rating.js +2 -2
  86. package/library/components/relative-time.js +1 -1
  87. package/library/components/select.js +33 -32
  88. package/library/components/shadow-input-group.js +1 -1
  89. package/library/components/share-option-list.js +2 -2
  90. package/library/components/sidebar.js +1 -1
  91. package/library/components/size-input-group.js +3 -3
  92. package/library/components/spinner.js +1 -1
  93. package/library/components/split-panel.js +2 -2
  94. package/library/components/tab-group.js +4 -4
  95. package/library/components/tab.js +2 -2
  96. package/library/components/table.js +62 -60
  97. package/library/components/tag.js +2 -2
  98. package/library/components/tooltip.js +1 -1
  99. package/library/components/tree-item.js +2 -2
  100. package/library/components/tree.js +3 -3
  101. package/library/components/typeface.js +2 -2
  102. package/library/components/types.js +35403 -32971
  103. package/library/components/video.js +3 -3
  104. package/library/package.json +1 -1
  105. package/library/packages/atoms/src/animations/index.d.ts +2 -1
  106. package/library/packages/atoms/src/animations/rotating/rotate.d.ts +4 -0
  107. package/library/packages/atoms/src/components/diff/diff.d.ts +46 -0
  108. package/library/packages/atoms/src/components/diff/diff.styles.d.ts +2 -0
  109. package/library/packages/atoms/src/components/diff/utils/diff-worker-client.d.ts +10 -0
  110. package/library/packages/atoms/src/components/select/select.d.ts +9 -9
  111. package/library/packages/atoms/src/components/tab-group/tab-group.d.ts +1 -1
  112. package/library/packages/atoms/src/components/table/components/index.d.ts +1 -0
  113. package/library/packages/atoms/src/components/table/components/table-footer/table-footer.d.ts +25 -0
  114. package/library/packages/atoms/src/components/table/components/table-footer/table-footer.styles.d.ts +2 -0
  115. package/library/packages/atoms/src/components/table/components/table-toolbar/table-toolbar.d.ts +7 -1
  116. package/library/packages/atoms/src/components/table/table.d.ts +14 -3
  117. package/library/packages/atoms/src/index.d.ts +1 -0
  118. package/library/packages/events/src/cx-capacity-change.d.ts +20 -0
  119. package/library/packages/events/src/cx-capacity-week-bar.d.ts +26 -0
  120. package/library/packages/events/src/cx-folder-select-children-loaded.d.ts +10 -0
  121. package/library/packages/events/src/cx-list-editor-change.d.ts +1 -1
  122. package/library/packages/events/src/cx-sb-dam-view-config-change.d.ts +8 -0
  123. package/library/packages/events/src/events.d.ts +4 -0
  124. package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Format/defaults/formatters/diff.d.ts +5 -0
  125. package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Format/defaults/formatters.d.ts +2 -0
  126. package/library/packages/molecules/src/dynamic-select/dynamic-select.d.ts +19 -1
  127. package/library/packages/molecules/src/folder-select/components/folder-select-tree/folder-select-tree.d.ts +11 -0
  128. package/library/packages/organisms/src/capacity-planner/capacity-core.d.ts +81 -0
  129. package/library/packages/organisms/src/capacity-planner/capacity-planner.d.ts +194 -0
  130. package/library/packages/organisms/src/capacity-planner/capacity-planner.styles.d.ts +2 -0
  131. package/library/packages/organisms/src/capacity-planner/components/capacity-toolbar/capacity-toolbar.d.ts +35 -0
  132. package/library/packages/organisms/src/capacity-planner/components/capacity-toolbar/capacity-toolbar.styles.d.ts +2 -0
  133. package/library/packages/organisms/src/capacity-planner/components/capacity-week-bar/capacity-week-bar.d.ts +101 -0
  134. package/library/packages/organisms/src/capacity-planner/components/capacity-week-bar/capacity-week-bar.styles.d.ts +2 -0
  135. package/library/packages/organisms/src/chatbot/chatbot.d.ts +1 -1
  136. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +12 -0
  137. package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +6 -0
  138. package/library/packages/organisms/src/content-builder/configs/dam-view.d.ts +66 -0
  139. package/library/packages/organisms/src/content-builder/configs/index.d.ts +1 -0
  140. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +110 -0
  141. package/library/packages/organisms/src/content-builder/content-builder-config.d.ts +3 -0
  142. package/library/packages/organisms/src/content-builder/content-builder.d.ts +1 -0
  143. package/library/packages/organisms/src/content-builder/plugins/dam-view.d.ts +5 -0
  144. package/library/packages/organisms/src/content-builder/plugins/index.d.ts +1 -0
  145. package/library/packages/organisms/src/content-builder/styleController.d.ts +7 -3
  146. package/library/packages/organisms/src/dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor.d.ts +176 -0
  147. package/library/packages/organisms/src/dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor.styles.d.ts +2 -0
  148. package/library/packages/organisms/src/index.d.ts +2 -0
  149. package/library/packages/services/src/api/cms5/cms5.d.ts +17 -1
  150. package/library/packages/services/src/api/endpoints.d.ts +13 -1
  151. package/library/packages/services/src/api/metadata/index.d.ts +1 -0
  152. package/library/packages/services/src/api/metadata/metadata.d.ts +3 -1
  153. package/library/packages/services/src/api/metadata/metadata.types.d.ts +53 -0
  154. package/library/packages/styles/src/table-select.styles.d.ts +2 -0
  155. package/library/packages/types/src/content-builder.d.ts +13 -5
  156. package/library/packages/types/src/dam-view.d.ts +48 -0
  157. package/library/packages/types/src/table.d.ts +17 -1
  158. package/library/packages/utils/src/custom-element/i18n.d.ts +95 -0
  159. package/library/packages/utils/src/custom-element/math.d.ts +8 -0
  160. package/library/packages/utils/src/date/index.d.ts +1 -0
  161. package/library/packages/utils/src/date/iso-week-number.d.ts +9 -0
  162. package/library/react-web-component.d.ts +545 -438
  163. package/library/utils.js +267 -253
  164. package/package.json +1 -1
  165. package/library/chunks/debounce.CIEhztrj.js +0 -97
  166. package/library/chunks/math.DqTA6ya4.js +0 -7
@@ -7,6 +7,7 @@ export { default as ColumnPlugin } from './column';
7
7
  export { default as ColumnGroupPlugin } from './column-group';
8
8
  export { default as CorePlugin } from './core';
9
9
  export { default as InjectCustomFrameAbilityForGrapesJS } from './custom-frame';
10
+ export { default as DamViewPlugin } from './dam-view';
10
11
  export { default as DividerPlugin } from './divider';
11
12
  export { default as DocumentViewerPlugin } from './document-viewer';
12
13
  export { default as FontKitPlugin } from './font-kit';
@@ -72,7 +72,7 @@ export default class StyleController {
72
72
  checkedValue?: string | boolean;
73
73
  children?: import('../../../types/src/content-builder').PropertyConfig[];
74
74
  clearable?: boolean;
75
- controlType: "asset-transformation" | "bicolor-picker" | "border-input-group" | "button-group" | "checkbox" | "checkbox-group" | "color-swatch-picker" | "corner-position-input-group" | "download-format-picker" | "file" | "folder-picker" | "gallery-picker" | "group" | "group-heading" | "icon-picker" | "image-picker" | "input" | "list-editor" | "all-picker" | "other-picker" | "padding-input-group" | "page-picker" | "placeholder" | "position-picker" | "radio-card-group" | "radio-group" | "select" | "shadow-input-group" | "size-input-group" | "switch" | "table" | "text" | "audio-picker" | "asset-format-picker" | "video-picker";
75
+ controlType: "asset-transformation" | "bicolor-picker" | "border-input-group" | "button-group" | "checkbox" | "checkbox-group" | "color-swatch-picker" | "corner-position-input-group" | "dam-custom-toolbar-buttons" | "download-format-picker" | "file" | "folder-picker" | "gallery-picker" | "group" | "group-heading" | "icon-picker" | "image-picker" | "input" | "list-editor" | "all-picker" | "other-picker" | "padding-input-group" | "page-picker" | "placeholder" | "position-picker" | "radio-card-group" | "radio-group" | "select" | "shadow-input-group" | "size-input-group" | "switch" | "table" | "text" | "audio-picker" | "asset-format-picker" | "video-picker";
76
76
  cornerStyleKey?: {
77
77
  offsetX: string;
78
78
  offsetY: string;
@@ -87,7 +87,8 @@ export default class StyleController {
87
87
  prescribedDocTypes?: import('../../../types/src/download-format-picker').DownloadDocType[];
88
88
  };
89
89
  folderPickerConfigs?: {
90
- useFullPath: boolean;
90
+ useFullPath?: boolean;
91
+ variant?: import('../../../types/src/folder-select').FolderSelectVariant;
91
92
  };
92
93
  galleryPickerConfigs?: {
93
94
  dialog: import('../../../types/src/content-builder').DialogType;
@@ -146,7 +147,10 @@ export default class StyleController {
146
147
  useMask?: boolean;
147
148
  };
148
149
  skipShowCheck?: boolean;
149
- tab?: "content" | "styling" | "effects";
150
+ tab?: "appearance" | "content" | "effects" | "sidePanels" | "styling";
151
+ tableSelectConfigs?: {
152
+ columns: import('../../../types/src/table-select').TableSelectColumn[];
153
+ };
150
154
  translatable?: boolean;
151
155
  translateGroup?: string;
152
156
  type: "attribute" | "property" | "style" | "decorative";
@@ -0,0 +1,176 @@
1
+ import { default as CxButton } from '../../../atoms/src/components/button/button.ts';
2
+ import { default as CxCheckbox } from '../../../atoms/src/components/checkbox/checkbox.ts';
3
+ import { default as CxDialog } from '../../../atoms/src/components/dialog/dialog.ts';
4
+ import { default as CxDropdown } from '../../../atoms/src/components/dropdown/dropdown.ts';
5
+ import { default as CxGrid } from '../../../atoms/src/components/grid/grid.ts';
6
+ import { default as CxGridItem } from '../../../atoms/src/components/grid-item/grid-item.ts';
7
+ import { default as CxIcon } from '../../../atoms/src/components/icon/icon.ts';
8
+ import { default as CxInput } from '../../../atoms/src/components/input/input.ts';
9
+ import { default as CxOption } from '../../../atoms/src/components/option/option.ts';
10
+ import { default as CxRadio } from '../../../atoms/src/components/radio/radio.ts';
11
+ import { default as CxRadioGroup } from '../../../atoms/src/components/radio-group/radio-group.ts';
12
+ import { default as CxSelect } from '../../../atoms/src/components/select/select.ts';
13
+ import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
14
+ import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
15
+ import { default as CortexElement } from '../../../base/src/cortex-element.ts';
16
+ import { CxAssetRequestStatusEvent, CxChangeEvent, CxRequestCloseEvent } from '../../../events/src/events.ts';
17
+ import { default as CxConfirmPopover } from '../../../molecules/src/confirm-popover/confirm-popover.ts';
18
+ import { default as CxDynamicSelect } from '../../../molecules/src/dynamic-select/dynamic-select.ts';
19
+ import { default as CxIconPicker } from '../../../molecules/src/icon-picker/icon-picker.ts';
20
+ import { default as CxListEditor } from '../../../molecules/src/list-editor/list-editor.ts';
21
+ import { Option } from '../../../types/src/content-builder';
22
+ import { DamCustomToolbarButton } from '../../../types/src/dam-view';
23
+ import { CSSResultGroup } from 'lit';
24
+
25
+ type CxListEditorRowActionEvent = CustomEvent<{
26
+ index: string;
27
+ item: DamCustomToolbarButton;
28
+ }>;
29
+ /**
30
+ * @summary Dedicated editor for DAM view "Custom toolbar buttons" trait. Renders a
31
+ * compact list view (via `cx-list-editor` in event-driven mode) and owns its own
32
+ * Add/Edit dialog with the full button schema (Type, Label, Tooltip, Appearance,
33
+ * Icon, Action on click, target, and Level of access). The built-in `cx-list-editor`
34
+ * dialog is intentionally bypassed because the form needs section headings and
35
+ * conditional fields.
36
+ *
37
+ * @event {{ data: DamCustomToolbarButton[] }} cx-list-editor-change - Emitted whenever the buttons collection changes (add / edit / delete).
38
+ *
39
+ * @csspart list - The inner `cx-list-editor` element.
40
+ * @csspart dialog - The Add/Edit dialog wrapper.
41
+ */
42
+ export default class CxDamCustomToolbarButtonsEditor extends CortexElement {
43
+ static readonly styles: CSSResultGroup;
44
+ static readonly dependencies: {
45
+ 'cx-button': typeof CxButton;
46
+ 'cx-checkbox': typeof CxCheckbox;
47
+ 'cx-confirm-popover': typeof CxConfirmPopover;
48
+ 'cx-dialog': typeof CxDialog;
49
+ 'cx-dropdown': typeof CxDropdown;
50
+ 'cx-dynamic-select': typeof CxDynamicSelect;
51
+ 'cx-grid': typeof CxGrid;
52
+ 'cx-grid-item': typeof CxGridItem;
53
+ 'cx-icon': typeof CxIcon;
54
+ 'cx-icon-picker': typeof CxIconPicker;
55
+ 'cx-input': typeof CxInput;
56
+ 'cx-list-editor': typeof CxListEditor;
57
+ 'cx-option': typeof CxOption;
58
+ 'cx-radio': typeof CxRadio;
59
+ 'cx-radio-group': typeof CxRadioGroup;
60
+ 'cx-select': typeof CxSelect;
61
+ 'cx-space': typeof CxSpace;
62
+ 'cx-typography': typeof CxTypography;
63
+ };
64
+ private readonly localize;
65
+ /**
66
+ * Service aliases (per lit-8-2-injectable-api). Tests can override with
67
+ * `el['apiGetDamViewAvailableSpaces'] = stub` / `el['apiGetSubTypesWithWildcard'] = stub`.
68
+ */
69
+ private apiGetSubTypesWithWildcard;
70
+ private apiGetDamViewAvailableSpaces;
71
+ private apiGetDamViewAvailableButtons;
72
+ private apiGetDamViewAvailableForms;
73
+ private apiGetDamViewAvailableLevelsOfAccess;
74
+ private apiGetDamViewAvailablePages;
75
+ /** Tracks whether `subTypesApi` has resolved at least once for the current API. */
76
+ private subTypesLoaded;
77
+ private readonly formApi;
78
+ private readonly spaceApi;
79
+ private readonly accessLevelApi;
80
+ private readonly pageApi;
81
+ /**
82
+ * Custom toolbar buttons collection (controlled). Accepts either an array
83
+ * (property binding) or a JSON string (attribute binding — used by
84
+ * `config-form-controller` after `handleConfigChange` stringifies attribute
85
+ * values).
86
+ */
87
+ data: DamCustomToolbarButton[];
88
+ /** Column definitions forwarded to the inner `cx-list-editor` table. */
89
+ columns: Array<Record<string, unknown>>;
90
+ /** Boundary element passed to the dialog (typically the content-builder host). */
91
+ boundary: HTMLElement;
92
+ /**
93
+ * Function to configure a workflow for the selected button.
94
+ * Called when the user clicks "Configure" on a button with action ExecuteWorkflow.
95
+ * @default undefined
96
+ */
97
+ onConfigureWorkflow: ((id?: string) => Promise<string>) | undefined;
98
+ /** The item currently being added or edited (null when dialog is closed). */
99
+ private editedItem;
100
+ /** True when the dialog is in "add" mode; false when editing existing item. */
101
+ private isAdding;
102
+ /** Cached grouped subtypes resolved from `subTypesApi`. Empty until the first load. */
103
+ private subTypesData;
104
+ /** True while `subTypesApi` is in flight. */
105
+ private isLoadingSubTypes;
106
+ /** True while a child asset picker is busy — prevents the dialog from being closed. */
107
+ private isAssetRequestBusy;
108
+ private addDropdownEl;
109
+ private addButtonSelectEl;
110
+ private dialogForm;
111
+ private confirmPopover;
112
+ constructor();
113
+ handleEditedItemChange(): Promise<void>;
114
+ private availableButtonsApi;
115
+ private get pageSelectColumns();
116
+ private get addSelectColumns();
117
+ handleCreateNewClick(): void;
118
+ handleAvailableButtonSelect(event: CustomEvent<Option>): void;
119
+ handleListEditorEdit(event: CxListEditorRowActionEvent): void;
120
+ handleListEditorDelete(event: CxListEditorRowActionEvent): void;
121
+ handleAddClick(): void;
122
+ handleCancelClick(): void;
123
+ handleRequestClose(event: CxRequestCloseEvent): void;
124
+ handleAssetRequestStatus(event: CxAssetRequestStatusEvent): void;
125
+ handleConfirmClose(): void;
126
+ handleTypeChange(event: CxChangeEvent): void;
127
+ handleLabelChange(event: CxChangeEvent): void;
128
+ handleTooltipChange(event: CxChangeEvent): void;
129
+ handleAppearanceChange(event: CxChangeEvent): void;
130
+ handleIconChange(event: CxChangeEvent): void;
131
+ handleActionChange(event: CxChangeEvent): void;
132
+ handleLinkChange(event: CxChangeEvent): void;
133
+ handleOpenInNewTabChange(event: CxChangeEvent): void;
134
+ handleFormIdChange(event: CustomEvent<Option>): void;
135
+ handlePageChange(event: CxChangeEvent): void;
136
+ handleSpaceIdChange(event: CustomEvent<Option>): void;
137
+ handleRecordTypeChange(event: CxChangeEvent): void;
138
+ handleRecordSubTypeChange(event: CxChangeEvent): void;
139
+ handleAccessLevelChange(event: CustomEvent<Option>): void;
140
+ handleConfigureWorkflowClick(): Promise<void>;
141
+ handleSaveClick(): void;
142
+ handleDialogFormSubmit(event: SubmitEvent): void;
143
+ private loadSubTypesIfNeeded;
144
+ /** Returns the `typeLabel` key (underscored) that matches a given `typeDbBOName`. */
145
+ private findTypeKeyByDbBOName;
146
+ /** Picks the wildcard subTypeValue (or first available) for a given `typeDbBOName`. */
147
+ private findDefaultSubTypeFor;
148
+ private createNewButton;
149
+ private updateEditedItem;
150
+ private emitChange;
151
+ private closeDialog;
152
+ private renderTypeField;
153
+ private renderLabelField;
154
+ private renderTooltipField;
155
+ private renderAppearanceField;
156
+ private renderIconField;
157
+ private renderActionField;
158
+ private renderFormToOpenField;
159
+ private renderLinkField;
160
+ private renderPageField;
161
+ private renderRecordTypeAndSubTypeField;
162
+ private renderSpaceField;
163
+ private renderOpenInNewTabField;
164
+ private renderConfigureWorkflowButton;
165
+ private renderAccessLevelField;
166
+ private handleListEditorReorder;
167
+ private renderGeneralSection;
168
+ private renderVisibilitySection;
169
+ render(): import('lit').TemplateResult<1>;
170
+ }
171
+ declare global {
172
+ interface HTMLElementTagNameMap {
173
+ 'cx-dam-custom-toolbar-buttons-editor': CxDamCustomToolbarButtonsEditor;
174
+ }
175
+ }
176
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -3,12 +3,14 @@ export { default as CxAssetTransformationDialog } from './asset-transformation-d
3
3
  export { default as CxDashboardFilter } from './dashboard-filter/dashboard-filter';
4
4
  export { default as CxDashboardTable } from './dashboard-table/dashboard-table';
5
5
  export { default as CxBentoGrid } from './bento-grid/bento-grid';
6
+ export { default as CxCapacityPlanner } from './capacity-planner/capacity-planner';
6
7
  export { default as CxCarousel } from './carousel/carousel';
7
8
  export { default as CxChatbot } from './chatbot/chatbot';
8
9
  export { default as CxChartPlanBuilder } from './content-builder/components/chart-plan-builder/chart-plan-builder';
9
10
  export { default as CxClusterManagement } from './cluster-management/cluster-management';
10
11
  export { default as CxColorSwatchGroup } from './color-swatch-group/color-swatch-group';
11
12
  export { default as CxComment } from './comment/comment';
13
+ export { default as CxDamCustomToolbarButtonsEditor } from './dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor';
12
14
  export { default as CxContentBuilder } from './content-builder/content-builder';
13
15
  export { default as CxDownloader } from './downloader/downloader';
14
16
  export { default as CxFileOnDemand } from './file-on-demand/file-on-demand';
@@ -1,5 +1,5 @@
1
1
  import { EditorMode, Permission } from '../../../../types/src/content-builder';
2
- import { AddTemplateRequest, AddTemplateResponse, GetAdhocPropertiesResponse, GetBlockTemplatesResponse, GetBlockTypesResponse, GetPagesForBlockTemplateResponse, GetTemplatesResponse, UpdateTemplateRequest, UpdateTemplateResponse } from './cms5.types';
2
+ import { AddTemplateRequest, AddTemplateResponse, GetAdhocPropertiesResponse, GetBlockTemplatesResponse, GetBlockTypesResponse, GetDamViewAssetStatusesResponse, GetDamViewAssetTypesResponse, GetDamViewAvailableButtonsResponse, GetDamViewAvailableFormsResponse, GetDamViewAvailableLevelsOfAccessResponse, GetDamViewAvailablePagesResponse, GetDamViewAvailablePanelsResponse, GetDamViewAvailableSpacesResponse, GetDamViewAvailableTemplatesResponse, GetDamViewDisplayModeOptionsResponse, GetPagesForBlockTemplateResponse, GetTemplatesResponse, UpdateTemplateRequest, UpdateTemplateResponse } from './cms5.types';
3
3
 
4
4
  export declare function apiAddTemplate({ blockType, description, name, settings, }: AddTemplateRequest): Promise<AddTemplateResponse | null>;
5
5
  export declare function apiGetTemplates({ ids }: {
@@ -24,6 +24,22 @@ export declare function apiGetEditorMode({ id }: {
24
24
  export declare function apiGetAdhocProperties({ type }: {
25
25
  type: string;
26
26
  }): Promise<GetAdhocPropertiesResponse>;
27
+ export declare function apiGetDamViewAvailableLevelsOfAccess(): Promise<GetDamViewAvailableLevelsOfAccessResponse>;
28
+ export declare function apiGetDamViewAvailableForms(params?: {
29
+ search?: string;
30
+ }): Promise<GetDamViewAvailableFormsResponse>;
31
+ export declare function apiGetDamViewAvailableButtons(params?: {
32
+ teamspaceModule?: string;
33
+ }): Promise<GetDamViewAvailableButtonsResponse>;
34
+ export declare function apiGetDamViewAssetStatuses(): Promise<GetDamViewAssetStatusesResponse>;
35
+ export declare function apiGetDamViewAssetTypes(): Promise<GetDamViewAssetTypesResponse>;
36
+ export declare function apiGetDamViewAvailablePanels(params?: {
37
+ additionalFilterOnly?: boolean;
38
+ }): Promise<GetDamViewAvailablePanelsResponse>;
39
+ export declare function apiGetDamViewDisplayModeOptions(): Promise<GetDamViewDisplayModeOptionsResponse>;
40
+ export declare function apiGetDamViewAvailableTemplates(): Promise<GetDamViewAvailableTemplatesResponse>;
41
+ export declare function apiGetDamViewAvailableSpaces(): Promise<GetDamViewAvailableSpacesResponse>;
42
+ export declare function apiGetDamViewAvailablePages(): Promise<GetDamViewAvailablePagesResponse>;
27
43
  export declare function apiGetPagesForBlockTemplate({ id }: {
28
44
  id: string;
29
45
  }): Promise<GetPagesForBlockTemplateResponse>;
@@ -24,7 +24,9 @@ export declare enum DASHBOARD_API_ENDPOINT {
24
24
  GET_DASHBOARD_LIST = "webapi/extensibility/integrations/businessintelligence/getlistdashboards_41JI_v1"
25
25
  }
26
26
  export declare enum METADATA_API_ENDPOINT {
27
- GET_SEARCHABLE_FIELDS = "webapi/objectmanagement/metadata/fields/getallobjectfieldsforcurrentuser_4C2_v2"
27
+ GET_SEARCHABLE_FIELDS = "webapi/objectmanagement/metadata/fields/getallobjectfieldsforcurrentuser_4C2_v2",
28
+ GET_SORT_ORDERS = "webapi/objectmanagement/sortorders_49V_v1",
29
+ GET_SUBTYPES_WITH_WILDCARD = "webapi/document/doctype/subtypeswithwildcard_4A5_v1"
28
30
  }
29
31
  export declare enum SEARCH_API_ENDPOINT {
30
32
  '4.0' = "API/Search/v4.0/Search"
@@ -39,6 +41,16 @@ export declare enum CMS5_API_ENDPOINT {
39
41
  GET_BLOCK_TEMPLATES = "webapi/cms/cms5/blocktemplate/getblocktemplates_419y_v1",
40
42
  GET_BLOCK_TYPES = "webapi/cms/cms5/blocktemplate/getblocktypes_419z_v1",
41
43
  GET_CAN_CREATE_BLOCK_TEMPLATE = "webapi/cms/cms5/blocktemplate/cancreatenewblocktemplate_41cs_v1",
44
+ GET_DAM_VIEW_ASSET_STATUSES = "webapi/cms/cms5/damview/getassetstatuses_42JQ_v1",
45
+ GET_DAM_VIEW_ASSET_TYPES = "webapi/cms/cms5/damview/getassettypes_42JP_v1",
46
+ GET_DAM_VIEW_AVAILABLE_BUTTONS = "webapi/cms/cms5/damview/getavailablebuttons_42JU_v1",
47
+ GET_DAM_VIEW_AVAILABLE_FORMS = "webapi/cms/cms5/damview/getavailableforms_42JR_v1",
48
+ GET_DAM_VIEW_AVAILABLE_LEVELS_OF_ACCESS = "webapi/cms/cms5/damview/getavailablelevelsofaccess_42JX_v1",
49
+ GET_DAM_VIEW_AVAILABLE_PAGES = "webapi/cms/cms5/damview/getavailablepages_42JV_v1",
50
+ GET_DAM_VIEW_AVAILABLE_PANELS = "webapi/cms/cms5/damview/getavailablepanels_42JT_v1",
51
+ GET_DAM_VIEW_AVAILABLE_SPACES = "webapi/cms/cms5/damview/getavailablespaces_42JW_v1",
52
+ GET_DAM_VIEW_AVAILABLE_TEMPLATES = "webapi/cms/cms5/damview/getavailabletemplates_42JN_v1",
53
+ GET_DAM_VIEW_DISPLAY_MODE_OPTIONS = "webapi/cms/cms5/damview/getdisplaymodeoptions_42JS_v1",
42
54
  GET_PAGES_FOR_BLOCK_TEMPLATE = "webapi/cms/cms5/blocktemplate/getpagesforblocktemplate_41ig_v1",
43
55
  GET_PERMISSION = "webapi/cms/cms5/blocktemplate/getpermission_419r_v1",
44
56
  LIST_BLOCK_TEMPLATES = "webapi/cms/cms5/blocktemplate/getlisttemplates_428o_v1",
@@ -1 +1,2 @@
1
1
  export * from './metadata';
2
+ export * from './metadata.types';
@@ -1,3 +1,5 @@
1
- import { GetSearchableFieldListResponse } from './metadata.types';
1
+ import { GetSearchableFieldListResponse, GetSortOrdersResponse, GetSubTypesWithWildcardResponse } from './metadata.types';
2
2
 
3
3
  export declare function apiGetSearchableFieldList(): Promise<never[] | GetSearchableFieldListResponse>;
4
+ export declare function apiGetSortOrders(): Promise<GetSortOrdersResponse>;
5
+ export declare function apiGetSubTypesWithWildcard(): Promise<GetSubTypesWithWildcardResponse>;
@@ -0,0 +1,53 @@
1
+ export type GetSearchableFieldListRequest = {
2
+ TableName: string;
3
+ };
4
+ export type GetSearchableFieldListRawResponse = {
5
+ listFields: Array<{
6
+ text: string;
7
+ value: string;
8
+ }>;
9
+ };
10
+ export type GetSearchableFieldListResponse = {
11
+ data: Array<{
12
+ label: string;
13
+ value: string;
14
+ }>;
15
+ hasMore: boolean;
16
+ };
17
+ export type SubTypeData = {
18
+ label: string;
19
+ subTypeValue: string;
20
+ typeDbBOName: string;
21
+ typeLabel: string;
22
+ };
23
+ export type GetSubTypesWithWildcardRawResponse = {
24
+ subTypes: SubTypeData[];
25
+ };
26
+ export type SubTypeOption = {
27
+ subTypeValue: string;
28
+ typeDbBOName: string;
29
+ };
30
+ /**
31
+ * Grouped structure consumed by the 2-select UI.
32
+ * Outer key: `typeLabel` with spaces replaced by underscores (e.g. `Machine_learning_model`).
33
+ * Inner key: `label` with spaces replaced by underscores (e.g. `All_Folders`).
34
+ */
35
+ export type GetSubTypesWithWildcardResponse = Record<string, Record<string, SubTypeOption>>;
36
+ export type SortOrderDto = {
37
+ description: string;
38
+ id: string;
39
+ isDefault: boolean;
40
+ legacyValue: string;
41
+ name: string;
42
+ position: number;
43
+ solrSortOrder: string;
44
+ sortDirection: string;
45
+ sortDirectionDisplayName: string;
46
+ sortDirectionGroupKey: string;
47
+ sortType: string;
48
+ visibleIn: string;
49
+ };
50
+ export type GetSortOrdersRawResponse = {
51
+ sortOrders: SortOrderDto[];
52
+ };
53
+ export type GetSortOrdersResponse = SortOrderDto[];
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -2,7 +2,8 @@ import { Component, Editor as GrapesjsEditor, TraitProperties } from 'grapesjs';
2
2
  import { TemplateResult } from 'lit';
3
3
  import { StyleInfo } from 'lit/directives/style-map';
4
4
  import { DownloadDocType } from './download-format-picker';
5
- import { FolderSelectApi } from './folder-select';
5
+ import { FolderSelectApi, FolderSelectVariant } from './folder-select';
6
+ import { TableSelectColumn } from './table-select';
6
7
 
7
8
  export declare enum DeviceType {
8
9
  Desktop = "desktop",
@@ -24,6 +25,8 @@ export type Option = {
24
25
  children?: TemplateResult;
25
26
  dataId?: string;
26
27
  disabled?: boolean;
28
+ /** Additional key-value data for table-select column rendering. */
29
+ extra?: Record<string, string>;
27
30
  helpText?: string;
28
31
  icon?: string;
29
32
  id?: string;
@@ -75,7 +78,7 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
75
78
  checkedValue?: string | boolean;
76
79
  children?: PropertyConfig[];
77
80
  clearable?: boolean;
78
- controlType: 'asset-transformation' | 'bicolor-picker' | 'border-input-group' | 'button-group' | 'checkbox' | 'checkbox-group' | 'color-swatch-picker' | 'corner-position-input-group' | 'download-format-picker' | 'file' | 'folder-picker' | 'gallery-picker' | 'group' | 'group-heading' | 'icon-picker' | 'image-picker' | 'input' | 'list-editor' | 'all-picker' | 'other-picker' | 'padding-input-group' | 'page-picker' | 'placeholder' | 'position-picker' | 'radio-card-group' | 'radio-group' | 'select' | 'shadow-input-group' | 'size-input-group' | 'switch' | 'table' | 'text' | 'audio-picker' | 'asset-format-picker' | 'video-picker';
81
+ controlType: 'asset-transformation' | 'bicolor-picker' | 'border-input-group' | 'button-group' | 'checkbox' | 'checkbox-group' | 'color-swatch-picker' | 'corner-position-input-group' | 'dam-custom-toolbar-buttons' | 'download-format-picker' | 'file' | 'folder-picker' | 'gallery-picker' | 'group' | 'group-heading' | 'icon-picker' | 'image-picker' | 'input' | 'list-editor' | 'all-picker' | 'other-picker' | 'padding-input-group' | 'page-picker' | 'placeholder' | 'position-picker' | 'radio-card-group' | 'radio-group' | 'select' | 'shadow-input-group' | 'size-input-group' | 'switch' | 'table' | 'text' | 'audio-picker' | 'asset-format-picker' | 'video-picker';
79
82
  cornerStyleKey?: {
80
83
  offsetX: string;
81
84
  offsetY: string;
@@ -90,7 +93,8 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
90
93
  prescribedDocTypes?: DownloadDocType[];
91
94
  };
92
95
  folderPickerConfigs?: {
93
- useFullPath: boolean;
96
+ useFullPath?: boolean;
97
+ variant?: FolderSelectVariant;
94
98
  };
95
99
  galleryPickerConfigs?: {
96
100
  dialog: DialogType;
@@ -162,7 +166,10 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
162
166
  * Use for non-content tabs but still need to skip checking show condition
163
167
  */
164
168
  skipShowCheck?: boolean;
165
- tab?: 'content' | 'styling' | 'effects';
169
+ tab?: 'appearance' | 'content' | 'effects' | 'sidePanels' | 'styling';
170
+ tableSelectConfigs?: {
171
+ columns: TableSelectColumn[];
172
+ };
166
173
  translatable?: boolean;
167
174
  translateGroup?: string;
168
175
  type: 'attribute' | 'property' | 'style' | 'decorative';
@@ -282,6 +289,7 @@ export declare enum BlockType {
282
289
  ColorSwatches = "BlockColorSwatches",
283
290
  Column = "BlockCell",
284
291
  ColumnGroup = "BlockColumns",
292
+ DamView = "BlockDamView",
285
293
  Divider = "BlockDivider",
286
294
  DocumentViewer = "BlockDocumentViewer",
287
295
  FontKit = "BlockFontKit",
@@ -295,7 +303,7 @@ export declare enum BlockType {
295
303
  Timeline = "BlockTimeline",
296
304
  Video = "BlockVideo"
297
305
  }
298
- export declare const BLOCK_DROPPABLE_BLOCKS: (BlockType.Accordion | BlockType.Analytics | BlockType.Audio | BlockType.Button | BlockType.Carousel | BlockType.ColorSwatches | BlockType.ColumnGroup | BlockType.Divider | BlockType.DocumentViewer | BlockType.FontKit | BlockType.Gallery | BlockType.Header | BlockType.Image | BlockType.RichText | BlockType.SearchBox | BlockType.TabGroup | BlockType.Text | BlockType.Timeline | BlockType.Video)[];
306
+ export declare const BLOCK_DROPPABLE_BLOCKS: (BlockType.Accordion | BlockType.Analytics | BlockType.Audio | BlockType.Button | BlockType.Carousel | BlockType.ColorSwatches | BlockType.ColumnGroup | BlockType.DamView | BlockType.Divider | BlockType.DocumentViewer | BlockType.FontKit | BlockType.Gallery | BlockType.Header | BlockType.Image | BlockType.RichText | BlockType.SearchBox | BlockType.TabGroup | BlockType.Text | BlockType.Timeline | BlockType.Video)[];
299
307
  export declare enum DialogType {
300
308
  Carousel = "carousel",
301
309
  Gallery = "gallery"
@@ -0,0 +1,48 @@
1
+ export declare enum DamToolbarButtonType {
2
+ Primary = "primary",
3
+ Secondary = "secondary"
4
+ }
5
+ export declare enum DamToolbarButtonAppearance {
6
+ IconAndLabel = "icon-and-label",
7
+ IconOnly = "icon-only",
8
+ LabelOnly = "label-only"
9
+ }
10
+ export declare enum DamToolbarButtonAction {
11
+ CreateRecord = "create-record",
12
+ ExecuteWorkflow = "execute-workflow",
13
+ OpenForm = "open-form",
14
+ OpenLink = "open-link",
15
+ OpenPage = "open-page",
16
+ OpenSpace = "open-space"
17
+ }
18
+ export declare enum DamViewCustomButtonSourceType {
19
+ CustomButton = "CustomButton",
20
+ QuickAction = "QuickAction",
21
+ WidgetCustomButton = "WidgetCustomButton"
22
+ }
23
+ export declare enum DamViewPanelType {
24
+ AdditionalAIAssistant = "AdditionalAIAssistant",
25
+ AdditionalBatchEdit = "AdditionalBatchEdit",
26
+ AdditionalFilter = "AdditionalFilter",
27
+ None = "None"
28
+ }
29
+ export type DamCustomToolbarButton = {
30
+ accessLevel: string;
31
+ action: DamToolbarButtonAction;
32
+ appearance: DamToolbarButtonAppearance;
33
+ formId?: string;
34
+ icon?: string;
35
+ id: string;
36
+ label: string;
37
+ link?: string;
38
+ name: string;
39
+ openInNewTab?: boolean;
40
+ pageId?: string;
41
+ pageUrl?: string;
42
+ recordSubType?: string;
43
+ recordType?: string;
44
+ spaceId?: string;
45
+ tooltip?: string;
46
+ type: DamToolbarButtonType;
47
+ workflowId?: string;
48
+ };
@@ -13,6 +13,14 @@ export type DropdownItem = {
13
13
  section?: string;
14
14
  style?: Record<string, string>;
15
15
  };
16
+ export declare enum PaginationPlacement {
17
+ BottomCenter = "bottom-center",
18
+ BottomEnd = "bottom-end",
19
+ BottomStart = "bottom-start",
20
+ TopCenter = "top-center",
21
+ TopEnd = "top-end",
22
+ TopStart = "top-start"
23
+ }
16
24
  export declare enum RowActionType {
17
25
  Button = "button",
18
26
  Dropdown = "dropdown"
@@ -2299,7 +2307,7 @@ export type ColumnCalc = 'avg' | 'max' | 'min' | 'sum' | 'concat' | 'count' | 'u
2299
2307
  export type ColumnCalcParams = {
2300
2308
  precision: number;
2301
2309
  } | ((values: any, data: any) => any);
2302
- export type Formatter = 'plaintext' | 'textarea' | 'html' | 'money' | 'image' | 'datetime' | 'datetimediff' | 'link' | 'tickCross' | 'color' | 'star' | 'traffic' | 'progress' | 'lookup' | 'buttonTick' | 'buttonCross' | 'rownum' | 'handle' | 'rowSelection' | 'responsiveCollapse' | 'toggle' | 'time' | ((cell: ICellComponent, formatterParams: Record<string, unknown>, onRendered: EmptyCallback) => string | HTMLElement);
2310
+ export type Formatter = 'plaintext' | 'textarea' | 'html' | 'money' | 'image' | 'datetime' | 'datetimediff' | 'link' | 'tickCross' | 'color' | 'star' | 'traffic' | 'progress' | 'lookup' | 'buttonTick' | 'buttonCross' | 'rownum' | 'handle' | 'rowSelection' | 'responsiveCollapse' | 'toggle' | 'time' | 'diff' | ((cell: ICellComponent, formatterParams: Record<string, unknown>, onRendered: EmptyCallback) => string | HTMLElement);
2303
2311
  export type FormatterParams = MoneyParams | ImageParams | LinkParams | DateTimeParams | DateTimeDifferenceParams | TickCrossParams | TrafficParams | ProgressBarParams | StarRatingParams | RowSelectionParams | JSONRecord | ToggleSwitchParams | TimeFormatterParams | ((cell: ICellComponent) => Record<string, unknown>);
2304
2312
  export type TextFormatParams = {
2305
2313
  getColor?: (cell: any) => string;
@@ -3186,6 +3194,14 @@ export type CompositeFormatterParams = {
3186
3194
  placeholderStyle?: Record<string, string>;
3187
3195
  wrap?: SpaceWrapProp;
3188
3196
  };
3197
+ export type DiffFormatterParams = {
3198
+ /** Old value to diff against. Static value or `(cell) => value`. Falls back to `cell.getValue()` when omitted. */
3199
+ oldValue?: unknown | ((cell: ICellComponent) => unknown);
3200
+ /** New value to display. Static value or `(cell) => value`. Falls back to `cell.getValue()` when omitted. */
3201
+ newValue?: unknown | ((cell: ICellComponent) => unknown);
3202
+ /** Separator used when joining array values. Defaults to `', '`. */
3203
+ arraySeparator?: string;
3204
+ };
3189
3205
  export type TableDropdownFilterDataOption = {
3190
3206
  filter?: Filter;
3191
3207
  id: string;