@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
@@ -0,0 +1,194 @@
1
+ import { default as CxRadioButton } from '../../../atoms/src/components/radio-button/radio-button.ts';
2
+ import { default as CxRadioGroup } from '../../../atoms/src/components/radio-group/radio-group.ts';
3
+ import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
4
+ import { default as CortexElement } from '../../../base/src/cortex-element.ts';
5
+ import { CapacityCategory, CapacityWeek } from '../../../types/src/capacity-planner';
6
+ import { CSSResultGroup, TemplateResult } from 'lit';
7
+ import { FLOOR, isoWeekNumber, quantizeLargestRemainder, UNAVAILABLE_COLOR, UNAVAILABLE_ID, UNAVAILABLE_NAME } from './capacity-core';
8
+ import { default as CxCapacityToolbar } from './components/capacity-toolbar/capacity-toolbar';
9
+ import { default as CxCapacityWeekBar } from './components/capacity-week-bar/capacity-week-bar';
10
+
11
+ export { FLOOR, isoWeekNumber, quantizeLargestRemainder, UNAVAILABLE_COLOR, UNAVAILABLE_ID, UNAVAILABLE_NAME, };
12
+ /** Edit interaction modes for the individual planner. */
13
+ export type CapacityEditMode = 'adjust' | 'copy';
14
+ /**
15
+ * @summary Individual weekly capacity planner. Each week distributes a fixed
16
+ * weekly capacity across work categories as a horizontal bar of colored bands.
17
+ * Users either drag a band to rebalance the split or copy whole weeks across a
18
+ * range. A reserved, component-synthesized "Unavailable" (grey) band fills
19
+ * each week up to the weekly capacity, so the UI total is ALWAYS exactly the
20
+ * capacity while the REAL categories may sum to LESS. Dragging any band
21
+ * (including Unavailable) rebalances proportionally against the others; an
22
+ * empty week renders as 100% Unavailable with the real bands at 0 shown as
23
+ * grabbable FLOOR-width slivers. Hours are floats internally and rounded only
24
+ * for display/save. The Unavailable band is NEVER saved: edits emit a
25
+ * debounced `cx-capacity-change` carrying ONLY the real categories for each
26
+ * edited week, with integer hours (largest-remainder) that sum to
27
+ * round(capacity) − round(unavailable) and match the visible labels.
28
+ *
29
+ * @event {{ weeks: Array<{ weekStart: string, allocations: Array<{ categoryId: string, hours: number }> }> }} cx-capacity-change - Debounced (~1000ms) emit of every edited week's REAL category allocations (integer hours; the unallocated remainder is implicit and the synthetic Unavailable band is never included).
30
+ */
31
+ export default class CxCapacityPlanner extends CortexElement {
32
+ static readonly styles: CSSResultGroup;
33
+ static readonly dependencies: {
34
+ 'cx-capacity-toolbar': typeof CxCapacityToolbar;
35
+ 'cx-capacity-week-bar': typeof CxCapacityWeekBar;
36
+ 'cx-radio-button': typeof CxRadioButton;
37
+ 'cx-radio-group': typeof CxRadioGroup;
38
+ 'cx-typography': typeof CxTypography;
39
+ };
40
+ private readonly localize;
41
+ /**
42
+ * Work categories (≤10). `color` is optional; a stable one is derived if
43
+ * absent. JS-only (array of objects) — never reflected to/parsed from an
44
+ * attribute.
45
+ */
46
+ categories: CapacityCategory[];
47
+ /** Per-week allocations for the visible horizon (weeks ordered ascending). */
48
+ weeks: CapacityWeek[];
49
+ /** Total hours available per week (C). Defaults to 40. */
50
+ weeklyCapacity: number;
51
+ /** Optional per-category clamp (max hours a single category may hold). */
52
+ maxHourPerCell?: number;
53
+ /** When false, the planner is fully read-only (no drag, copy, or seeding). */
54
+ editable: boolean;
55
+ /** ISO date; weeks starting before this are read-only (e.g. the past). */
56
+ firstEditableWeek?: string;
57
+ /** Intl date-format locale used for week-start labels. */
58
+ dateFormat: string;
59
+ /** First day of the week for display alignment (Monday by default). */
60
+ weekStartsOn: string;
61
+ private editMode;
62
+ private selActive;
63
+ /** Selection anchor/focus week indices (inclusive range when sorted). */
64
+ private selAnchorW;
65
+ private selFocusW;
66
+ private filling;
67
+ private fillToW;
68
+ private copyMsg;
69
+ private barWidth;
70
+ private readonly scrollEl;
71
+ /**
72
+ * Live plan: plan[weekIndex] = { categoryId -> hours } as floats. This is a
73
+ * plain field (not reactive) because it mutates many times per drag frame; we
74
+ * schedule renders via requestAnimationFrame instead.
75
+ */
76
+ private plan;
77
+ /** Indices of weeks edited since the last debounced emit. */
78
+ private readonly dirtyWeeks;
79
+ private interaction;
80
+ private rafId;
81
+ private flashTimer;
82
+ /** Module-level-style clipboard: an N-week buffer of category->hours maps. */
83
+ private clipboard;
84
+ constructor();
85
+ runConnectedCallback(): void;
86
+ disconnectedCallback(): void;
87
+ runFirstUpdated(): void;
88
+ /**
89
+ * The synthetic Unavailable pseudo-category. NOT part of the
90
+ * server-provided `categories` prop — appended internally as the LAST band so
91
+ * every week's UI total is exactly the capacity. Never emitted.
92
+ */
93
+ private get unavailableCategory();
94
+ /**
95
+ * Cached derived state, recomputed ONLY when `categories` changes (see
96
+ * `recomputeDerived`). These were getters that rebuilt their map/arrays on
97
+ * every render call — with many weeks/categories that ran dozens of times per
98
+ * drag frame. They depend solely on `categories`, so caching them keeps the
99
+ * values byte-identical while removing the per-render churn.
100
+ *
101
+ * - `effectiveCategories`: the real `categories` followed by the synthetic
102
+ * Unavailable band (always last). All allocation math runs over THIS set.
103
+ * - `colorMap`: category id -> resolved color (provided or derived from id).
104
+ * - `legend`: toolbar legend entries (reals + the reserved Unavailable entry).
105
+ */
106
+ private effectiveCategories;
107
+ private colorMap;
108
+ private legend;
109
+ private recomputeDerived;
110
+ /** Whether the week at `index` is editable (mode + horizon gate). */
111
+ private isWeekEditable;
112
+ private rebuildPlan;
113
+ /**
114
+ * Integer hours for a week over the FULL effective set (real categories
115
+ * followed by Unavailable), in band order, via a largest-remainder
116
+ * (Hamilton) quantizer: floor every band, then hand the `round(C) − Σfloors`
117
+ * leftover units to the bands with the largest fractional remainders
118
+ * (deterministic tie-break: larger float value, then lower index). The result
119
+ * always sums to exactly `Math.round(C)`. Internal working values stay floats;
120
+ * this drives the displayed hour labels AND (after dropping the trailing OOO
121
+ * unit) the emitted payload, so "what you see equals what's saved" for the
122
+ * real categories.
123
+ */
124
+ private quantizeWeek;
125
+ /**
126
+ * Thin wrappers around the shared pure `capacity-core` math. Each preserves
127
+ * the exact private-method signature and call sites the rest of this class
128
+ * (and its test suites) rely on — only the BODY now delegates to the core,
129
+ * passing `this.weeklyCapacity` / `this.maxHourPerCell` / `this.categories`.
130
+ * This keeps the behavior byte-stable while letting `cx-team-capacity` reuse
131
+ * the identical algorithms.
132
+ */
133
+ private get capacityConstraints();
134
+ private clamp;
135
+ private correctToCapacity;
136
+ private effectiveCapFor;
137
+ private cappedWaterFill;
138
+ private normalizeWeekToCapacity;
139
+ private rebalance;
140
+ private writeWeek;
141
+ private copyWeek;
142
+ private markDirty;
143
+ private scheduleEmit;
144
+ private emitChange;
145
+ private scheduleRender;
146
+ private measure;
147
+ private handleResize;
148
+ private bandsForWeek;
149
+ private weekLabel;
150
+ /** Read the week index from the `data-week-index` attr on the event target. */
151
+ private weekIndexFromEvent;
152
+ private handleBandPointerDown;
153
+ /** Keyboard step on a band — routed through the SAME rebalance + emit. */
154
+ private handleBandStep;
155
+ private handlePointerMove;
156
+ private handlePointerUp;
157
+ private weekFromY;
158
+ private handleScrollPointerDown;
159
+ private handleFillPointerDown;
160
+ private performFill;
161
+ /** Move browser focus to a week row by index (clamped to the visible range). */
162
+ private focusWeekRow;
163
+ /**
164
+ * Keyboard selection on a focusable week row (copy mode). Arrow Up/Down moves
165
+ * the focused week (mirroring the pointer selection by setting the SAME
166
+ * selAnchorW/selFocusW state); Shift+Arrow extends the contiguous selection
167
+ * (anchor fixed, focus moves). Mirrors how a pointer drag drives selection.
168
+ */
169
+ private handleRowKeyDown;
170
+ /** Establish a single-week selection when a row gains keyboard focus. */
171
+ private handleRowFocus;
172
+ /**
173
+ * Keyboard on the fill handle (role=button). Enter/Space toggles fill mode;
174
+ * while filling, Arrow Down/Up adjusts the fill target row, Enter commits the
175
+ * cyclic fill (same `source = lo + ((t-lo) mod N)` logic as the pointer path),
176
+ * Esc cancels.
177
+ */
178
+ private handleFillKeyDown;
179
+ private handleKeyDown;
180
+ private doCopy;
181
+ private doPaste;
182
+ private flash;
183
+ private setMode;
184
+ /** Mode change from the design-system `cx-radio-group` (`cx-change`). */
185
+ private handleModeChange;
186
+ private get hintText();
187
+ private renderRow;
188
+ render(): TemplateResult;
189
+ }
190
+ declare global {
191
+ interface HTMLElementTagNameMap {
192
+ 'cx-capacity-planner': CxCapacityPlanner;
193
+ }
194
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
2
+ import { CSSResultGroup, TemplateResult } from 'lit';
3
+
4
+ /** A legend entry: a category with its resolved color. */
5
+ export interface CapacityLegendItem {
6
+ color: string;
7
+ id: string;
8
+ name: string;
9
+ /**
10
+ * When true this is a reserved, component-synthesized entry (the "Out of
11
+ * Office" band) rather than a real category. The toolbar renders it last,
12
+ * visually separated from the real categories.
13
+ */
14
+ reserved?: boolean;
15
+ }
16
+ /**
17
+ * @summary Capacity planner toolbar: the category legend (left-aligned, spanning
18
+ * the toolbar) and a trailing capacity note ("{capacity}h / week"). The app mark
19
+ * and title were dropped — the component lives under a host that already has a
20
+ * header. Purely presentational.
21
+ */
22
+ export default class CxCapacityToolbar extends CortexElement {
23
+ static readonly styles: CSSResultGroup;
24
+ private readonly localize;
25
+ /** Weekly capacity, shown in the trailing note. */
26
+ capacity: number;
27
+ /** Legend entries (categories with resolved colors). */
28
+ legend: CapacityLegendItem[];
29
+ render(): TemplateResult;
30
+ }
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ 'cx-capacity-toolbar': CxCapacityToolbar;
34
+ }
35
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -0,0 +1,101 @@
1
+ import { default as CxTooltip } from '../../../../../atoms/src/components/tooltip/tooltip.ts';
2
+ import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
3
+ import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
4
+
5
+ /**
6
+ * A single resolved band to render. All values are pre-computed by the
7
+ * container; this component performs no allocation math.
8
+ */
9
+ export interface CapacityBand {
10
+ /** Category id (for hit-testing on pointer-down). */
11
+ categoryId: string;
12
+ /** Category name (for the accessible value text). */
13
+ categoryName: string;
14
+ /** Background color (already resolved to a concrete CSS color). */
15
+ color: string;
16
+ /** Hours for this band — used as the flex-grow weight and aria-valuenow. */
17
+ hours: number;
18
+ /** Full label text, e.g. "12h · Reviews". */
19
+ label: string;
20
+ /** Short label text (the rounded number only). */
21
+ shortLabel: string;
22
+ /** Tooltip text, e.g. "Reviews · 12h" (set when no inline label fits). */
23
+ tip: string;
24
+ /**
25
+ * When true the band ignores `maxHourPerCell` for its slider ceiling (used by
26
+ * the synthetic "Unavailable" band, which is uncapped). Optional; defaults
27
+ * to capped behaviour.
28
+ */
29
+ uncapped?: boolean;
30
+ }
31
+ /**
32
+ * @summary Presentational capacity bar: a flex row of category bands sized by
33
+ * hours. All mutation/allocation logic lives in the `cx-capacity-planner`
34
+ * container — this component only renders bands and forwards pointer/keyboard
35
+ * intent. When `resizable`, bands are exposed as ARIA sliders (keyboard +
36
+ * screen-reader accessible, mirroring `cx-range`). Every week always has bands
37
+ * (the container synthesizes a grey "Unavailable" band that fills the week up
38
+ * to capacity), so there is no empty/unplanned track to special-case.
39
+ *
40
+ * @event {{ barWidth: number, categoryId: string, pointerEvent: PointerEvent }} cx-capacity-week-bar-band-pointer-down - Fired when a resizable band is pressed.
41
+ * @event {{ categoryId: string, deltaHours: number }} cx-capacity-week-bar-band-step - Fired when a band is stepped via the keyboard.
42
+ */
43
+ export default class CxCapacityWeekBar extends CortexElement {
44
+ static readonly styles: CSSResultGroup;
45
+ static readonly dependencies: {
46
+ 'cx-tooltip': typeof CxTooltip;
47
+ };
48
+ /** Pre-resolved bands to render (in category order). */
49
+ bands: CapacityBand[];
50
+ /** Pixel width of the bar — used to decide which labels fit. */
51
+ barWidth: number;
52
+ /** Total weekly capacity (C). The bands always sum to it (incl. Unavailable). */
53
+ capacity: number;
54
+ /** Per-band slider floor (lowest hours a band may hold). */
55
+ floor: number;
56
+ /** Optional per-band slider ceiling (max hours a single band may hold). */
57
+ maxHourPerCell?: number;
58
+ /** Whether bands are resizable (drag-to-rebalance / keyboard steppable). */
59
+ resizable: boolean;
60
+ /**
61
+ * When true, a band with 0 hours renders at 0px width (no FLOOR-clamped grab
62
+ * sliver). For read-only displays (e.g. the team grid's mini-bars) there is no
63
+ * need for a draggable zone, so a 0-hours category should simply not show.
64
+ * Defaults false — the resizable planner/zoom bars keep the FLOOR-width grab
65
+ * sliver so a 0-hours category stays clickable to grow back.
66
+ */
67
+ collapseZeroBands: boolean;
68
+ /** Px width threshold above which the full "{h}h · {name}" label is shown. */
69
+ fullLabelThreshold: number;
70
+ /** Px width threshold above which the number-only label is shown. */
71
+ shortLabelThreshold: number;
72
+ private readonly barEl;
73
+ private summary;
74
+ private geometries;
75
+ willUpdate(changed: PropertyValues<this>): void;
76
+ /** Measure the live bar width; falls back to the cached prop if unmeasurable. */
77
+ private measuredBarWidth;
78
+ private handleBandPointerDown;
79
+ private handleBandKeyDown;
80
+ private bandValueMax;
81
+ private renderLabels;
82
+ /**
83
+ * Display geometry for a band — shared by `renderBand` and the tooltip gate in
84
+ * `render` so the tip shows/hides in exact sync with the inline label (and so
85
+ * the tip text tracks a band being resized under a captured pointer).
86
+ *
87
+ * In `collapseZeroBands` (read-only display) mode a 0-hours category renders at
88
+ * 0px (no grab sliver needed — nothing to drag). Otherwise the DISPLAY width is
89
+ * clamped to a FLOOR-equivalent minimum so a category at 0 (or below FLOOR)
90
+ * still renders as a grabbable band, while its label/saved value stay the true
91
+ * (quantized) hours.
92
+ */
93
+ private bandGeometry;
94
+ private renderBand;
95
+ render(): TemplateResult;
96
+ }
97
+ declare global {
98
+ interface HTMLElementTagNameMap {
99
+ 'cx-capacity-week-bar': CxCapacityWeekBar;
100
+ }
101
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -86,7 +86,7 @@ export default class CxChatbot extends CortexElement {
86
86
  referenceNumberLimit: number;
87
87
  get skipCloseConfirm(): boolean;
88
88
  constructor();
89
- runFirstUpdated(): void;
89
+ runConnectedCallback(): void;
90
90
  connect({ botName, connection, conversationId, conversationPurpose, }: {
91
91
  botName?: string;
92
92
  connection?: string | signalR.HubConnection;
@@ -45,6 +45,7 @@ import { default as CxAssetTransformationDialog } from '../../../asset-transform
45
45
  import { AssetFormatValue } from '../../../../../types/src/asset-format-picker';
46
46
  import { Asset, AssetTypeString, EditorMode, PropertyConfig } from '../../../../../types/src/content-builder';
47
47
  import { StyleProps } from 'grapesjs';
48
+ import { default as CxDamCustomToolbarButtonsEditor } from '../../../dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor';
48
49
  import { CxColorSwatchPicker } from '../color-swatch-picker';
49
50
  import { CxFolderPicker } from '../folder-picker';
50
51
  import { default as CxGalleryPicker } from '../gallery-picker/gallery-picker';
@@ -63,8 +64,10 @@ export type CxContentBuilderFormSaveEvent = CustomEvent<{
63
64
  isNewTemplate: boolean;
64
65
  }>;
65
66
  export declare enum TabType {
67
+ Appearance = "appearance",
66
68
  Content = "content",
67
69
  Effects = "effects",
70
+ SidePanels = "sidePanels",
68
71
  Styling = "styling"
69
72
  }
70
73
  /**
@@ -87,6 +90,7 @@ export default class CxConfigForm extends CortexElement {
87
90
  'cx-color-swatch-picker': typeof CxColorSwatchPicker;
88
91
  'cx-confirm-popover': typeof CxConfirmPopover;
89
92
  'cx-corner-position-input-group': typeof CxCornerPositionInputGroup;
93
+ 'cx-dam-custom-toolbar-buttons-editor': typeof CxDamCustomToolbarButtonsEditor;
90
94
  'cx-dialog': typeof CxDialog;
91
95
  'cx-divider': typeof CxDivider;
92
96
  'cx-download-format-picker': typeof CxDownloadFormatPicker;
@@ -213,6 +217,14 @@ export default class CxConfigForm extends CortexElement {
213
217
  onRequestDownloadFormat: ((assetIds: string[], formats?: Record<string, string[]>) => Promise<Record<string, string[]>>) | undefined;
214
218
  /** Callback invoked when an asset format needs to be selected via an external popup. */
215
219
  onRequestAssetFormat: ((assetId: string, value?: AssetFormatValue) => Promise<AssetFormatValue | null | undefined>) | undefined;
220
+ /**
221
+ * Function to configure a workflow.
222
+ * Called when the user clicks the "Configure Workflow" button on a trait with action: executeWorkflow.
223
+ * @param id - The id of the trait that triggered the workflow configuration.
224
+ * @returns A promise that resolves when the workflow is configured.
225
+ * @default undefined
226
+ */
227
+ onConfigureWorkflow: ((id?: string) => Promise<string>) | undefined;
216
228
  /**
217
229
  * The attributes of the component.
218
230
  * This is used to store the attributes of the block being configured.
@@ -110,6 +110,12 @@ export default class CxConfigManager extends CortexElement {
110
110
  onRequestDownloadFormat: ((assetIds: string[]) => Promise<Asset[]>) | undefined;
111
111
  /** Callback forwarded to `cx-config-form` → `cx-asset-format-picker` for asset format selection. */
112
112
  onRequestAssetFormat: ((assetId: string, value?: AssetFormatValue) => Promise<AssetFormatValue | null | undefined>) | undefined;
113
+ /**
114
+ * Function to configure a workflow.
115
+ * Called when the user clicks the "Configure Workflow" button on a trait with action: executeWorkflow.
116
+ * @default undefined
117
+ */
118
+ onConfigureWorkflow: ((id?: string) => Promise<string>) | undefined;
113
119
  /**
114
120
  * The attributes of the component.
115
121
  * This is used to store the attributes of the block being configured.
@@ -0,0 +1,66 @@
1
+ import { PropertyConfig } from '../../../../types/src/content-builder';
2
+ import { LocalizeController } from '../../../../utils/src/custom-element/i18n';
3
+ import { default as CxSbDamView } from '../blocks/dam-view/dam-view';
4
+
5
+ type Attribute = {
6
+ 'allow-asset-selection': CxSbDamView['allowAssetSelection'];
7
+ 'always-show-favorite-folder': CxSbDamView['alwaysShowFavoriteFolder'];
8
+ 'always-show-personal-folder': CxSbDamView['alwaysShowPersonalFolder'];
9
+ 'apply-border-radius-to-panels': CxSbDamView['applyBorderRadiusToPanels'];
10
+ 'asset-statuses': CxSbDamView['assetStatuses'];
11
+ 'asset-types': CxSbDamView['assetTypes'];
12
+ 'available-sort-orders': CxSbDamView['availableSortOrders'];
13
+ 'available-views': CxSbDamView['availableViews'];
14
+ 'custom-toolbar-buttons': CxSbDamView['customToolbarButtons'];
15
+ 'data-grid-rows-desktop': CxSbDamView['dataGridRowsDesktop'];
16
+ 'data-grid-rows-mobile': CxSbDamView['dataGridRowsMobile'];
17
+ 'default-folders': CxSbDamView['defaultFolders'];
18
+ 'default-sort-order': CxSbDamView['defaultSortOrder'];
19
+ 'default-view': CxSbDamView['defaultView'];
20
+ 'deploy-stacks': CxSbDamView['deployStacks'];
21
+ 'enable-asset-actions': CxSbDamView['enableAssetActions'];
22
+ 'enable-right-click-menu': CxSbDamView['enableRightClickMenu'];
23
+ 'expanded-folders': CxSbDamView['expandedFolders'];
24
+ 'filter-button-action': CxSbDamView['filterButtonAction'];
25
+ 'folder-hierarchy': CxSbDamView['folderHierarchy'];
26
+ 'highlight-representative-asset': CxSbDamView['highlightRepresentativeAsset'];
27
+ 'items-per-page': string;
28
+ 'left-additional-filters': CxSbDamView['leftAdditionalFilters'];
29
+ 'left-available-panels': CxSbDamView['leftAvailablePanels'];
30
+ 'left-default-panel': CxSbDamView['leftDefaultPanel'];
31
+ 'left-panel-collapsed-by-default': CxSbDamView['leftPanelCollapsedByDefault'];
32
+ 'left-panel-collapsible': CxSbDamView['leftPanelCollapsible'];
33
+ 'left-panel-default-width': CxSbDamView['leftPanelDefaultWidth'];
34
+ 'left-panel-remember-collapsed-state': CxSbDamView['leftPanelRememberCollapsedState'];
35
+ 'restrict-asset-by-active-tasks': CxSbDamView['restrictAssetByActiveTasks'];
36
+ 'restrict-asset-by-creator': CxSbDamView['restrictAssetByCreator'];
37
+ 'restrict-asset-by-follower': CxSbDamView['restrictAssetByFollower'];
38
+ 'restrict-asset-by-participant': CxSbDamView['restrictAssetByParticipant'];
39
+ 'retain-filters-in-containers': CxSbDamView['retainFiltersInContainers'];
40
+ 'right-additional-filters': CxSbDamView['rightAdditionalFilters'];
41
+ 'right-available-panels': CxSbDamView['rightAvailablePanels'];
42
+ 'right-default-panel': CxSbDamView['rightDefaultPanel'];
43
+ 'right-panel-collapsed-by-default': CxSbDamView['rightPanelCollapsedByDefault'];
44
+ 'right-panel-collapsible': CxSbDamView['rightPanelCollapsible'];
45
+ 'right-panel-default-width': CxSbDamView['rightPanelDefaultWidth'];
46
+ 'right-panel-remember-collapsed-state': CxSbDamView['rightPanelRememberCollapsedState'];
47
+ 'search-placeholder': CxSbDamView['searchPlaceholder'];
48
+ 'see-thru': CxSbDamView['seeThru'];
49
+ 'show-all-assets': CxSbDamView['showAllAssets'];
50
+ 'show-bottom-pagination': CxSbDamView['showBottomPagination'];
51
+ 'show-breadcrumbs': CxSbDamView['showBreadcrumbs'];
52
+ 'show-group-by': CxSbDamView['showGroupBy'];
53
+ 'show-left-panel': CxSbDamView['showLeftPanel'];
54
+ 'show-page-title': CxSbDamView['showPageTitle'];
55
+ 'show-right-panel': CxSbDamView['showRightPanel'];
56
+ 'show-search-box': CxSbDamView['showSearchBox'];
57
+ 'show-sort-dropdown': CxSbDamView['showSortDropdown'];
58
+ 'show-top-pagination': CxSbDamView['showTopPagination'];
59
+ 'show-view-switcher': CxSbDamView['showViewSwitcher'];
60
+ };
61
+ declare const _default: {
62
+ configs: (localize: LocalizeController) => Array<PropertyConfig<Attribute>>;
63
+ defaultValue: Attribute;
64
+ stylable: string[];
65
+ };
66
+ export default _default;
@@ -5,6 +5,7 @@ export { default as carousel } from './carousel';
5
5
  export { default as colorSwatches } from './color-swatches';
6
6
  export { default as column } from './column';
7
7
  export { default as columnGroup } from './column-group';
8
+ export { default as damView } from './dam-view';
8
9
  export { default as divider } from './divider';
9
10
  export { default as documentViewer } from './document-viewer';
10
11
  export { default as fontKit } from './font-kit';
@@ -100,6 +100,61 @@ export default class ConfigsController {
100
100
  }>[] | import('../../../types/src/content-builder').PropertyConfig<{
101
101
  'data-constraints': boolean;
102
102
  'width-type': import('../../../types/src/column').ColumnWidthType;
103
+ }>[] | import('../../../types/src/content-builder').PropertyConfig<{
104
+ 'allow-asset-selection': import('./blocks').CxSbDamView["allowAssetSelection"];
105
+ 'always-show-favorite-folder': import('./blocks').CxSbDamView["alwaysShowFavoriteFolder"];
106
+ 'always-show-personal-folder': import('./blocks').CxSbDamView["alwaysShowPersonalFolder"];
107
+ 'apply-border-radius-to-panels': import('./blocks').CxSbDamView["applyBorderRadiusToPanels"];
108
+ 'asset-statuses': import('./blocks').CxSbDamView["assetStatuses"];
109
+ 'asset-types': import('./blocks').CxSbDamView["assetTypes"];
110
+ 'available-sort-orders': import('./blocks').CxSbDamView["availableSortOrders"];
111
+ 'available-views': import('./blocks').CxSbDamView["availableViews"];
112
+ 'custom-toolbar-buttons': import('./blocks').CxSbDamView["customToolbarButtons"];
113
+ 'data-grid-rows-desktop': import('./blocks').CxSbDamView["dataGridRowsDesktop"];
114
+ 'data-grid-rows-mobile': import('./blocks').CxSbDamView["dataGridRowsMobile"];
115
+ 'default-folders': import('./blocks').CxSbDamView["defaultFolders"];
116
+ 'default-sort-order': import('./blocks').CxSbDamView["defaultSortOrder"];
117
+ 'default-view': import('./blocks').CxSbDamView["defaultView"];
118
+ 'deploy-stacks': import('./blocks').CxSbDamView["deployStacks"];
119
+ 'enable-asset-actions': import('./blocks').CxSbDamView["enableAssetActions"];
120
+ 'enable-right-click-menu': import('./blocks').CxSbDamView["enableRightClickMenu"];
121
+ 'expanded-folders': import('./blocks').CxSbDamView["expandedFolders"];
122
+ 'filter-button-action': import('./blocks').CxSbDamView["filterButtonAction"];
123
+ 'folder-hierarchy': import('./blocks').CxSbDamView["folderHierarchy"];
124
+ 'highlight-representative-asset': import('./blocks').CxSbDamView["highlightRepresentativeAsset"];
125
+ 'items-per-page': string;
126
+ 'left-additional-filters': import('./blocks').CxSbDamView["leftAdditionalFilters"];
127
+ 'left-available-panels': import('./blocks').CxSbDamView["leftAvailablePanels"];
128
+ 'left-default-panel': import('./blocks').CxSbDamView["leftDefaultPanel"];
129
+ 'left-panel-collapsed-by-default': import('./blocks').CxSbDamView["leftPanelCollapsedByDefault"];
130
+ 'left-panel-collapsible': import('./blocks').CxSbDamView["leftPanelCollapsible"];
131
+ 'left-panel-default-width': import('./blocks').CxSbDamView["leftPanelDefaultWidth"];
132
+ 'left-panel-remember-collapsed-state': import('./blocks').CxSbDamView["leftPanelRememberCollapsedState"];
133
+ 'restrict-asset-by-active-tasks': import('./blocks').CxSbDamView["restrictAssetByActiveTasks"];
134
+ 'restrict-asset-by-creator': import('./blocks').CxSbDamView["restrictAssetByCreator"];
135
+ 'restrict-asset-by-follower': import('./blocks').CxSbDamView["restrictAssetByFollower"];
136
+ 'restrict-asset-by-participant': import('./blocks').CxSbDamView["restrictAssetByParticipant"];
137
+ 'retain-filters-in-containers': import('./blocks').CxSbDamView["retainFiltersInContainers"];
138
+ 'right-additional-filters': import('./blocks').CxSbDamView["rightAdditionalFilters"];
139
+ 'right-available-panels': import('./blocks').CxSbDamView["rightAvailablePanels"];
140
+ 'right-default-panel': import('./blocks').CxSbDamView["rightDefaultPanel"];
141
+ 'right-panel-collapsed-by-default': import('./blocks').CxSbDamView["rightPanelCollapsedByDefault"];
142
+ 'right-panel-collapsible': import('./blocks').CxSbDamView["rightPanelCollapsible"];
143
+ 'right-panel-default-width': import('./blocks').CxSbDamView["rightPanelDefaultWidth"];
144
+ 'right-panel-remember-collapsed-state': import('./blocks').CxSbDamView["rightPanelRememberCollapsedState"];
145
+ 'search-placeholder': import('./blocks').CxSbDamView["searchPlaceholder"];
146
+ 'see-thru': import('./blocks').CxSbDamView["seeThru"];
147
+ 'show-all-assets': import('./blocks').CxSbDamView["showAllAssets"];
148
+ 'show-bottom-pagination': import('./blocks').CxSbDamView["showBottomPagination"];
149
+ 'show-breadcrumbs': import('./blocks').CxSbDamView["showBreadcrumbs"];
150
+ 'show-group-by': import('./blocks').CxSbDamView["showGroupBy"];
151
+ 'show-left-panel': import('./blocks').CxSbDamView["showLeftPanel"];
152
+ 'show-page-title': import('./blocks').CxSbDamView["showPageTitle"];
153
+ 'show-right-panel': import('./blocks').CxSbDamView["showRightPanel"];
154
+ 'show-search-box': import('./blocks').CxSbDamView["showSearchBox"];
155
+ 'show-sort-dropdown': import('./blocks').CxSbDamView["showSortDropdown"];
156
+ 'show-top-pagination': import('./blocks').CxSbDamView["showTopPagination"];
157
+ 'show-view-switcher': import('./blocks').CxSbDamView["showViewSwitcher"];
103
158
  }>[] | import('../../../types/src/content-builder').PropertyConfig<{
104
159
  'use-padding': boolean;
105
160
  }>[] | import('../../../types/src/content-builder').PropertyConfig<{
@@ -389,6 +444,61 @@ export default class ConfigsController {
389
444
  trigger: string;
390
445
  'width-type': import('../../../types/src/column').ColumnWidthType;
391
446
  }> | {
447
+ 'allow-asset-selection': import('./blocks').CxSbDamView["allowAssetSelection"];
448
+ 'always-show-favorite-folder': import('./blocks').CxSbDamView["alwaysShowFavoriteFolder"];
449
+ 'always-show-personal-folder': import('./blocks').CxSbDamView["alwaysShowPersonalFolder"];
450
+ 'apply-border-radius-to-panels': import('./blocks').CxSbDamView["applyBorderRadiusToPanels"];
451
+ 'asset-statuses': import('./blocks').CxSbDamView["assetStatuses"];
452
+ 'asset-types': import('./blocks').CxSbDamView["assetTypes"];
453
+ 'available-sort-orders': import('./blocks').CxSbDamView["availableSortOrders"];
454
+ 'available-views': import('./blocks').CxSbDamView["availableViews"];
455
+ 'custom-toolbar-buttons': import('./blocks').CxSbDamView["customToolbarButtons"];
456
+ 'data-grid-rows-desktop': import('./blocks').CxSbDamView["dataGridRowsDesktop"];
457
+ 'data-grid-rows-mobile': import('./blocks').CxSbDamView["dataGridRowsMobile"];
458
+ 'default-folders': import('./blocks').CxSbDamView["defaultFolders"];
459
+ 'default-sort-order': import('./blocks').CxSbDamView["defaultSortOrder"];
460
+ 'default-view': import('./blocks').CxSbDamView["defaultView"];
461
+ 'deploy-stacks': import('./blocks').CxSbDamView["deployStacks"];
462
+ 'enable-asset-actions': import('./blocks').CxSbDamView["enableAssetActions"];
463
+ 'enable-right-click-menu': import('./blocks').CxSbDamView["enableRightClickMenu"];
464
+ 'expanded-folders': import('./blocks').CxSbDamView["expandedFolders"];
465
+ 'filter-button-action': import('./blocks').CxSbDamView["filterButtonAction"];
466
+ 'folder-hierarchy': import('./blocks').CxSbDamView["folderHierarchy"];
467
+ 'highlight-representative-asset': import('./blocks').CxSbDamView["highlightRepresentativeAsset"];
468
+ 'items-per-page': string;
469
+ 'left-additional-filters': import('./blocks').CxSbDamView["leftAdditionalFilters"];
470
+ 'left-available-panels': import('./blocks').CxSbDamView["leftAvailablePanels"];
471
+ 'left-default-panel': import('./blocks').CxSbDamView["leftDefaultPanel"];
472
+ 'left-panel-collapsed-by-default': import('./blocks').CxSbDamView["leftPanelCollapsedByDefault"];
473
+ 'left-panel-collapsible': import('./blocks').CxSbDamView["leftPanelCollapsible"];
474
+ 'left-panel-default-width': import('./blocks').CxSbDamView["leftPanelDefaultWidth"];
475
+ 'left-panel-remember-collapsed-state': import('./blocks').CxSbDamView["leftPanelRememberCollapsedState"];
476
+ 'restrict-asset-by-active-tasks': import('./blocks').CxSbDamView["restrictAssetByActiveTasks"];
477
+ 'restrict-asset-by-creator': import('./blocks').CxSbDamView["restrictAssetByCreator"];
478
+ 'restrict-asset-by-follower': import('./blocks').CxSbDamView["restrictAssetByFollower"];
479
+ 'restrict-asset-by-participant': import('./blocks').CxSbDamView["restrictAssetByParticipant"];
480
+ 'retain-filters-in-containers': import('./blocks').CxSbDamView["retainFiltersInContainers"];
481
+ 'right-additional-filters': import('./blocks').CxSbDamView["rightAdditionalFilters"];
482
+ 'right-available-panels': import('./blocks').CxSbDamView["rightAvailablePanels"];
483
+ 'right-default-panel': import('./blocks').CxSbDamView["rightDefaultPanel"];
484
+ 'right-panel-collapsed-by-default': import('./blocks').CxSbDamView["rightPanelCollapsedByDefault"];
485
+ 'right-panel-collapsible': import('./blocks').CxSbDamView["rightPanelCollapsible"];
486
+ 'right-panel-default-width': import('./blocks').CxSbDamView["rightPanelDefaultWidth"];
487
+ 'right-panel-remember-collapsed-state': import('./blocks').CxSbDamView["rightPanelRememberCollapsedState"];
488
+ 'search-placeholder': import('./blocks').CxSbDamView["searchPlaceholder"];
489
+ 'see-thru': import('./blocks').CxSbDamView["seeThru"];
490
+ 'show-all-assets': import('./blocks').CxSbDamView["showAllAssets"];
491
+ 'show-bottom-pagination': import('./blocks').CxSbDamView["showBottomPagination"];
492
+ 'show-breadcrumbs': import('./blocks').CxSbDamView["showBreadcrumbs"];
493
+ 'show-group-by': import('./blocks').CxSbDamView["showGroupBy"];
494
+ 'show-left-panel': import('./blocks').CxSbDamView["showLeftPanel"];
495
+ 'show-page-title': import('./blocks').CxSbDamView["showPageTitle"];
496
+ 'show-right-panel': import('./blocks').CxSbDamView["showRightPanel"];
497
+ 'show-search-box': import('./blocks').CxSbDamView["showSearchBox"];
498
+ 'show-sort-dropdown': import('./blocks').CxSbDamView["showSortDropdown"];
499
+ 'show-top-pagination': import('./blocks').CxSbDamView["showTopPagination"];
500
+ 'show-view-switcher': import('./blocks').CxSbDamView["showViewSwitcher"];
501
+ } | {
392
502
  'use-padding': boolean;
393
503
  } | {
394
504
  'can-open-asset': import('./blocks/document-viewer/document-viewer').default["canOpenAsset"];
@@ -29,6 +29,9 @@ export declare const defaultBlockValue: {
29
29
  BlockColumns: {
30
30
  components: undefined;
31
31
  };
32
+ BlockDamView: {
33
+ components: undefined;
34
+ };
32
35
  BlockDivider: {
33
36
  components: undefined;
34
37
  };
@@ -262,6 +262,7 @@ export default class CxContentBuilder extends CortexElement {
262
262
  handleBuilderPropsChange(): void;
263
263
  onRequestAsset(type: AssetTypeString): Promise<Asset>;
264
264
  onRequestDownloadFormat(assetIds: string[], formats?: Record<string, string[]>): Promise<{}>;
265
+ onConfigureWorkflow(buttonId?: string): Promise<string>;
265
266
  onRequestAssetFormat(_assetId: string, _value?: AssetFormatValue): Promise<AssetFormatValue | null | undefined>;
266
267
  /**
267
268
  * This method retrieves all the components of the specified component.
@@ -0,0 +1,5 @@
1
+ import { Editor } from 'grapesjs';
2
+ import { EditorPluginOptions } from './plugin-factory';
3
+
4
+ declare const DamViewPlugin: (editor: Editor, editorOptions: EditorPluginOptions) => void;
5
+ export default DamViewPlugin;