@orangelogic/design-system 3.0.0 → 3.1.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 (47) hide show
  1. package/library/chunks/{asset-link-format.D--xQVgR.js → asset-link-format.Ds5nq4mo.js} +1 -1
  2. package/library/chunks/{color-swatch-group.CCgwey9f.js → color-swatch-group.d5e1sYos.js} +362 -326
  3. package/library/chunks/{confirm-popover.CrQKEChc.js → confirm-popover.tftDINBg.js} +1 -1
  4. package/library/chunks/{dialog.CWGtufDA.js → dialog.CzSaiGBF.js} +1 -1
  5. package/library/chunks/{document-viewer.C90j1Xrr.js → document-viewer.B1EEIvUY.js} +1 -1
  6. package/library/chunks/{icon-button.CVrxJcZq.js → icon-button.BHC52xvk.js} +16 -10
  7. package/library/chunks/{markdown.DOHru2Rz.js → markdown.Dga4_SbU.js} +1 -1
  8. package/library/chunks/{pagination.mzolTIpF.js → pagination.D50ned8_.js} +1 -1
  9. package/library/chunks/{tab-group.uSHlsFu8.js → tab-group.DE0RsMX4.js} +1 -1
  10. package/library/components/alert.js +1 -1
  11. package/library/components/asset-link-format.js +1 -1
  12. package/library/components/atoms.js +6 -6
  13. package/library/components/audio.js +1 -1
  14. package/library/components/color-swatch-group.js +1 -1
  15. package/library/components/confirm-popover.js +2 -2
  16. package/library/components/date-calendar.js +1 -1
  17. package/library/components/dialog.js +2 -2
  18. package/library/components/document-viewer.js +1 -1
  19. package/library/components/drawer.js +1 -1
  20. package/library/components/dynamic-select.js +1 -1
  21. package/library/components/file-on-demand.js +4 -4
  22. package/library/components/icon-button.js +1 -1
  23. package/library/components/markdown.js +2 -2
  24. package/library/components/masonry.js +1 -1
  25. package/library/components/menu-item.js +8 -5
  26. package/library/components/molecules.js +1 -1
  27. package/library/components/organisms.js +2 -2
  28. package/library/components/pagination.js +2 -2
  29. package/library/components/sidebar.js +1 -1
  30. package/library/components/size-input-group.js +1 -1
  31. package/library/components/tab-group.js +2 -2
  32. package/library/components/tab.js +1 -1
  33. package/library/components/tag.js +1 -1
  34. package/library/components/typeface.js +1 -1
  35. package/library/components/types.js +13247 -13194
  36. package/library/package.json +1 -1
  37. package/library/packages/atoms/src/components/icon-button/icon-button.d.ts +11 -0
  38. package/library/packages/atoms/src/components/menu-item/submenu-controller.d.ts +1 -0
  39. package/library/packages/hybrid/table-core/src/table/styles/table-frozen.styles.d.ts +4 -4
  40. package/library/packages/hybrid/table-core/src/table/styles/table-overlay-scrollbar.styles.d.ts +8 -5
  41. package/library/packages/hybrid/table-core/src/table/table.d.ts +2 -12
  42. package/library/packages/hybrid/table-core/src/tabulator-tables/core/RowManager.d.ts +1 -0
  43. package/library/packages/hybrid/table-core/src/tabulator-tables/modules/ResizeColumns/ResizeColumns.d.ts +5 -3
  44. package/library/packages/organisms/src/comment/components/comment-menu/comment-menu.d.ts +10 -0
  45. package/library/packages/organisms/src/downloader/downloader.d.ts +1 -1
  46. package/library/react-web-component.d.ts +8 -0
  47. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "3.0.0",
4
+ "version": "3.1.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -84,6 +84,17 @@ export default class CxIconButton extends CortexElement {
84
84
  * Draws a circular icon button.
85
85
  */
86
86
  circle: boolean;
87
+ /**
88
+ * Marks this button as a toggle control and reflects its state via `aria-pressed`.
89
+ * Leave unset for buttons that are not toggles (the default `role="button"` stays unchanged either way).
90
+ */
91
+ pressed?: boolean;
92
+ /**
93
+ * Overrides the button's tabindex (e.g. for a roving-tabindex toolbar). Leave unset to keep the
94
+ * default behavior: `0` when enabled, `-1` when `disabled` or `loading`.
95
+ * Attribute is `tab-index` (not the derived `tab-index-value`) to mirror the native `tabindex` attribute.
96
+ */
97
+ tabIndexValue?: number;
87
98
  private styleObserver?;
88
99
  connectedUpdatedCallback(): void;
89
100
  disconnectedCallback(): void;
@@ -33,6 +33,7 @@ export declare class SubmenuController implements ReactiveController {
33
33
  hostConnected(): void;
34
34
  hostDisconnected(): void;
35
35
  hostUpdated(): void;
36
+ private syncAriaExpanded;
36
37
  private addListeners;
37
38
  private removeListeners;
38
39
  private syncIsHorizontalMenu;
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Sticky can't pin frozen cells here — every wrapper up to the real horizontal scroller (the
3
- * OverlayScrollbars viewport on `.tabulator`) is `width: max-content` and never scrolls — so
4
- * `syncFrozenOffset` mirrors the viewport's scrollLeft into these vars instead. If horizontal
5
- * scrolling ever moves back onto `.tabulator-tableholder`, delete this sheet.
2
+ * Frozen columns are pinned by `position: sticky` written from `FrozenColumns.layoutElement`, and
3
+ * their resize handles by matching insets from `ResizeColumns.reinitializeColumn`. Both resolve
4
+ * against `.tabulator-tableholder`, the table's single scroll container — keep it that way. This
5
+ * sheet only owns what sticky cannot express: the freeze divider and the stacking order around it.
6
6
  */
7
7
  declare const _default: import('lit').CSSResult;
8
8
  export default _default;
@@ -1,9 +1,12 @@
1
1
  /**
2
- * use-overlay-scrollbar: table-scoped OverlayScrollbars rules — structure of
3
- * the generated horizontal viewport, positioning of the scrollbars slotted
4
- * into `.table` (see initVerticalScrollbar), and the mapping of the `:host`
5
- * scrollbar css vars (declared below) onto the OverlayScrollbars theme so
6
- * tables with and without use-overlay-scrollbar look the same.
2
+ * use-overlay-scrollbar: table-scoped OverlayScrollbars rules — positioning of
3
+ * the scrollbars slotted into `.table` (see initScrollbars) and the mapping of
4
+ * the `:host` scrollbar css vars (declared below) onto the OverlayScrollbars
5
+ * theme so tables with and without use-overlay-scrollbar look the same.
6
+ *
7
+ * There are deliberately no rules for a generated viewport element: the single
8
+ * instance runs in `viewportIsTarget` mode so `.tabulator-tableholder` stays
9
+ * the scroll container that frozen columns pin against.
7
10
  */
8
11
  declare const _default: import('lit').CSSResult;
9
12
  export default _default;
@@ -102,10 +102,7 @@ export default class CxTable extends CortexElement {
102
102
  'cx-table-toolbar': typeof CxTableToolbar;
103
103
  'cx-tooltip': typeof CxTooltip;
104
104
  };
105
- private verticalOsInstance;
106
- private horizontalOsInstance;
107
- /** Removes the horizontal scrollbar's scroll listener (see syncFrozenOffset). */
108
- private frozenScrollOff;
105
+ private osInstance;
109
106
  private resizeObserver;
110
107
  private overflowObserver;
111
108
  private readonly ajaxFacetsController;
@@ -926,14 +923,7 @@ export default class CxTable extends CortexElement {
926
923
  private repositionValidationTooltipNow;
927
924
  private handleValidationMouseOut;
928
925
  disconnectedCallback(): void;
929
- private initVerticalScrollbar;
930
- private initHorizontalScrollbar;
931
- /**
932
- * Mirrors the horizontal scroller's offset into `--frozen-offset-start/end` so
933
- * `table-frozen.styles.ts` can pin frozen columns. Deliberately not debounced: the offset must
934
- * land in the same frame as the scroll, and it is only two custom-property writes.
935
- */
936
- private syncFrozenOffset;
926
+ private initScrollbars;
937
927
  private readonly checkHorizontalOverflow;
938
928
  private initOverflowObserver;
939
929
  private registerEventListeners;
@@ -62,6 +62,7 @@ export default class RowManager extends CoreFeature implements IRowManager {
62
62
  getElement(): HTMLElement;
63
63
  getTableElement(): HTMLElement;
64
64
  initialize(): void;
65
+ private initializeWheelWatcher;
65
66
  /**
66
67
  * IRow Manipulation
67
68
  */
@@ -28,6 +28,8 @@ export default class ResizeColumns extends Module {
28
28
  * walks `columns` because `columnsByIndex` is still empty when `column-rendered` creates handles.
29
29
  */
30
30
  private isPinnedEnd;
31
+ private pinHandle;
32
+ private repinFrozenHandles;
31
33
  /**
32
34
  * The in-flow handle goes right after the element it resizes — except for an end-pinned column,
33
35
  * whose right edge is the table edge: its handle goes before the element, onto the freeze
@@ -35,9 +37,9 @@ export default class ResizeColumns extends Module {
35
37
  */
36
38
  private attachHandle;
37
39
  /**
38
- * Re-inserts handles next to the element they resize. Upstream wrote `left`/`right` insets here
39
- * for frozen columns, which added to the flow position and pushed handles a column width off;
40
- * frozen handles travel via `table-frozen.styles.ts` instead (which also owns their z-index).
40
+ * Re-inserts handles next to the element they resize and re-pins the frozen ones. Runs off
41
+ * `column-width`, which `FrozenColumns` subscribes to first (in `initialize()`, whereas this
42
+ * module subscribes lazily from `column-rendered`), so the margins read here are already current.
41
43
  */
42
44
  reinitializeColumn(column: Column): void;
43
45
  initializeColumn(type: string, component: any, column: Column, element: HTMLElement): void;
@@ -29,6 +29,7 @@ export default class CxCommentMenu extends CortexElement {
29
29
  popup: CxPopup;
30
30
  linkTextInput: HTMLInputElement;
31
31
  linkUrlInput: HTMLInputElement;
32
+ private formatButtons;
32
33
  editor: Editor;
33
34
  fullscreen: boolean;
34
35
  canUpload: boolean;
@@ -49,6 +50,8 @@ export default class CxCommentMenu extends CortexElement {
49
50
  */
50
51
  hideTimeBasedIcon: boolean;
51
52
  private showTextFormats;
53
+ /** Index (within `formatButtons`) of the toolbar control that currently has `tabindex="0"`. */
54
+ private rovingIndex;
52
55
  private showLinkPopup;
53
56
  private linkTextValue;
54
57
  private linkUrlValue;
@@ -70,6 +73,10 @@ export default class CxCommentMenu extends CortexElement {
70
73
  private handleBulletListClick;
71
74
  private handleOrderedListClick;
72
75
  private handleLinkClick;
76
+ /** Roving-tabindex arrow-key navigation for the formatting toolbar (APG toolbar pattern). */
77
+ private handleToolbarKeyDown;
78
+ /** Keeps the roving tabindex in sync when a toolbar button is focused directly (click, or Tab back in). */
79
+ private handleToolbarFocusIn;
73
80
  private handleLinkPopupOpen;
74
81
  private handleLinkPopupSave;
75
82
  private handleLinkTextInputChange;
@@ -84,6 +91,9 @@ export default class CxCommentMenu extends CortexElement {
84
91
  handleEditorChange(): void;
85
92
  runConnectedCallback(): void;
86
93
  disconnectedCallback(): void;
94
+ /** Config for the toolbar's mark-toggle buttons (the Link button is rendered separately; it needs the popup wrapper). */
95
+ private get markFormatButtons();
96
+ private renderMarkFormatButton;
87
97
  renderTextFormatMenu(): import('lit').TemplateResult<1>;
88
98
  protected renderLeftMenu(): import('lit').TemplateResult<1>;
89
99
  protected renderRightActions(): import('lit').TemplateResult<1>;
@@ -168,7 +168,7 @@ export default class CxDownloader extends CortexElement {
168
168
  handleDrag(event: PointerEvent): void;
169
169
  hide(): void;
170
170
  show(): void;
171
- updateTabIndex(): void;
171
+ updateVisibilityAttributes(): void;
172
172
  getDownloadingFilesFromLocalStorage(): void;
173
173
  onFilter(key: keyof DownloadItem, value: any): void;
174
174
  updateFilteredFiles(): void;
@@ -213,6 +213,14 @@
213
213
  * Draws a circular icon button.
214
214
  */
215
215
  circle?: boolean;
216
+ /**
217
+ * Marks this button as a toggle control and reflects its state via `aria-pressed`. Leave unset for buttons that are not toggles (the default `role="button"` stays unchanged either way).
218
+ */
219
+ pressed?: boolean;
220
+ /**
221
+ * Overrides the button's tabindex (e.g. for a roving-tabindex toolbar). Leave unset to keep the default behavior: `0` when enabled, `-1` when `disabled` or `loading`. Attribute is `tab-index` (not the derived `tab-index-value`) to mirror the native `tabindex` attribute.
222
+ */
223
+ tabIndexValue?: number;
216
224
  /**
217
225
  * Make localization attributes reactive eslint-disable-next-line lit/no-native-attributes
218
226
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "3.0.0",
4
+ "version": "3.1.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {