@orangelogic/design-system 2.118.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.
- package/library/assets/diff.worker-ClilI1xm.js +1 -0
- package/library/chunks/{animation.8MjXJybe.js → animation.hpY88RxG.js} +106 -100
- package/library/chunks/{asset.CIWxY-Aw.js → asset.D_MQwP1C.js} +4 -4
- package/library/chunks/browser.BHOCIF_A.js +84 -0
- package/library/chunks/{button.DwJEeW2t.js → button.bufNNyTc.js} +1 -1
- package/library/chunks/{color-swatch-group.BvLicLI4.js → color-swatch-group.CeazdbIe.js} +6 -6
- package/library/chunks/{color-swatch.DVzEaNeL.js → color-swatch.LEvHo5G_.js} +2 -2
- package/library/chunks/{confirm-popover.BifwpSuf.js → confirm-popover.BLQFU6Hs.js} +3 -3
- package/library/chunks/{content-builder.OsUmm8Wu.js → content-builder.BGzxZUgi.js} +1 -1
- package/library/chunks/debounce.DaHuiSGU.js +15 -0
- package/library/chunks/{dialog.BYCWepBc.js → dialog.DdsJ_WqU.js} +2 -2
- package/library/chunks/{document-viewer.CKCX8ueu.js → document-viewer.B5VtBEEP.js} +7 -7
- package/library/chunks/{dot-pagination.C4l5vKor.js → dot-pagination.Bny2T6DA.js} +1 -1
- package/library/chunks/{endpoints.D4h8hp1m.js → endpoints.6E17hFiK.js} +385 -385
- package/library/chunks/{file-on-demand.AwMj4AfO.js → file-on-demand.DDuWnvmy.js} +10 -10
- package/library/chunks/{folder-select.CrWjwQcw.js → folder-select.D1jO1hB_.js} +295 -203
- package/library/chunks/{header.Cf9ujCpg.js → header.CfiA4TRu.js} +1 -1
- package/library/chunks/{i18n.CH-wak_P.js → i18n.DDj5y9px.js} +106 -11
- package/library/chunks/{icon-button.CQiBjznj.js → icon-button.DOrACmes.js} +1 -1
- package/library/chunks/{iframe.BQPVygBJ.js → iframe.qaVD1n1m.js} +1 -1
- package/library/chunks/{image.cT-FziNS.js → image.BugewF1g.js} +129 -146
- package/library/chunks/{input.CH4lKxPM.js → input.BYj6YXcM.js} +1 -1
- package/library/chunks/keyed.C0rkKrxH.js +22 -0
- package/library/chunks/{list-editor.BfpDIsU5.js → list-editor.D5szxqSM.js} +11 -11
- package/library/chunks/math.DuKzLacZ.js +26 -0
- package/library/chunks/{option.Bvh35v8S.js → option.CnxdM30G.js} +1 -1
- package/library/chunks/{pagination.zQ2FFtxB.js → pagination.Dxig0LoI.js} +6 -6
- package/library/chunks/{responsive.C8NCkfCG.js → responsive.Cf65FCWd.js} +1 -1
- package/library/chunks/{tab-group.DvMX02hY.js → tab-group.CGg9lPLP.js} +3 -3
- package/library/chunks/{table.GCs54Y2t.js → table.BkdcDorc.js} +1471 -1400
- package/library/chunks/{tree.Btf2Q4YZ.js → tree.yYbWIRnc.js} +3 -3
- package/library/components/alert.js +2 -2
- package/library/components/animation.js +1 -1
- package/library/components/asset-link-format.js +8 -8
- package/library/components/atoms.js +144 -142
- package/library/components/audio.js +2 -2
- package/library/components/border-input-group.js +2 -2
- package/library/components/breadcrumb.js +1 -1
- package/library/components/button.js +2 -2
- package/library/components/color-picker.js +5 -5
- package/library/components/color-swatch-group.js +7 -7
- package/library/components/color-swatch.js +3 -3
- package/library/components/confirm-popover.js +4 -4
- package/library/components/copy-button.js +1 -1
- package/library/components/corner-position-input-group.js +3 -3
- package/library/components/date-calendar.js +1 -1
- package/library/components/details.js +1 -1
- package/library/components/dialog.js +3 -3
- package/library/components/diff.d.ts +3 -0
- package/library/components/diff.js +104 -0
- package/library/components/document-viewer.js +3 -3
- package/library/components/dot-pagination.js +2 -2
- package/library/components/drawer.js +2 -2
- package/library/components/dropdown.js +2 -2
- package/library/components/dynamic-select.js +282 -211
- package/library/components/e-chart.js +1 -1
- package/library/components/element-clamp.js +2 -2
- package/library/components/file-on-demand.js +11 -11
- package/library/components/folder-select.js +5 -5
- package/library/components/format-bytes.js +1 -1
- package/library/components/format-date.js +1 -1
- package/library/components/format-number.js +1 -1
- package/library/components/format-time.js +1 -1
- package/library/components/header.js +2 -2
- package/library/components/icon-button.js +2 -2
- package/library/components/iframe.js +2 -2
- package/library/components/image-comparer.js +2 -2
- package/library/components/image.js +5 -4
- package/library/components/input.js +2 -2
- package/library/components/line-clamp.js +6 -5
- package/library/components/list-editor.js +8 -8
- package/library/components/masonry.js +2 -2
- package/library/components/menu-item.js +1 -1
- package/library/components/menu.js +1 -1
- package/library/components/molecules.js +4 -4
- package/library/components/option.js +2 -2
- package/library/components/organisms.js +2 -2
- package/library/components/padding-input-group.js +1 -1
- package/library/components/pagination.js +7 -7
- package/library/components/popup.js +76 -75
- package/library/components/position-picker.js +1 -1
- package/library/components/progress-bar.js +1 -1
- package/library/components/progress-ring.js +1 -1
- package/library/components/range.js +3 -3
- package/library/components/rating.js +2 -2
- package/library/components/relative-time.js +1 -1
- package/library/components/select.js +33 -32
- package/library/components/shadow-input-group.js +1 -1
- package/library/components/share-option-list.js +2 -2
- package/library/components/sidebar.js +1 -1
- package/library/components/size-input-group.js +3 -3
- package/library/components/spinner.js +1 -1
- package/library/components/split-panel.js +2 -2
- package/library/components/tab-group.js +4 -4
- package/library/components/tab.js +2 -2
- package/library/components/table.js +62 -60
- package/library/components/tag.js +2 -2
- package/library/components/tooltip.js +1 -1
- package/library/components/tree-item.js +2 -2
- package/library/components/tree.js +3 -3
- package/library/components/typeface.js +2 -2
- package/library/components/types.js +35400 -32968
- package/library/components/video.js +3 -3
- package/library/package.json +1 -1
- package/library/packages/atoms/src/animations/index.d.ts +2 -1
- package/library/packages/atoms/src/animations/rotating/rotate.d.ts +4 -0
- package/library/packages/atoms/src/components/diff/diff.d.ts +46 -0
- package/library/packages/atoms/src/components/diff/diff.styles.d.ts +2 -0
- package/library/packages/atoms/src/components/diff/utils/diff-worker-client.d.ts +10 -0
- package/library/packages/atoms/src/components/select/select.d.ts +9 -9
- package/library/packages/atoms/src/components/tab-group/tab-group.d.ts +1 -1
- package/library/packages/atoms/src/components/table/components/index.d.ts +1 -0
- package/library/packages/atoms/src/components/table/components/table-footer/table-footer.d.ts +25 -0
- package/library/packages/atoms/src/components/table/components/table-footer/table-footer.styles.d.ts +2 -0
- package/library/packages/atoms/src/components/table/components/table-toolbar/table-toolbar.d.ts +7 -1
- package/library/packages/atoms/src/components/table/table.d.ts +14 -3
- package/library/packages/atoms/src/index.d.ts +1 -0
- package/library/packages/events/src/cx-capacity-change.d.ts +20 -0
- package/library/packages/events/src/cx-capacity-week-bar.d.ts +26 -0
- package/library/packages/events/src/cx-folder-select-children-loaded.d.ts +10 -0
- package/library/packages/events/src/cx-list-editor-change.d.ts +1 -1
- package/library/packages/events/src/cx-sb-dam-view-config-change.d.ts +8 -0
- package/library/packages/events/src/events.d.ts +4 -0
- package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Format/defaults/formatters/diff.d.ts +5 -0
- package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Format/defaults/formatters.d.ts +2 -0
- package/library/packages/molecules/src/dynamic-select/dynamic-select.d.ts +19 -1
- package/library/packages/molecules/src/folder-select/components/folder-select-tree/folder-select-tree.d.ts +11 -0
- package/library/packages/organisms/src/capacity-planner/capacity-core.d.ts +81 -0
- package/library/packages/organisms/src/capacity-planner/capacity-planner.d.ts +194 -0
- package/library/packages/organisms/src/capacity-planner/capacity-planner.styles.d.ts +2 -0
- package/library/packages/organisms/src/capacity-planner/components/capacity-toolbar/capacity-toolbar.d.ts +35 -0
- package/library/packages/organisms/src/capacity-planner/components/capacity-toolbar/capacity-toolbar.styles.d.ts +2 -0
- package/library/packages/organisms/src/capacity-planner/components/capacity-week-bar/capacity-week-bar.d.ts +101 -0
- package/library/packages/organisms/src/capacity-planner/components/capacity-week-bar/capacity-week-bar.styles.d.ts +2 -0
- package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +12 -0
- package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +6 -0
- package/library/packages/organisms/src/content-builder/configs/dam-view.d.ts +66 -0
- package/library/packages/organisms/src/content-builder/configs/index.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs-controller.d.ts +110 -0
- package/library/packages/organisms/src/content-builder/content-builder-config.d.ts +3 -0
- package/library/packages/organisms/src/content-builder/content-builder.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/plugins/dam-view.d.ts +5 -0
- package/library/packages/organisms/src/content-builder/plugins/index.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/styleController.d.ts +7 -3
- package/library/packages/organisms/src/dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor.d.ts +176 -0
- package/library/packages/organisms/src/dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor.styles.d.ts +2 -0
- package/library/packages/organisms/src/index.d.ts +2 -0
- package/library/packages/services/src/api/cms5/cms5.d.ts +17 -1
- package/library/packages/services/src/api/endpoints.d.ts +13 -1
- package/library/packages/services/src/api/metadata/index.d.ts +1 -0
- package/library/packages/services/src/api/metadata/metadata.d.ts +3 -1
- package/library/packages/services/src/api/metadata/metadata.types.d.ts +53 -0
- package/library/packages/styles/src/table-select.styles.d.ts +2 -0
- package/library/packages/types/src/content-builder.d.ts +13 -5
- package/library/packages/types/src/dam-view.d.ts +48 -0
- package/library/packages/types/src/table.d.ts +17 -1
- package/library/packages/utils/src/custom-element/i18n.d.ts +95 -0
- package/library/packages/utils/src/custom-element/math.d.ts +8 -0
- package/library/packages/utils/src/date/index.d.ts +1 -0
- package/library/packages/utils/src/date/iso-week-number.d.ts +9 -0
- package/library/react-web-component.d.ts +545 -438
- package/library/utils.js +267 -253
- package/package.json +1 -1
- package/library/chunks/debounce.CIEhztrj.js +0 -97
- 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,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,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
|
+
}
|
package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts
CHANGED
|
@@ -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.
|
package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts
CHANGED
|
@@ -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"];
|
|
@@ -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.
|
|
@@ -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';
|