@orangelogic/design-system 2.56.0 → 2.57.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 (131) hide show
  1. package/library/chunks/{button.CiWlWCNb.js → button.2-Io1Wm4.js} +80 -66
  2. package/library/chunks/{color-swatch-group.Bsa_Z57a.js → color-swatch-group.VXPK-2tU.js} +167 -157
  3. package/library/chunks/{color-swatch.CsKJgvVf.js → color-swatch.8OhqVqb6.js} +2 -2
  4. package/library/chunks/{confirm-popover.Bfuw361W.js → confirm-popover.DGvyB12c.js} +3 -3
  5. package/library/chunks/{content-builder.UlVFSATk.js → content-builder.WranV3P4.js} +6 -5
  6. package/library/chunks/{dialog.C28qzMSQ.js → dialog.CIeu0rVD.js} +2 -2
  7. package/library/chunks/{dot-pagination.D3RYAiHL.js → dot-pagination.CyCA3kSP.js} +1 -1
  8. package/library/chunks/{file-on-demand.Cr7E_KqH.js → file-on-demand.aux9gsvH.js} +10 -10
  9. package/library/chunks/{folder-select.ELghy6Qk.js → folder-select.B7u40ijN.js} +5 -5
  10. package/library/chunks/{format-time.HdcgoabZ.js → format-time.C56HetWv.js} +1 -1
  11. package/library/chunks/{header.oyZxakKM.js → header.RvymymCe.js} +1 -1
  12. package/library/chunks/{i18n.C3Z8Xe8q.js → i18n.dCiJrmqj.js} +74 -83
  13. package/library/chunks/{iframe.C6CLUrTT.js → iframe.Cwqniwf2.js} +1 -1
  14. package/library/chunks/{image.BJfasRY_.js → image.gpleN29o.js} +3 -3
  15. package/library/chunks/list-editor.BToq5cqp.js +1641 -0
  16. package/library/chunks/{option.BOHZB9Sv.js → option.CJ1p2V0m.js} +1 -1
  17. package/library/chunks/{popup.Ba501Rgg.js → popup.BE5MfEQJ.js} +1 -1
  18. package/library/chunks/purify.es.BGaRrCfO.js +553 -0
  19. package/library/chunks/{select.oVg7uA-M.js → select.xBh4yerC.js} +3 -3
  20. package/library/chunks/string.DPf4puTr.js +136 -0
  21. package/library/chunks/{tab-group.BWYMMhrE.js → tab-group.CjvHb3OJ.js} +3 -3
  22. package/library/chunks/{table.-ecyjIUr.js → table.CrX_NJiY.js} +2019 -1744
  23. package/library/chunks/{timecode.PY1bymeS.js → timecode.XXmVg6tU.js} +1 -1
  24. package/library/chunks/{tree.82OigIgE.js → tree.CDaFhGjU.js} +1 -1
  25. package/library/components/alert.js +1 -1
  26. package/library/components/asset-link-format.js +4 -4
  27. package/library/components/atoms.js +14 -14
  28. package/library/components/border-input-group.js +1 -1
  29. package/library/components/breadcrumb.js +1 -1
  30. package/library/components/button.js +2 -2
  31. package/library/components/color-picker.js +3 -3
  32. package/library/components/color-swatch-group.js +6 -6
  33. package/library/components/color-swatch.js +3 -3
  34. package/library/components/confirm-popover.js +4 -4
  35. package/library/components/copy-button.js +1 -1
  36. package/library/components/corner-position-input-group.js +3 -3
  37. package/library/components/details.js +1 -1
  38. package/library/components/dialog.js +3 -3
  39. package/library/components/dot-pagination.js +2 -2
  40. package/library/components/drawer.js +1 -1
  41. package/library/components/dropdown.js +2 -2
  42. package/library/components/dynamic-select.js +5 -5
  43. package/library/components/element-clamp.js +2 -2
  44. package/library/components/file-on-demand.js +11 -11
  45. package/library/components/folder-select.js +4 -4
  46. package/library/components/format-bytes.js +1 -1
  47. package/library/components/format-date.js +1 -1
  48. package/library/components/format-number.js +1 -1
  49. package/library/components/format-time.js +2 -2
  50. package/library/components/header.js +2 -2
  51. package/library/components/icon-button.js +1 -1
  52. package/library/components/iframe.js +2 -2
  53. package/library/components/image-comparer.js +1 -1
  54. package/library/components/image.js +3 -3
  55. package/library/components/input.js +1 -1
  56. package/library/components/line-clamp.js +31 -23
  57. package/library/components/list-editor.js +9 -8
  58. package/library/components/masonry.js +1 -1
  59. package/library/components/menu-item.js +2 -2
  60. package/library/components/menu.js +1 -1
  61. package/library/components/molecules.js +4 -4
  62. package/library/components/option.js +2 -2
  63. package/library/components/organisms.js +2 -2
  64. package/library/components/pagination.js +4 -4
  65. package/library/components/popup.js +2 -2
  66. package/library/components/position-picker.js +1 -1
  67. package/library/components/progress-bar.js +1 -1
  68. package/library/components/progress-ring.js +1 -1
  69. package/library/components/range.js +2 -2
  70. package/library/components/rating.js +1 -1
  71. package/library/components/relative-time.js +1 -1
  72. package/library/components/select.js +4 -4
  73. package/library/components/share-option-list.js +1 -1
  74. package/library/components/size-input-group.js +2 -2
  75. package/library/components/spinner.js +1 -1
  76. package/library/components/split-panel.js +1 -1
  77. package/library/components/tab-group.js +3 -3
  78. package/library/components/tab.js +1 -1
  79. package/library/components/table.js +2 -2
  80. package/library/components/tag.js +1 -1
  81. package/library/components/timecode.js +2 -2
  82. package/library/components/tooltip.js +2 -2
  83. package/library/components/tree-item.js +2 -2
  84. package/library/components/tree.js +2 -2
  85. package/library/components/typeface.js +1 -1
  86. package/library/components/types.js +30808 -30016
  87. package/library/components/video.js +2 -2
  88. package/library/package.json +1 -1
  89. package/library/packages/atoms/src/components/button/button.d.ts +4 -0
  90. package/library/packages/atoms/src/components/line-clamp/line-clamp.d.ts +3 -1
  91. package/library/packages/atoms/src/components/table/components/table-toolbar/table-saved-search-dropdown.d.ts +60 -0
  92. package/library/packages/atoms/src/components/table/components/table-toolbar/table-toolbar.d.ts +38 -5
  93. package/library/packages/atoms/src/components/table/table.d.ts +28 -5
  94. package/library/packages/atoms/src/components/table/tabulator-tables/core/row/Row.d.ts +2 -2
  95. package/library/packages/events/src/cx-content-builder-translatable-value-change.d.ts +13 -0
  96. package/library/packages/events/src/cx-table-export.d.ts +1 -1
  97. package/library/packages/events/src/cx-table-save-search-select.d.ts +8 -0
  98. package/library/packages/events/src/events.d.ts +2 -0
  99. package/library/packages/molecules/src/data-tab-group/data-tab-group.d.ts +1 -0
  100. package/library/packages/molecules/src/details-group/details-group.d.ts +1 -0
  101. package/library/packages/molecules/src/list-editor/list-editor.d.ts +14 -0
  102. package/library/packages/molecules/src/timeline/timeline.d.ts +4 -0
  103. package/library/packages/organisms/src/color-swatch-group/color-swatch-group.d.ts +1 -0
  104. package/library/packages/organisms/src/comment/comment.d.ts +13 -0
  105. package/library/packages/organisms/src/comment/components/comment-menu/comment-menu.d.ts +14 -0
  106. package/library/packages/organisms/src/content-builder/components/color-swatch-picker/color-swatch-picker.d.ts +21 -0
  107. package/library/packages/organisms/src/content-builder/components/config-form/config-form-controller.d.ts +19 -0
  108. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +28 -8
  109. package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +28 -1
  110. package/library/packages/organisms/src/content-builder/components/gallery-config/gallery-config.d.ts +1 -0
  111. package/library/packages/organisms/src/content-builder/configs/accordion.d.ts +1 -0
  112. package/library/packages/organisms/src/content-builder/configs/color-swatches.d.ts +1 -0
  113. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +2 -0
  114. package/library/packages/organisms/src/content-builder/configs/tab-group.d.ts +1 -0
  115. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
  116. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +10 -0
  117. package/library/packages/organisms/src/content-builder/content-builder-constants.d.ts +2 -0
  118. package/library/packages/organisms/src/content-builder/content-builder.d.ts +19 -2
  119. package/library/packages/organisms/src/content-builder/content-builder.utils.d.ts +0 -7
  120. package/library/packages/organisms/src/content-builder/plugins/plugin-factory.d.ts +1 -0
  121. package/library/packages/organisms/src/content-builder/styleController.d.ts +3 -1
  122. package/library/packages/types/src/color-swatch.d.ts +1 -0
  123. package/library/packages/types/src/content-builder.d.ts +7 -0
  124. package/library/packages/types/src/table.d.ts +13 -1
  125. package/library/packages/utils/src/custom-element/i18n-utils.d.ts +2 -0
  126. package/library/packages/utils/src/custom-element/i18n.d.ts +32 -9
  127. package/library/packages/utils/src/string/string.d.ts +2 -0
  128. package/library/react-web-component.d.ts +115 -58
  129. package/package.json +1 -1
  130. package/library/chunks/list-editor.Ct803qvF.js +0 -737
  131. package/library/chunks/string.D6poLUEC.js +0 -678
@@ -1,10 +1,10 @@
1
1
  import { a as Ab, c as ps, g as kn } from "../chunks/_commonjsHelpers.ByX85dGu.js";
2
- import { r as Tb, C as Eb, R as wb } from "../chunks/image.BJfasRY_.js";
2
+ import { r as Tb, C as Eb, R as wb } from "../chunks/image.gpleN29o.js";
3
3
  import Sb from "./resize-observer.js";
4
4
  import { c as Cb } from "../chunks/component.styles.CI-v8BZa.js";
5
5
  import { b as Mb } from "../chunks/browser.Va59Ix3P.js";
6
6
  import { i as Db, n as ki, x as Kc, c as Pb } from "../chunks/custom-element.vnXBMQxc.js";
7
- import { L as Lb } from "../chunks/i18n.C3Z8Xe8q.js";
7
+ import { L as Lb } from "../chunks/i18n.dCiJrmqj.js";
8
8
  import { w as Bn } from "../chunks/watch.BCJD77bD.js";
9
9
  import { r as Fn } from "../chunks/state.Cw55xXlb.js";
10
10
  import { e as ao } from "../chunks/query.BBf1UFkC.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "2.56.0",
4
+ "version": "2.57.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -126,6 +126,9 @@ export default class CxButton extends CortexElement implements CortexFormControl
126
126
  get validity(): ValidityState;
127
127
  /** Gets the validation message */
128
128
  get validationMessage(): string;
129
+ get hasPrefix(): boolean;
130
+ get hasSuffix(): boolean;
131
+ get hasLabel(): boolean;
129
132
  runFirstUpdated(): void;
130
133
  connectedUpdatedCallback(): void;
131
134
  disconnectedCallback(): void;
@@ -152,6 +155,7 @@ export default class CxButton extends CortexElement implements CortexFormControl
152
155
  reportValidity(): boolean;
153
156
  /** Sets a custom validation message. Pass an empty string to restore validity. */
154
157
  setCustomValidity(message: string): void;
158
+ protected renderLabel(): import('lit').TemplateResult;
155
159
  render(): import('lit').TemplateResult;
156
160
  }
157
161
  declare global {
@@ -64,8 +64,10 @@ export default class CxLineClamp extends CortexElement {
64
64
  * The tooltip element.
65
65
  */
66
66
  tooltipElement: HTMLElement;
67
+ private mutationObserver;
68
+ connectedUpdatedCallback(): void;
69
+ disconnectedCallback(): void;
67
70
  updateTooltipContent(): Promise<void>;
68
- runFirstUpdated(): void;
69
71
  /**
70
72
  * Safari has a bug where -webkit-line-clamp with mixed content (text + elements)
71
73
  * can lose text nodes when tooltip hides. This forces a reflow to fix it.
@@ -0,0 +1,60 @@
1
+ import { default as CxButton } from '../../../button/button.ts';
2
+ import { default as CxDropdown } from '../../../dropdown/dropdown.ts';
3
+ import { default as CxIcon } from '../../../icon/icon.ts';
4
+ import { default as CxMenu } from '../../../menu/menu.ts';
5
+ import { default as CxMenuItem } from '../../../menu-item/menu-item.ts';
6
+ import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
7
+ import { SavedSearchItem } from '../../../../../../types/src/table';
8
+ import { CSSResultGroup } from 'lit';
9
+
10
+ /**
11
+ * @summary CxTableSavedSearchDropdown
12
+ */
13
+ export default class CxTableSavedSearchDropdown extends CortexElement {
14
+ static readonly styles: CSSResultGroup;
15
+ static readonly dependencies: {
16
+ 'cx-button': typeof CxButton;
17
+ 'cx-dropdown': typeof CxDropdown;
18
+ 'cx-icon': typeof CxIcon;
19
+ 'cx-menu': typeof CxMenu;
20
+ 'cx-menu-item': typeof CxMenuItem;
21
+ };
22
+ private readonly localize;
23
+ private fetchController;
24
+ /**
25
+ * The URL to load the saved searches from
26
+ */
27
+ savedSearchURL: string;
28
+ /**
29
+ * The items to display in the saved search dropdown if savedSearchURL is not provided
30
+ */
31
+ savedSearchItems: SavedSearchItem[];
32
+ /**
33
+ * The parameter name for the page size for the saved search dropdown
34
+ */
35
+ savedSearchPageSizeParam: string;
36
+ /**
37
+ * The page size for the saved search dropdown
38
+ */
39
+ savedSearchPageSize: number;
40
+ /**
41
+ * The parameter name for the page number for the saved search dropdown
42
+ */
43
+ savedSearchPageNumberParam: string;
44
+ totalCount: number;
45
+ loading: boolean;
46
+ private currentPage;
47
+ createRenderRoot(): this;
48
+ private get hasMore();
49
+ private resetSavedSearchState;
50
+ private getSavedSearchItems;
51
+ private handleLoadMore;
52
+ handleSavedSearchURLChange(): void;
53
+ private handleSavedSearchItemSelect;
54
+ render(): import('lit').TemplateResult<1>;
55
+ }
56
+ declare global {
57
+ interface HTMLElementTagNameMap {
58
+ 'cx-table-saved-search-dropdown': CxTableSavedSearchDropdown;
59
+ }
60
+ }
@@ -9,7 +9,9 @@ import { default as CxSpace } from '../../../space/space.ts';
9
9
  import { default as CxTooltip } from '../../../tooltip/tooltip.ts';
10
10
  import { default as CxTypography } from '../../../typography/typography.ts';
11
11
  import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
12
+ import { SavedSearchItem } from '../../../../../../types/src/table';
12
13
  import { CSSResultGroup } from 'lit';
14
+ import { default as CxTableSavedSearchDropdown } from './table-saved-search-dropdown';
13
15
 
14
16
  /**
15
17
  * @summary <cx-table-toolbar> is a component that displays a toolbar for a table.
@@ -26,11 +28,12 @@ export default class CxTableToolbar extends CortexElement {
26
28
  'cx-menu': typeof CxMenu;
27
29
  'cx-menu-item': typeof CxMenuItem;
28
30
  'cx-space': typeof CxSpace;
31
+ 'cx-table-saved-search-dropdown': typeof CxTableSavedSearchDropdown;
29
32
  'cx-tooltip': typeof CxTooltip;
30
33
  'cx-typography': typeof CxTypography;
31
34
  };
32
- private form;
33
- private searchInput;
35
+ private readonly form;
36
+ private readonly searchInput;
34
37
  /**
35
38
  * The label of the table.
36
39
  */
@@ -63,6 +66,34 @@ export default class CxTableToolbar extends CortexElement {
63
66
  * Whether to display a export custom button
64
67
  */
65
68
  canExportCustom: boolean;
69
+ /**
70
+ * Whether to display a save report button
71
+ */
72
+ canSaveReport: boolean;
73
+ /**
74
+ * The URL to load the saved searches from
75
+ */
76
+ savedSearchURL: string;
77
+ /**
78
+ * The items to display in the saved search dropdown if savedSearchURL is not provided
79
+ */
80
+ savedSearchItems: SavedSearchItem[];
81
+ /**
82
+ * The parameter name for the page size for the saved search dropdown
83
+ */
84
+ savedSearchPageSizeParam: string;
85
+ /**
86
+ * The page size for the saved search dropdown
87
+ */
88
+ savedSearchPageSize: number;
89
+ /**
90
+ * The parameter name for the page number for the saved search dropdown
91
+ */
92
+ savedSearchPageNumberParam: string;
93
+ /**
94
+ * Whether to display the saved search dropdown
95
+ */
96
+ showSavedSearch: boolean;
66
97
  searchValue: string;
67
98
  private handleSearchSubmit;
68
99
  private handleAdvancedSearchClick;
@@ -71,9 +102,11 @@ export default class CxTableToolbar extends CortexElement {
71
102
  private handleExportCsv;
72
103
  private handleExportXml;
73
104
  private handleExportCustom;
74
- renderSearch(): import('lit').TemplateResult<1>;
75
- renderAddButton(): import('lit').TemplateResult<1>;
76
- renderExportDropdown(): import('lit').TemplateResult<1>;
105
+ private handleSaveReport;
106
+ private renderSearch;
107
+ private renderAddButton;
108
+ private renderSavedSearchDropdown;
109
+ private renderExportDropdown;
77
110
  render(): import('lit').TemplateResult<1>;
78
111
  }
79
112
  declare global {
@@ -6,7 +6,7 @@ import { default as CxSpinner } from '../spinner/spinner.ts';
6
6
  import { default as CxTag } from '../tag/tag.ts';
7
7
  import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
8
8
  import { PaginationCounter } from '../../../../types/src/pagination';
9
- import { HoverMenuOptions, ColumnDefinition, Options, OptionsColumns, OptionsSpreadsheet, SheetDefinition } from '../../../../types/src/table';
9
+ import { HoverMenuOptions, SavedSearchItem, ColumnDefinition, Options, OptionsColumns, OptionsSpreadsheet, SheetDefinition } from '../../../../types/src/table';
10
10
  import { CSSResultGroup, TemplateResult } from 'lit';
11
11
  import { CxTableRowActions, CxTableToolbar } from './components';
12
12
  import { RowComponent, TabulatorFull as Tabulator } from './tabulator-tables';
@@ -71,10 +71,10 @@ export default class CxTable extends CortexElement {
71
71
  private osInstance;
72
72
  private resizeObserver;
73
73
  private overflowObserver;
74
- private tabulatorHolder;
75
- private tabulatorElement;
76
- private table;
77
- private tableToolbar;
74
+ private readonly tabulatorHolder;
75
+ private readonly tabulatorElement;
76
+ private readonly table;
77
+ private readonly tableToolbar;
78
78
  movableRows: boolean;
79
79
  movableColumns: boolean;
80
80
  data: Options['data'];
@@ -168,6 +168,10 @@ export default class CxTable extends CortexElement {
168
168
  * Whether to hide the advanced search button
169
169
  */
170
170
  noAdvancedSearch: boolean;
171
+ /**
172
+ * Whether to display the saved search dropdown
173
+ */
174
+ showSavedSearch: boolean;
171
175
  /**
172
176
  * Fields to search in the table.
173
177
  */
@@ -192,6 +196,21 @@ export default class CxTable extends CortexElement {
192
196
  * Whether to display a export custom button
193
197
  */
194
198
  canExportCustom: boolean;
199
+ canSaveReport: boolean;
200
+ savedSearchURL: string;
201
+ savedSearchItems: SavedSearchItem[];
202
+ /**
203
+ * The parameter name for the page size for the saved search dropdown
204
+ */
205
+ savedSearchPageSizeParam: string;
206
+ /**
207
+ * The page size for the saved search dropdown
208
+ */
209
+ savedSearchPageSize: number;
210
+ /**
211
+ * The parameter name for the page number for the saved search dropdown
212
+ */
213
+ savedSearchPageNumberParam: string;
195
214
  /**
196
215
  * The URL to load the data from.
197
216
  */
@@ -609,7 +628,10 @@ export default class CxTable extends CortexElement {
609
628
  * This set stores the names of the event names that are being watched.
610
629
  */
611
630
  private readonly watchedEvents;
631
+ private activeSearchValue;
612
632
  get initialized(): boolean | undefined;
633
+ get searchValue(): string;
634
+ get showTableToolbar(): string | boolean;
613
635
  initTable(): Promise<void>;
614
636
  handleUseOverlayScrollbarChange(): void;
615
637
  constructor();
@@ -632,6 +654,7 @@ export default class CxTable extends CortexElement {
632
654
  handleGroupValuesChange(): void;
633
655
  handlePaginationSizeChange(): void;
634
656
  handlePaginationInitialPageChange(): void;
657
+ search(searchText: string): void;
635
658
  private handleSearch;
636
659
  handleSearchFieldsChange(): void;
637
660
  private handleTableExport;
@@ -1,4 +1,4 @@
1
- import { ICell, IColumn, IColumnComponent, IRow, IRowManager } from '../../../../../../../types/src/table';
1
+ import { ICell, IColumn, IColumnComponent, IRow, IRowManager, RowModules } from '../../../../../../../types/src/table';
2
2
  import { default as CoreFeature } from '../CoreFeature';
3
3
  import { default as RowComponent } from './RowComponent';
4
4
 
@@ -7,7 +7,7 @@ export default class Row extends CoreFeature implements IRow {
7
7
  data: Record<string, any>;
8
8
  type: string;
9
9
  element: HTMLElement | false;
10
- modules: Record<string, any>;
10
+ modules: RowModules;
11
11
  cells: ICell[];
12
12
  height: number;
13
13
  heightStyled: string;
@@ -0,0 +1,13 @@
1
+ export type CxContentBuilderTranslatableValueChangeEvent = CustomEvent<{
2
+ language: string;
3
+ values: Array<{
4
+ attribute: string;
5
+ type: 'attribute';
6
+ value: string;
7
+ }>;
8
+ }>;
9
+ declare global {
10
+ interface GlobalEventHandlersEventMap {
11
+ 'cx-content-builder-translatable-value-change': CxContentBuilderTranslatableValueChangeEvent;
12
+ }
13
+ }
@@ -1,7 +1,7 @@
1
1
  export type CxTableExportEvent = CustomEvent<{
2
2
  data?: unknown[];
3
3
  searchValue?: string;
4
- type: 'csv' | 'xml' | 'custom';
4
+ type: 'csv' | 'xml' | 'custom' | 'report';
5
5
  }>;
6
6
  declare global {
7
7
  interface GlobalEventHandlersEventMap {
@@ -0,0 +1,8 @@
1
+ export type CxTableSaveSearchSelectEvent = CustomEvent<{
2
+ id: string;
3
+ }>;
4
+ declare global {
5
+ interface GlobalEventHandlersEventMap {
6
+ 'cx-table-save-search-select': CxTableSaveSearchSelectEvent;
7
+ }
8
+ }
@@ -39,6 +39,7 @@ export * from './cx-connected';
39
39
  export * from './cx-content-builder-gallery-change';
40
40
  export * from './cx-content-builder-page-change';
41
41
  export * from './cx-content-builder-page-delete';
42
+ export * from './cx-content-builder-translatable-value-change';
42
43
  export * from './cx-copy';
43
44
  export * from './cx-corner-position-input-group-change';
44
45
  export * from './cx-disconnect';
@@ -120,6 +121,7 @@ export * from './cx-tab-show';
120
121
  export * from './cx-table-advanced-search-click';
121
122
  export * from './cx-table-export';
122
123
  export * from './cx-table-row-action-click';
124
+ export * from './cx-table-save-search-select';
123
125
  export * from './cx-time-based-change';
124
126
  export * from './cx-time-update';
125
127
  export * from './cx-typeface-change';
@@ -26,6 +26,7 @@ export default class CxDataTabGroup extends CortexElement {
26
26
  hidePanelVariant: TabGroupHidePanelVariant;
27
27
  /** Use max panel height. */
28
28
  useMaxPanelHeight: boolean;
29
+ multiLanguage: boolean;
29
30
  render(): import('lit').TemplateResult<1>;
30
31
  }
31
32
  declare global {
@@ -16,6 +16,7 @@ export default class CxDetailsGroup extends CortexElement {
16
16
  private readonly localize;
17
17
  data: DetailsItem[];
18
18
  defaultOpenIndexes?: number[];
19
+ multiLanguage: boolean;
19
20
  runFirstUpdated(): void;
20
21
  render(): import('lit').TemplateResult<1>;
21
22
  }
@@ -17,6 +17,10 @@ import { default as CxAssetPicker } from '../asset-picker/asset-picker';
17
17
  export declare const columnDefaults: {
18
18
  resizable: boolean;
19
19
  };
20
+ declare enum TabType {
21
+ General = "general",
22
+ Translation = "translation"
23
+ }
20
24
  /**
21
25
  * @summary CxListEditor
22
26
  */
@@ -54,6 +58,12 @@ export default class CxListEditor extends CortexElement {
54
58
  columns: Array<Record<string, unknown>>;
55
59
  noHeader: boolean;
56
60
  rowHeight: number;
61
+ defaultLanguage: string;
62
+ /**
63
+ * The list of languages available in the content builder.
64
+ * This is the list of languages that will be used to store the translatable texts.
65
+ */
66
+ supportedLanguages: string[];
57
67
  /**
58
68
  * The boundary property of the confirm popover's dropdown/dialog popup.
59
69
  */
@@ -71,7 +81,9 @@ export default class CxListEditor extends CortexElement {
71
81
  isAdding: boolean;
72
82
  private columnsMap;
73
83
  private sortedEntries;
84
+ private translatableControls;
74
85
  private disableCloseConfigDialog;
86
+ get tabs(): TabType[];
75
87
  handleColumnsChange(): void;
76
88
  handleEditedItemChange(): void;
77
89
  private readonly hoverMenu;
@@ -84,6 +96,7 @@ export default class CxListEditor extends CortexElement {
84
96
  private handleTableRowMoved;
85
97
  private handleAssetRequestStatus;
86
98
  handleLoadingEventChange(): Promise<void>;
99
+ private renderControls;
87
100
  render(): import('lit').TemplateResult<1>;
88
101
  }
89
102
  declare global {
@@ -91,3 +104,4 @@ declare global {
91
104
  'cx-list-editor': CxListEditor;
92
105
  }
93
106
  }
107
+ export {};
@@ -34,6 +34,10 @@ export default class CxTimeline extends CortexElement {
34
34
  * The number of tabs per page. This applies when overflow variant is pagination.
35
35
  */
36
36
  tabsPerPage: number;
37
+ /**
38
+ * Whether to show multi-language.
39
+ */
40
+ multiLanguage: boolean;
37
41
  /**
38
42
  * The minimum width of the tab.
39
43
  */
@@ -62,6 +62,7 @@ export default class CxColorSwatchGroup extends CortexElement {
62
62
  * Color codes to show in the swatches
63
63
  */
64
64
  showCodes: string[];
65
+ multiLanguage: boolean;
65
66
  /**
66
67
  * Breakpoints for responsive design
67
68
  */
@@ -71,6 +71,19 @@ export default class CxComment extends CortexElement {
71
71
  * Whether the time based feature is enabled.
72
72
  */
73
73
  timeBased: boolean;
74
+ /**
75
+ * When true, hides the time based icon button in the comment menu while
76
+ * still allowing the time based feature to function (e.g. `timeBased`
77
+ * state is still respected). Useful when the parent wants to enable the
78
+ * feature without exposing the toggle button to end users.
79
+ */
80
+ hideTimeBasedIcon: boolean;
81
+ /**
82
+ * When true, hides the fullscreen icon button and prevents entering
83
+ * fullscreen. `toggleFullscreen()` becomes a no-op when not already
84
+ * fullscreen, but still allows exiting fullscreen if currently open.
85
+ */
86
+ disableFullscreen: boolean;
74
87
  /**
75
88
  * The time values for the time based feature.
76
89
  */
@@ -41,6 +41,20 @@ export default class CxCommentMenu extends CortexElement {
41
41
  * Whether the time based feature is enabled.
42
42
  */
43
43
  timeBased: boolean;
44
+ /**
45
+ * When true, hides the time based icon button in the menu while still
46
+ * allowing the time based feature to function (e.g. `timeBased` state
47
+ * is still respected and `cx-time-based-change` events can still be
48
+ * emitted programmatically). Set this when the host component wants to
49
+ * expose the time based feature without showing the toggle button.
50
+ */
51
+ hideTimeBasedIcon: boolean;
52
+ /**
53
+ * When true, hides the fullscreen icon button and disables fullscreen
54
+ * toggling entirely. Both the menu button and programmatic calls to
55
+ * `toggleFullscreen()` become no-ops.
56
+ */
57
+ disableFullscreen: boolean;
44
58
  private showTextFormats;
45
59
  private showLinkPopup;
46
60
  private linkTextValue;
@@ -16,6 +16,10 @@ import { ColorSwatchData } from '../../../../../types/src/color-swatch';
16
16
 
17
17
  export type CxContentBuilderColorSwatchSelectEvent = CustomEvent<ColorSwatchData | ColorSwatchData[]>;
18
18
  export type CxContentBuilderColorSwatchDeleteEvent = CustomEvent<void>;
19
+ declare enum TabType {
20
+ General = "general",
21
+ Translation = "translation"
22
+ }
19
23
  /**
20
24
  * @summary The `cx-color-swatch-picker` component is used to select and manage color swatches in the content builder.
21
25
  *
@@ -55,6 +59,15 @@ export default class CxColorSwatchPicker extends CortexElement {
55
59
  * Whether the table can be loaded.
56
60
  */
57
61
  disableTableLoad: boolean;
62
+ /**
63
+ * The list of languages available in the content builder.
64
+ * This is the list of languages that will be used to store the translatable texts.
65
+ */
66
+ supportedLanguages: string[];
67
+ /**
68
+ * The default language of the content builder.
69
+ */
70
+ defaultLanguage: string;
58
71
  /**
59
72
  * The type of dialog to open since it can be either add new or edit from row selection.
60
73
  */
@@ -67,6 +80,10 @@ export default class CxColorSwatchPicker extends CortexElement {
67
80
  * The name of the color swatch.
68
81
  */
69
82
  private dialogName;
83
+ /**
84
+ * The translations of the color swatch name.
85
+ */
86
+ private dialogNameTranslations;
70
87
  /**
71
88
  * The palette of the color swatch.
72
89
  */
@@ -95,6 +112,7 @@ export default class CxColorSwatchPicker extends CortexElement {
95
112
  * The palettes of current color swatches.
96
113
  */
97
114
  private palettes;
115
+ get tabs(): TabType[];
98
116
  /**
99
117
  * Opens the add color dialog.
100
118
  */
@@ -122,6 +140,7 @@ export default class CxColorSwatchPicker extends CortexElement {
122
140
  handleDataChange(): void;
123
141
  runFirstUpdated(): void;
124
142
  private handleChangeName;
143
+ private handleChangeNameTranslation;
125
144
  private handleChangePalette;
126
145
  private handleCreatePalette;
127
146
  private handleColorPickerChange;
@@ -134,6 +153,7 @@ export default class CxColorSwatchPicker extends CortexElement {
134
153
  */
135
154
  private handleTableRowMoved;
136
155
  private handleTableRowDeleted;
156
+ private renderControls;
137
157
  render(): import('lit').TemplateResult<1>;
138
158
  }
139
159
  declare global {
@@ -145,3 +165,4 @@ declare global {
145
165
  'cx-content-builder-color-swatch-select': CxContentBuilderColorSwatchSelectEvent;
146
166
  }
147
167
  }
168
+ export {};
@@ -0,0 +1,19 @@
1
+ import { PropertyConfig } from '../../../../../types/src/content-builder';
2
+ import { CxConfigForm } from '.';
3
+ import { ReactiveController, ReactiveControllerHost, TemplateResult } from 'lit';
4
+ import { TabType } from './config-form';
5
+
6
+ export declare class ConfigFormController implements ReactiveController {
7
+ host: ReactiveControllerHost & CxConfigForm;
8
+ private readonly localize;
9
+ constructor(host: ReactiveControllerHost & CxConfigForm);
10
+ hostConnected(): void;
11
+ private handleStyleChange;
12
+ private handleAttributeChange;
13
+ private handlePropertyChange;
14
+ private handleConfigChange;
15
+ private renderControl;
16
+ private renderBasicControl;
17
+ renderBasicControls(configs: PropertyConfig[], parent?: PropertyConfig, tab?: TabType): TemplateResult<1>;
18
+ renderTranslationControls(): TemplateResult<1>;
19
+ }
@@ -60,9 +60,9 @@ export type CxContentBuilderFormSaveEvent = CustomEvent<{
60
60
  isNewTemplate: boolean;
61
61
  }>;
62
62
  export declare enum TabType {
63
- Content = "Content",
64
- Effects = "Effects",
65
- Styling = "Styling"
63
+ Content = "content",
64
+ Effects = "effects",
65
+ Styling = "styling"
66
66
  }
67
67
  /**
68
68
  * @summary The `cx-config-form` component is used to configure the attributes, properties, styles, and traits of a block in the content builder.
@@ -119,6 +119,7 @@ export default class CxConfigForm extends CortexElement {
119
119
  'cx-visually-hidden': typeof CxVisuallyHidden;
120
120
  };
121
121
  private readonly localize;
122
+ private readonly configFormController;
122
123
  /**
123
124
  * The dialog element used to display the configuration manager.
124
125
  * This is used to show and hide the configuration manager dialog.
@@ -162,6 +163,23 @@ export default class CxConfigForm extends CortexElement {
162
163
  * This is used to validate the template id when the user is saving the configuration.
163
164
  */
164
165
  templateId: string;
166
+ /**
167
+ * The list of languages available in the content builder.
168
+ * This is the list of languages that will be used to store the translatable texts.
169
+ */
170
+ supportedLanguages: string[];
171
+ /**
172
+ * The values of the translatable controls.
173
+ * This is used to store the values of the translatable controls.
174
+ * @default []
175
+ */
176
+ translatableControlValues: Record<string, Record<string, string>>;
177
+ /**
178
+ * The default language of the translatable controls.
179
+ * This is used to store the default language of the translatable controls.
180
+ * @default 'en'
181
+ */
182
+ defaultLanguage: string;
165
183
  /**
166
184
  * The boundary property of the confirm popover's dropdown/dialog popup.
167
185
  */
@@ -212,6 +230,11 @@ export default class CxConfigForm extends CortexElement {
212
230
  * @default []
213
231
  */
214
232
  traits: PropertyConfig[];
233
+ /**
234
+ * The list of input controls to render in the configuration form.
235
+ * These are the input controls that will support multiple languages.
236
+ */
237
+ translatableControls: PropertyConfig[];
215
238
  /**
216
239
  * The name of the block being configured.
217
240
  * This is used to display the block name in the dialog header.
@@ -259,6 +282,7 @@ export default class CxConfigForm extends CortexElement {
259
282
  * @default false
260
283
  */
261
284
  isAfterShow: boolean;
285
+ sortedLanguages: string[];
262
286
  /**
263
287
  * Whether the template is editable.
264
288
  * This is used to determine if the user can save the settings as a template.
@@ -282,10 +306,7 @@ export default class CxConfigForm extends CortexElement {
282
306
  */
283
307
  get tabMap(): Record<string, TabType>;
284
308
  handleTabMapChange(): Promise<void>;
285
- private handleAttributeChange;
286
- private handleStyleChange;
287
- private handlePropertyChange;
288
- private handleConfigChange;
309
+ handleSupportedLanguagesChange(): Promise<void>;
289
310
  private handleClose;
290
311
  private handleAfterShow;
291
312
  private handleAfterHide;
@@ -299,7 +320,6 @@ export default class CxConfigForm extends CortexElement {
299
320
  private handleFormSubmit;
300
321
  show(): void;
301
322
  hide(): void;
302
- private renderControls;
303
323
  private renderTemplateForm;
304
324
  render(): import('lit').TemplateResult<1>;
305
325
  }