@orangelogic/design-system 2.138.0 → 2.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/library/chunks/{asset-link-format.Cj3Jb2A9.js → asset-link-format.CoMUMoyK.js} +546 -491
- package/library/chunks/{button.C8bgBiYj.js → button.J4LDuhyW.js} +1 -1
- package/library/chunks/{color-swatch-group.CtRKXJDT.js → color-swatch-group.DedQQk4J.js} +203 -166
- package/library/chunks/{color-swatch.BPKlNXIX.js → color-swatch.DimFgBSf.js} +1 -1
- package/library/chunks/{confirm-popover.CgXY2_uO.js → confirm-popover.DV5q0KyE.js} +3 -3
- package/library/chunks/{dialog.Bs7RQgSa.js → dialog.C79Kd2S4.js} +2 -2
- package/library/chunks/{document-viewer.Bs3U0_wd.js → document-viewer.NA5cS7qW.js} +3912 -3812
- package/library/chunks/{dot-pagination.t0VzNnjC.js → dot-pagination.CoG0XmAq.js} +1 -1
- package/library/chunks/{file-on-demand.BWrBwTOn.js → file-on-demand.C3ib6J00.js} +9 -9
- package/library/chunks/focus-when-visible.jWSw9ks0.js +21 -0
- package/library/chunks/{folder-select.CItC06TB.js → folder-select.BQXuKb-8.js} +4 -4
- package/library/chunks/{header.D_TqvPdB.js → header.zCbb-t6m.js} +1 -1
- package/library/chunks/{i18n.BlLEIqQ0.js → i18n.DeUAP8n2.js} +1 -0
- package/library/chunks/{icon-button.D5sM02Cd.js → icon-button.LhIEmHNF.js} +1 -1
- package/library/chunks/{iframe.D3PpeqXx.js → iframe.c0IPEUiJ.js} +1 -1
- package/library/chunks/{image.qP6cTWCN.js → image.u2nQNoZ8.js} +1 -1
- package/library/chunks/{input.B8CV80Da.js → input.DID1aXiO.js} +1 -1
- package/library/chunks/{option.D9SqVdjL.js → option.n6PDuSs1.js} +1 -1
- package/library/chunks/{pagination.DAI32_PA.js → pagination.BNU2UmTy.js} +5 -5
- package/library/chunks/{tab-group.e83Yy-jY.js → tab-group.5O3lqvyG.js} +3 -3
- package/library/chunks/{tree.D7eyb405.js → tree.CbwFiRJI.js} +1 -1
- package/library/components/alert.js +2 -2
- package/library/components/asset-link-format.js +3 -3
- package/library/components/atoms.js +13 -13
- package/library/components/audio.js +23 -20
- 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 +4 -4
- package/library/components/color-swatch-group.js +3 -3
- package/library/components/color-swatch.js +2 -2
- package/library/components/confirm-popover.js +4 -4
- package/library/components/copy-button.js +1 -1
- package/library/components/corner-position-input-group.js +3 -3
- package/library/components/date-calendar.js +1 -1
- package/library/components/details.js +1 -1
- package/library/components/dialog.js +3 -3
- package/library/components/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 +33 -32
- package/library/components/dynamic-select.js +4 -4
- package/library/components/e-chart.js +1 -1
- package/library/components/element-clamp.js +2 -2
- package/library/components/file-on-demand.js +10 -10
- package/library/components/folder-select.js +4 -4
- 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 +1 -1
- package/library/components/image.js +2 -2
- package/library/components/input.js +2 -2
- package/library/components/line-clamp.js +1 -1
- package/library/components/masonry.js +2 -2
- package/library/components/menu-item.js +202 -150
- package/library/components/menu.js +1 -1
- package/library/components/molecules.js +3 -3
- package/library/components/option.js +2 -2
- package/library/components/organisms.js +3 -3
- package/library/components/padding-input-group.js +1 -1
- package/library/components/pagination.js +6 -6
- package/library/components/popup.js +1 -1
- package/library/components/position-picker.js +1 -1
- package/library/components/progress-bar.js +1 -1
- package/library/components/progress-ring.js +1 -1
- package/library/components/range.js +1 -1
- package/library/components/rating.js +1 -1
- package/library/components/relative-time.js +1 -1
- package/library/components/select.js +2 -2
- package/library/components/shadow-input-group.js +1 -1
- package/library/components/share-option-list.js +1 -1
- package/library/components/sidebar.js +1 -1
- package/library/components/size-input-group.js +3 -3
- package/library/components/spinner.js +1 -1
- package/library/components/split-panel.js +1 -1
- package/library/components/tab-group.js +4 -4
- package/library/components/tab.js +2 -2
- package/library/components/tag.js +2 -2
- package/library/components/tooltip.js +1 -1
- package/library/components/tree-item.js +2 -2
- package/library/components/tree.js +2 -2
- package/library/components/typeface.js +2 -2
- package/library/components/types.js +16830 -16924
- package/library/components/video.js +2 -2
- package/library/package.json +1 -1
- package/library/packages/atoms/src/components/audio/audio.d.ts +5 -0
- package/library/packages/atoms/src/components/dropdown/dropdown.d.ts +6 -1
- package/library/packages/atoms/src/components/menu-item/menu-item.d.ts +2 -0
- package/library/packages/atoms/src/components/menu-item/submenu-controller.d.ts +28 -0
- package/library/packages/hybrid/book-reader/src/react/constant.d.ts +1 -0
- package/library/packages/hybrid/book-reader/src/react/hooks/useDrawer.d.ts +1 -1
- package/library/packages/hybrid/table-core/src/table/components/table-toolbar/table-toolbar.d.ts +1 -0
- package/library/packages/hybrid/table-core/src/table/table.d.ts +16 -0
- package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Validate/Validate.d.ts +10 -0
- package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +9 -0
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-crop/asset-link-format-crop.d.ts +0 -4
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-quality/asset-link-format-quality.d.ts +0 -4
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-resize/asset-link-format-resize.d.ts +0 -4
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-rotation/asset-link-format-rotation.d.ts +5 -2
- package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +8 -0
- package/library/packages/types/src/table.d.ts +8 -0
- package/library/packages/utils/src/custom-element/focus-when-visible.d.ts +14 -0
- package/library/packages/utils/src/custom-element/i18n.d.ts +1 -0
- package/library/packages/utils/src/index.d.ts +1 -0
- package/library/react-web-component.d.ts +7 -3
- package/library/utils.js +133 -131
- package/package.json +1 -1
- package/library/packages/organisms/src/_v1/comment-v1/extensions/time.d.ts +0 -63
- /package/library/packages/organisms/src/{annotator-comment → comment}/extensions/time.d.ts +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { _ as kd, a as Sa, b as Be, c as Je } from "../chunks/inheritsLoose.BuSn_CvZ.js";
|
|
2
2
|
import { c as ps, a as Bn } from "../chunks/_commonjsHelpers.DQNKXVTB.js";
|
|
3
3
|
import { r as Sb } from "../chunks/___vite-browser-external_commonjs-proxy.C2tf3HsQ.js";
|
|
4
|
-
import { C as Cb } from "../chunks/image.
|
|
4
|
+
import { C as Cb } from "../chunks/image.u2nQNoZ8.js";
|
|
5
5
|
import Mb from "./resize-observer.js";
|
|
6
6
|
import { r as Db, R as Pb, a as Rp, b as Lb } from "../chunks/resizable-component.styles.CAfXABBc.js";
|
|
7
7
|
import { c as Rb } from "../chunks/component.styles.CRO4Odto.js";
|
|
8
8
|
import { b as Ib } from "../chunks/browser.BHOCIF_A.js";
|
|
9
9
|
import { c as Ob } from "../chunks/custom-element.L4WJXn1j.js";
|
|
10
|
-
import { L as kb } from "../chunks/i18n.
|
|
10
|
+
import { L as kb } from "../chunks/i18n.DeUAP8n2.js";
|
|
11
11
|
import { w as Ki } from "../chunks/watch.CThbualB.js";
|
|
12
12
|
import { i as Bb, x as Qc } from "../chunks/lit-element.jLBm65_O.js";
|
|
13
13
|
import { n as Ri } from "../chunks/lib-cortex-element.CVMmyPMC.js";
|
package/library/package.json
CHANGED
|
@@ -110,6 +110,11 @@ export default class CxAudio extends ResizableElement {
|
|
|
110
110
|
private audioSrc;
|
|
111
111
|
/** Whether autoplay is deferred until the in-point seek completes after durationchange. */
|
|
112
112
|
private pendingAutoplay;
|
|
113
|
+
/**
|
|
114
|
+
* Resolved filename override (e.g. an asset title fetched by subclasses). Falls back
|
|
115
|
+
* to `name` in the footer display when empty, without touching the `name` property.
|
|
116
|
+
*/
|
|
117
|
+
protected resolvedName: string;
|
|
113
118
|
private get clampedInPoint();
|
|
114
119
|
runConnectedCallback(): void;
|
|
115
120
|
disconnectedCallback(): void;
|
|
@@ -41,6 +41,11 @@ export default class CxDropdown extends CortexElement {
|
|
|
41
41
|
private readonly localize;
|
|
42
42
|
private readonly hasSlotController;
|
|
43
43
|
private closeWatcher;
|
|
44
|
+
/**
|
|
45
|
+
* Canceller for the most recent pending focusWhenVisible() attempt, so closing the dropdown or
|
|
46
|
+
* disconnecting cancels it — otherwise it can resolve later and steal focus back into a closed dropdown.
|
|
47
|
+
*/
|
|
48
|
+
private pendingFocusCancel;
|
|
44
49
|
/**
|
|
45
50
|
* Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you
|
|
46
51
|
* can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.
|
|
@@ -101,7 +106,7 @@ export default class CxDropdown extends CortexElement {
|
|
|
101
106
|
private handleDocumentMouseDown;
|
|
102
107
|
private handlePanelSelect;
|
|
103
108
|
handleTriggerClick(): Promise<void>;
|
|
104
|
-
handleTriggerKeyDown(event: KeyboardEvent):
|
|
109
|
+
handleTriggerKeyDown(event: KeyboardEvent): void;
|
|
105
110
|
handleTriggerKeyUp(event: KeyboardEvent): void;
|
|
106
111
|
handleTriggerSlotChange(): void;
|
|
107
112
|
updateAccessibleTrigger(): void;
|
|
@@ -111,6 +111,8 @@ export default class CxMenuItem extends CortexElement {
|
|
|
111
111
|
/** Returns a text label based on the contents of the menu item's default slot. */
|
|
112
112
|
getTextLabel(): string;
|
|
113
113
|
isSubmenu(): boolean;
|
|
114
|
+
/** Closes this menu item's own submenu, if it has one open. Used to cascade-close nested submenus. */
|
|
115
|
+
closeSubmenu(): void;
|
|
114
116
|
renderBase(inner: TemplateResult): TemplateResult<1>;
|
|
115
117
|
render(): TemplateResult<1>;
|
|
116
118
|
}
|
|
@@ -15,7 +15,19 @@ export declare class SubmenuController implements ReactiveController {
|
|
|
15
15
|
private skidding;
|
|
16
16
|
private readonly hasSlotController;
|
|
17
17
|
private readonly submenuOpenDelay;
|
|
18
|
+
/**
|
|
19
|
+
* Upper bound on how long to wait for a freshly opened/loaded menu-item to become genuinely focusable
|
|
20
|
+
* before giving up and focusing it anyway. Passed to focusWhenVisible, since content can take several
|
|
21
|
+
* seconds to load on a slow-loading menu.
|
|
22
|
+
*/
|
|
23
|
+
private readonly focusVisibilityTimeoutMs;
|
|
18
24
|
private parentObserver;
|
|
25
|
+
private lazyLoadObserver;
|
|
26
|
+
/**
|
|
27
|
+
* Canceller for the most recent pending focusWhenVisible() attempt, so closing the dropdown or
|
|
28
|
+
* disconnecting cancels it — otherwise it can resolve later and steal focus back into a closed dropdown.
|
|
29
|
+
*/
|
|
30
|
+
private pendingFocusCancel;
|
|
19
31
|
constructor(host: ReactiveControllerHost & CxMenuItem, hasSlotController: HasSlotController);
|
|
20
32
|
get popup(): CxPopup | undefined;
|
|
21
33
|
hostConnected(): void;
|
|
@@ -27,6 +39,15 @@ export declare class SubmenuController implements ReactiveController {
|
|
|
27
39
|
private handleMouseMove;
|
|
28
40
|
private handleMouseOver;
|
|
29
41
|
private handleSubmenuEntry;
|
|
42
|
+
private setRovingTabIndex;
|
|
43
|
+
private queryMenuItems;
|
|
44
|
+
private cancelPendingFocus;
|
|
45
|
+
/**
|
|
46
|
+
* Enables the submenu and, once its content finishes loading and the first menu-item appears, focuses it.
|
|
47
|
+
* focusWhenVisible already tolerates the popup not being visually ready yet, so this only needs to wait for
|
|
48
|
+
* the item itself to exist.
|
|
49
|
+
*/
|
|
50
|
+
private focusFirstMenuItemAfterLazyLoad;
|
|
30
51
|
private handleKeyDown;
|
|
31
52
|
private handleClick;
|
|
32
53
|
private handleSubmenuIconClick;
|
|
@@ -37,6 +58,13 @@ export declare class SubmenuController implements ReactiveController {
|
|
|
37
58
|
private setSubmenuState;
|
|
38
59
|
private enableSubmenu;
|
|
39
60
|
disableSubmenu(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Closing this submenu hides nested submenus visually (via the parent popup's own hidden state) without
|
|
63
|
+
* resetting their own `active` flag, since they never receive a property change to react to. Left stale,
|
|
64
|
+
* reopening a nested submenu later hits the "already active" fast path and skips the re-sync a fresh open
|
|
65
|
+
* would normally do. Cascade the close so every nested submenu starts clean the next time it's opened.
|
|
66
|
+
*/
|
|
67
|
+
private disableNestedSubmenus;
|
|
40
68
|
private updateSkidding;
|
|
41
69
|
isExpanded(): boolean;
|
|
42
70
|
renderSubmenu(): import('lit').TemplateResult<1> | null;
|
package/library/packages/hybrid/table-core/src/table/components/table-toolbar/table-toolbar.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { default as CxTableSavedSearchDropdown } from './table-saved-search-drop
|
|
|
24
24
|
*
|
|
25
25
|
* @slot label - Optional label content that replaces the label property fallback.
|
|
26
26
|
* @slot pagination - Optional pagination content displayed opposite the label.
|
|
27
|
+
* @slot add-action - Replaces the default add button. When empty the default add button (controlled by `can-add`) is rendered unchanged.
|
|
27
28
|
* @slot dialog-dynamic-filter - Filter UI shown beside the toolbar actions and hidden while rows are selected. `cx-table` renders a `cx-faceted-filter` here when facets are available.
|
|
28
29
|
*
|
|
29
30
|
* @event {{ value: string }} cx-search - Emitted when the search value is submitted or cleared.
|
|
@@ -64,6 +64,7 @@ import { CxTableFooter, CxTableRowActions, CxTableToolbar } from './components';
|
|
|
64
64
|
* @cssproperty [--table-selected-cell-border-width=1px] - The border width of the active selected cell.
|
|
65
65
|
* @cssproperty [--table-selected-cell-border-style=solid] - The border style of the active selected cell.
|
|
66
66
|
* @cssproperty [--header-pagination-min-height=var(--cx-input-height-medium)] - Reserved height for the toolbar's label/pagination row (`cx-table-toolbar`) when `pagination` is enabled, regardless of `pagination-placement`. Set to `0` to remove the reservation.
|
|
67
|
+
* @slot add-action - Passed through to `cx-table-toolbar`'s `add-action` slot. Replaces the default add button when provided; when empty the toolbar's default add button (controlled by `can-add`) is rendered unchanged.
|
|
67
68
|
*
|
|
68
69
|
* @event {{ args: any[] }} cx-table.[event_name] - Emitted when the event with such name is emitted on the table.
|
|
69
70
|
* Must register the event listener on the table element to receive the event.
|
|
@@ -76,6 +77,7 @@ export default class CxTable extends CortexElement {
|
|
|
76
77
|
#private;
|
|
77
78
|
static readonly styles: CSSResultGroup;
|
|
78
79
|
private readonly localize;
|
|
80
|
+
private readonly hasSlotController;
|
|
79
81
|
static readonly dependencies: {
|
|
80
82
|
'cx-button': typeof CxButton;
|
|
81
83
|
'cx-checkbox': typeof CxCheckbox;
|
|
@@ -772,6 +774,12 @@ export default class CxTable extends CortexElement {
|
|
|
772
774
|
dateFilterCompareFormat: DateFilterCompareFormat;
|
|
773
775
|
/** Format of the data at dataUrl. Use 'auto' to detect from URL extension or Content-Type header. */
|
|
774
776
|
dataFormat: TableDataFormat;
|
|
777
|
+
/**
|
|
778
|
+
* When true, a `dataUrl` load keeps existing `columns` as-is instead of auto-populating them
|
|
779
|
+
* from the loaded file's headers. Has no effect when `columns` is empty — auto-detection still
|
|
780
|
+
* applies so the table has something to render.
|
|
781
|
+
*/
|
|
782
|
+
preserveColumnsOnLoad: boolean;
|
|
775
783
|
tabulatorInstance: Tabulator | null;
|
|
776
784
|
/**
|
|
777
785
|
* In case the table is re-initialized, we need to re-register the event listeners.
|
|
@@ -787,6 +795,8 @@ export default class CxTable extends CortexElement {
|
|
|
787
795
|
get searchValue(): string;
|
|
788
796
|
get isBottomPlacement(): boolean;
|
|
789
797
|
get showPaginationFooter(): boolean;
|
|
798
|
+
/** True when either the default add button or a custom `add-action` slot should render. */
|
|
799
|
+
get hasAddAction(): boolean;
|
|
790
800
|
get showTableToolbar(): string | boolean;
|
|
791
801
|
/** True when all active enabled rows are selected (local) or select-all mode with no exclusions (remote). */
|
|
792
802
|
get selectAllActive(): boolean;
|
|
@@ -862,6 +872,12 @@ export default class CxTable extends CortexElement {
|
|
|
862
872
|
private handleDropdownFilterChange;
|
|
863
873
|
private handleTableGroupByChange;
|
|
864
874
|
private handleSelectAllChange;
|
|
875
|
+
/**
|
|
876
|
+
* Controlled by `preserveColumnsOnLoad`: when enabled and the consumer already defined
|
|
877
|
+
* `columns` (e.g. a custom column with its own `mutator`), a `dataUrl` load keeps them as-is.
|
|
878
|
+
* Otherwise columns are auto-detected from the loaded data's headers, same as before.
|
|
879
|
+
*/
|
|
880
|
+
private resolveColumnsAfterLoad;
|
|
865
881
|
private streamCsvData;
|
|
866
882
|
private streamJsonData;
|
|
867
883
|
private streamXmlData;
|
package/library/packages/hybrid/table-core/src/tabulator-tables/modules/Validate/Validate.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export default class Validate extends Module {
|
|
|
29
29
|
* row/column (detached mocks) key by the cell itself.
|
|
30
30
|
*/
|
|
31
31
|
private readonly invalidState;
|
|
32
|
+
/** Columns declaring `mutateOnValidate` — re-mutated whenever the row's validation state changes. */
|
|
33
|
+
private readonly mutateOnValidateColumns;
|
|
32
34
|
get invalidCells(): Cell[];
|
|
33
35
|
set invalidCells(cells: Cell[]);
|
|
34
36
|
/**
|
|
@@ -60,6 +62,8 @@ export default class Validate extends Module {
|
|
|
60
62
|
dataProcessed(): void;
|
|
61
63
|
cellIsValid(cell: Cell): boolean;
|
|
62
64
|
cellValidate(cell: Cell): CellValidationFailure[] | boolean;
|
|
65
|
+
/** Current validation failures for this cell — empty when the cell is valid or unvalidated. */
|
|
66
|
+
getCellValidationErrors(cell: Cell): CellValidationFailure[];
|
|
63
67
|
columnValidate(column: Column): ICellComponent[] | boolean;
|
|
64
68
|
rowValidate(row: Row): ICellComponent[] | boolean;
|
|
65
69
|
userClearCellValidation(cells?: ICellComponent | ICellComponent[]): void;
|
|
@@ -80,6 +84,12 @@ export default class Validate extends Module {
|
|
|
80
84
|
validate(validators: ValidatorConfig[] | false | undefined, cell: Cell, value: unknown): CellValidationFailure[] | boolean;
|
|
81
85
|
getInvalidCells(): ICellComponent[];
|
|
82
86
|
clearValidation(cell: Cell): void;
|
|
87
|
+
/**
|
|
88
|
+
* Forces every `mutateOnValidate` column to re-run its mutator (and re-render) for this row —
|
|
89
|
+
* called after this row's validation state changes, so a column aggregating row-level errors
|
|
90
|
+
* (e.g. via `getValidationErrors()` on sibling cells) stays in sync. No-op when no column opts in.
|
|
91
|
+
*/
|
|
92
|
+
private refreshMutateOnValidateColumns;
|
|
83
93
|
private rowKeyOf;
|
|
84
94
|
private columnKeyOf;
|
|
85
95
|
private getInvalidRecord;
|
|
@@ -248,6 +248,15 @@ export default class CxAssetLinkFormat extends CortexElement {
|
|
|
248
248
|
width: number;
|
|
249
249
|
};
|
|
250
250
|
};
|
|
251
|
+
/**
|
|
252
|
+
* Returns the last applied rotation value. Without an asset, rotation applies replace
|
|
253
|
+
* (dedupe) a single Rotate entry, so this reflects the exact committed value — used to
|
|
254
|
+
* know when the rotation panel has no pending change to apply, and to restore this value
|
|
255
|
+
* when the panel is closed without applying. With an asset, rotation applies are
|
|
256
|
+
* cumulative deltas reprocessed by the backend, so there is no single "last applied"
|
|
257
|
+
* value and this always returns 0.
|
|
258
|
+
*/
|
|
259
|
+
get lastRotation(): number;
|
|
251
260
|
/**
|
|
252
261
|
* Returns the transformation string for the asset link.
|
|
253
262
|
*/
|
|
@@ -106,10 +106,6 @@ export default class CxAssetLinkFormatCrop extends CortexElement {
|
|
|
106
106
|
* Whether the apply button is disabled.
|
|
107
107
|
*/
|
|
108
108
|
disabledApply: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* When true, shows the apply button. When false (default), changes take effect immediately (standalone mode).
|
|
111
|
-
*/
|
|
112
|
-
canApply: boolean;
|
|
113
109
|
/**
|
|
114
110
|
* The last applied crop settings for each unit.
|
|
115
111
|
* This is used to restore the last applied settings when the component is closed.
|
|
@@ -48,10 +48,6 @@ export default class CxAssetLinkFormatQuality extends CortexElement {
|
|
|
48
48
|
* @default false
|
|
49
49
|
*/
|
|
50
50
|
loading: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* When true, shows the apply button. When false (default), changes take effect immediately (standalone mode).
|
|
53
|
-
*/
|
|
54
|
-
canApply: boolean;
|
|
55
51
|
scopedValue: number;
|
|
56
52
|
/**
|
|
57
53
|
* A computed property that checks if the current quality value is invalid.
|
|
@@ -104,10 +104,6 @@ export default class CxAssetLinkFormatResize extends CortexElement {
|
|
|
104
104
|
* @default false
|
|
105
105
|
*/
|
|
106
106
|
loading: boolean;
|
|
107
|
-
/**
|
|
108
|
-
* When true, shows the apply button. When false (default), changes take effect immediately (standalone mode).
|
|
109
|
-
*/
|
|
110
|
-
canApply: boolean;
|
|
111
107
|
/**
|
|
112
108
|
* Whether to keep the aspect ratio when changing width or height.
|
|
113
109
|
* This is used to automatically adjust the other dimension when one is changed.
|
|
@@ -57,9 +57,12 @@ export default class CxAssetLinkFormatRotation extends CortexElement {
|
|
|
57
57
|
*/
|
|
58
58
|
loading: boolean;
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
60
|
+
* The last applied rotation value. Used to know when there is no pending change to apply
|
|
61
|
+
* (instead of assuming 0 always means "unchanged"), and to restore this value when the
|
|
62
|
+
* details section is closed without applying.
|
|
63
|
+
* @default 0
|
|
61
64
|
*/
|
|
62
|
-
|
|
65
|
+
lastAppliedValue: number;
|
|
63
66
|
handleOpenChange(): void;
|
|
64
67
|
private handleRotationChange;
|
|
65
68
|
private handleButtonClick;
|
package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts
CHANGED
|
@@ -306,6 +306,14 @@ export default class CxConfigForm extends CortexElement {
|
|
|
306
306
|
*/
|
|
307
307
|
isAfterShow: boolean;
|
|
308
308
|
sortedLanguages: string[];
|
|
309
|
+
/**
|
|
310
|
+
* Incremented every time the dialog is shown.
|
|
311
|
+
* Used as a Lit `keyed()` key so the `<form>` element is destroyed and
|
|
312
|
+
* re-rendered from scratch on each open, instead of reusing the previous
|
|
313
|
+
* form's DOM and internal control state.
|
|
314
|
+
* @default 0
|
|
315
|
+
*/
|
|
316
|
+
formKey: number;
|
|
309
317
|
/**
|
|
310
318
|
* Whether the template is editable.
|
|
311
319
|
* This is used to determine if the user can save the settings as a template.
|
|
@@ -152,6 +152,7 @@ export interface ICellComponent {
|
|
|
152
152
|
getType(): string;
|
|
153
153
|
getField(): string;
|
|
154
154
|
getColumn(): IColumnComponent;
|
|
155
|
+
getValidationErrors(): CellValidationFailure[];
|
|
155
156
|
setValue(value: any, mutate?: boolean): void;
|
|
156
157
|
restoreOldValue(): void;
|
|
157
158
|
restoreInitialValue(): void;
|
|
@@ -2102,6 +2103,13 @@ export interface ColumnDefinition extends ColumnLayout, CellCallbacks, Formatter
|
|
|
2102
2103
|
/** only called when data is changed via a user editing a cell. */
|
|
2103
2104
|
mutatorClipboard?: CustomMutator;
|
|
2104
2105
|
mutatorClipboardParams?: CustomMutatorParams;
|
|
2106
|
+
/**
|
|
2107
|
+
* When true, this column's mutator is re-run (and the cell re-rendered) whenever any cell's
|
|
2108
|
+
* validation state changes elsewhere in the same row — cell edit, `validateAsync()`/`validate()`,
|
|
2109
|
+
* or `clearCellValidation()`. Use this for a column that aggregates row-level validation errors,
|
|
2110
|
+
* e.g. reading sibling cells' `getValidationErrors()` inside the `mutator`.
|
|
2111
|
+
*/
|
|
2112
|
+
mutateOnValidate?: boolean;
|
|
2105
2113
|
/**
|
|
2106
2114
|
* Accessors are used to alter data as it is extracted from the table, through commands, the clipboard, or download.
|
|
2107
2115
|
*
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Focuses an element once it's actually focusable, not just laid out. An element can have real layout
|
|
3
|
+
* dimensions well before it's genuinely visible — e.g. a popup item already rendered from a previous open
|
|
4
|
+
* whose containing popup hasn't flipped its visibility CSS back yet on this reopen (a re-shown popup changes
|
|
5
|
+
* visibility/transform, not size, so a size-based signal like ResizeObserver never fires for that case), or
|
|
6
|
+
* an item whose content is still loading. Polls checkVisibility() across animation frames instead of
|
|
7
|
+
* assuming any single event (e.g. an "opened" event) means the element is truly focusable, with a wall-clock
|
|
8
|
+
* timeout as a last-resort fallback.
|
|
9
|
+
*
|
|
10
|
+
* Returns a `cancel()` function. The caller is responsible for calling it once its own close/teardown
|
|
11
|
+
* happens — this util has no way to know when the containing menu/dropdown closes, only whether `element`
|
|
12
|
+
* is still connected, so a closed-but-still-connected item would otherwise get focused later regardless.
|
|
13
|
+
*/
|
|
14
|
+
export declare function focusWhenVisible(element: HTMLElement, timeoutMs?: number): () => void;
|
|
@@ -1027,6 +1027,7 @@ export interface Translation extends DefaultTranslation {
|
|
|
1027
1027
|
url: string;
|
|
1028
1028
|
urlValidationMessage: string;
|
|
1029
1029
|
useKeyboardArrowsToNavigateThroughTheCarousel: string;
|
|
1030
|
+
useKeyboardArrowsToNavigateThroughTheDocument: string;
|
|
1030
1031
|
useKeyboardArrowsToNavigateThroughTheGallery: string;
|
|
1031
1032
|
used: string;
|
|
1032
1033
|
userAvatar: string;
|
|
@@ -13,6 +13,7 @@ export * from './custom-element/debounce';
|
|
|
13
13
|
export * from './custom-element/default-value';
|
|
14
14
|
export * from './custom-element/drag';
|
|
15
15
|
export * from './custom-element/event';
|
|
16
|
+
export * from './custom-element/focus-when-visible';
|
|
16
17
|
export * from './custom-element/form';
|
|
17
18
|
export * from './custom-element/i18n';
|
|
18
19
|
export * from './custom-element/math';
|