@orangelogic/design-system 2.142.0 → 2.144.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/validation.worker-D3_lxKZ_.js +1 -0
- package/library/chunks/{AxisLabelRadial.C4AH2ZWx.js → AxisLabelRadial.BVjTmOAK.js} +1 -1
- package/library/chunks/{BaseColumnSeries.BV8sY1Da.js → BaseColumnSeries.CBs_QAAc.js} +1 -1
- package/library/chunks/{CandlestickSeries.C8BE8OT-.js → CandlestickSeries.Cx0wpT9T.js} +2 -2
- package/library/chunks/{Circle.BaJWdg6Z.js → Circle.CPg-MUlK.js} +1 -1
- package/library/chunks/{ColumnSeries.BGUw3nLY.js → ColumnSeries.CGSxIqPG.js} +2 -2
- package/library/chunks/{EditableAxisLabel.CsgqEVmA.js → EditableAxisLabel.BE0SAubP.js} +2 -2
- package/library/chunks/{EditableLabel.gd9mjKfA.js → EditableLabel.L5NEdtkw.js} +1 -1
- package/library/chunks/{Gradient.Sa3COx_2.js → Gradient.oQ6wJQll.js} +1 -1
- package/library/chunks/{LinearGradient.BM0pPmvI.js → LinearGradient.CEimwU0Q.js} +2 -2
- package/library/chunks/{Picture.DVyGQOmS.js → Picture.BfLKhIYn.js} +1 -1
- package/library/chunks/{Polygon.Du2DRvxU.js → Polygon.iNK22k_h.js} +1 -1
- package/library/chunks/{ProgressPie.D3FRfVo5.js → ProgressPie.Bcqzaeqx.js} +5 -5
- package/library/chunks/{RadialLabel.Dgipjivh.js → RadialLabel.a3toiXax.js} +1 -1
- package/library/chunks/{Scrollbar.BDbLJ_xZ.js → Scrollbar.CAoY7xcW.js} +1 -1
- package/library/chunks/{Slice.BIXpM75a.js → Slice.DLvisUPP.js} +1 -1
- package/library/chunks/{Slider.BZNFS2HS.js → Slider.syeHIyBN.js} +1 -1
- package/library/chunks/{SpriteResizer.awVrrc-n.js → SpriteResizer.BDWAslnu.js} +1 -1
- package/library/chunks/{Triangle.DW7bUiPK.js → Triangle.adLo6odq.js} +1 -1
- package/library/chunks/{ZoomTools.CSBkRpSo.js → ZoomTools.4NFU6RVT.js} +1 -1
- package/library/chunks/{_baseIteratee.DpzDid58.js → _baseIteratee.CzjK3VFY.js} +12 -12
- package/library/chunks/{_baseUniq.HFKneygy.js → _baseUniq.CoXu-orP.js} +1 -1
- package/library/chunks/_baseXor.DRclcoaa.js +116 -0
- package/library/chunks/{am-chart.sBfZlJdc.js → am-chart.Bf-o9SaR.js} +252 -252
- package/library/chunks/{animation.hpY88RxG.js → animation.BSFdTpqz.js} +1 -1
- package/library/chunks/{asset-link-format.Du63EIst.js → asset-link-format.D6XVEha7.js} +12 -12
- package/library/chunks/{button.C6-GrLyD.js → button.Bx7AnUu4.js} +4 -4
- package/library/chunks/button.styles.svc2lIwC.js +5 -0
- package/library/chunks/{capitalize.i-sHIcnm.js → capitalize.DKzUtjlF.js} +1 -1
- package/library/chunks/{checkbox.i5dgRvaf.js → checkbox.aQnF4Zc3.js} +2 -2
- package/library/chunks/{color-swatch-group.BqJHjmG5.js → color-swatch-group.DORzYTrn.js} +5555 -4103
- package/library/chunks/{color-swatch.DimFgBSf.js → color-swatch.Pczcitrc.js} +34 -34
- package/library/chunks/{colorPicker.r8zsh6Oj.js → colorPicker.fDJa_Rz5.js} +5 -5
- package/library/chunks/{confirm-popover.CTdjw4Mi.js → confirm-popover.DLb5agj9.js} +4 -4
- package/library/chunks/{content-builder.BGzxZUgi.js → content-builder.DZRw6hpX.js} +14 -12
- package/library/chunks/dialog.B1uHEUsi.js +1820 -0
- package/library/chunks/{document-viewer.DQXvmHvo.js → document-viewer.PHoFv8xz.js} +1461 -1415
- package/library/chunks/{dot-pagination.CoG0XmAq.js → dot-pagination.171qk-p2.js} +2 -2
- package/library/chunks/{endpoints.ASL1clzd.js → endpoints.Bn_YviaU.js} +1 -1
- package/library/chunks/{exporting.B3VErmmW.js → exporting.Co0vJIff.js} +2 -2
- package/library/chunks/{flow.gWPD-GN_.js → flow.0ah2v6L5.js} +5 -5
- package/library/chunks/{folder-select.BudMvcEM.js → folder-select.COFTAu2f.js} +7 -7
- package/library/chunks/{gantt.D_6T9w75.js → gantt.CPSE8Grs.js} +8 -8
- package/library/chunks/{header.zCbb-t6m.js → header.DP4ZGEwN.js} +35 -35
- package/library/chunks/{hierarchy.BeJLXp9N.js → hierarchy.Dlq2MwWz.js} +5 -5
- package/library/chunks/{hub-connection.Dri0ZNfh.js → hub-connection.CIUZJBdQ.js} +1 -1
- package/library/chunks/{i18n.DeUAP8n2.js → i18n.DYXys45m.js} +17 -3
- package/library/chunks/{icon-button.LhIEmHNF.js → icon-button.B0L-_zT9.js} +2 -2
- package/library/chunks/{icon.DnBh6-56.js → icon.CsF1BoUl.js} +1 -1
- package/library/chunks/{iframe.c0IPEUiJ.js → iframe._3_Z5IJc.js} +7 -7
- package/library/chunks/{image.B3vsXGrN.js → image.DVbY2O89.js} +3 -3
- package/library/chunks/{index.CnBD7_1u.js → index.q6xCNzcK.js} +17 -17
- package/library/chunks/{input.ClJ4MEsk.js → input.CSI9KLz7.js} +3 -3
- package/library/chunks/{json.BTCD_bjV.js → json.lgvYjT5K.js} +3 -3
- package/library/chunks/{map.HWubaOh9.js → map.Cz4qZnZB.js} +2 -2
- package/library/chunks/{option.n6PDuSs1.js → option.BweUpygr.js} +4 -4
- package/library/chunks/{pagination.CNeaChqP.js → pagination.CyY982g0.js} +7 -7
- package/library/chunks/{percent.0CeOGNP1.js → percent.TSAQO6y8.js} +3 -3
- package/library/chunks/{radar.CDUzjkcg.js → radar.mnUjkEJF.js} +4 -4
- package/library/chunks/{sliceGrouper.nPe6eWIh.js → sliceGrouper.B9Hml2R8.js} +1 -1
- package/library/chunks/{stock.CmWtnkxv.js → stock.CSGPjDQK.js} +9 -9
- package/library/chunks/{tab-group.COQGzlw4.js → tab-group.BJImZf-n.js} +4 -4
- package/library/chunks/{timeline.DDCHQ84a.js → timeline.CzbNFkA3.js} +5 -5
- package/library/chunks/{toString.CAY8lys2.js → toString.bJgZMf_C.js} +1 -1
- package/library/chunks/{toast.Bz-j7zP2.js → toast.NfNkPs5d.js} +4 -4
- package/library/chunks/{tree.DeIv5gWv.js → tree.CvxvKWUm.js} +176 -159
- package/library/chunks/typography.IqHbnd3C.js +52 -0
- package/library/chunks/{venn.BZgn9wxo.js → venn.Cq0RJAER.js} +1 -1
- package/library/chunks/{watch.CThbualB.js → watch.K-dbDP6P.js} +111 -110
- package/library/chunks/{wc.BUEDSaz-.js → wc.Cae1yJ4l.js} +1 -1
- package/library/chunks/{xy.Wbux-yPv.js → xy.CseMLD2I.js} +10 -10
- package/library/components/alert.js +3 -3
- package/library/components/am-chart.js +2 -2
- package/library/components/animated-image.js +2 -2
- package/library/components/animation.js +2 -2
- package/library/components/array-line-clamp.js +1 -1
- package/library/components/asset-link-format.js +5 -5
- package/library/components/atoms.js +21 -21
- package/library/components/audio.js +4 -4
- package/library/components/avatar.js +2 -2
- package/library/components/border-input-group.js +2 -2
- package/library/components/breadcrumb-item.js +1 -1
- package/library/components/breadcrumb.js +2 -2
- package/library/components/button.js +5 -5
- package/library/components/checkbox.js +3 -3
- package/library/components/color-picker.js +5 -5
- package/library/components/color-swatch-group.js +7 -7
- package/library/components/color-swatch.js +4 -4
- package/library/components/confirm-popover.js +5 -5
- package/library/components/copy-button.js +3 -3
- package/library/components/corner-position-input-group.js +3 -3
- package/library/components/date-calendar.js +1 -1
- package/library/components/details.js +32 -32
- package/library/components/dialog.js +5 -6
- package/library/components/diff.js +1 -1
- package/library/components/divider.js +1 -1
- package/library/components/document-viewer.js +5 -5
- package/library/components/dot-pagination.js +3 -3
- package/library/components/drawer.js +4 -4
- package/library/components/dropdown.js +3 -3
- package/library/components/dynamic-select.js +7 -7
- package/library/components/e-chart.js +2 -2
- package/library/components/element-clamp.js +3 -3
- package/library/components/file-on-demand.js +1872 -36
- package/library/components/folder-select.js +7 -7
- 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 +2 -2
- package/library/components/grid-item.js +1 -1
- package/library/components/header.js +3 -3
- package/library/components/hub-connection.js +2 -2
- package/library/components/icon-button.js +3 -3
- package/library/components/icon.js +2 -2
- package/library/components/iframe.js +3 -3
- package/library/components/image-comparer.js +3 -3
- package/library/components/image.js +4 -4
- package/library/components/include.js +1 -1
- package/library/components/input.js +4 -4
- package/library/components/line-clamp.js +1 -1
- package/library/components/markdown.js +1 -1
- package/library/components/masonry.js +3 -3
- package/library/components/menu-item.js +3 -3
- package/library/components/menu.js +1 -1
- package/library/components/molecules.js +3 -3
- package/library/components/mutation-observer.js +1 -1
- package/library/components/option.js +4 -4
- package/library/components/organisms.js +6 -6
- package/library/components/padding-input-group.js +1 -1
- package/library/components/pagination.js +8 -8
- 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/qr-code.js +1 -1
- package/library/components/radio-button.js +2 -2
- package/library/components/radio-card.js +1 -1
- package/library/components/radio-group.js +1 -1
- package/library/components/radio.js +2 -2
- package/library/components/range.js +2 -2
- package/library/components/rating.js +3 -3
- package/library/components/relative-time.js +1 -1
- package/library/components/resize-observer.js +1 -1
- package/library/components/select.js +5 -5
- package/library/components/shadow-input-group.js +1 -1
- package/library/components/share-option-list.js +4 -4
- package/library/components/sidebar.js +3 -3
- package/library/components/size-input-group.js +4 -4
- package/library/components/spinner.js +1 -1
- package/library/components/split-panel.js +2 -2
- package/library/components/step.js +1 -1
- package/library/components/stepper-wizard.js +1 -1
- package/library/components/stepper.js +1 -1
- package/library/components/switch.js +2 -2
- package/library/components/tab-group.js +5 -5
- package/library/components/tab-panel.js +1 -1
- package/library/components/tab.js +6 -6
- package/library/components/tag.js +2 -2
- package/library/components/textarea.js +1 -1
- package/library/components/timecode.js +2 -2
- package/library/components/tooltip.js +3 -3
- package/library/components/tree-item.js +5 -5
- package/library/components/tree.js +3 -3
- package/library/components/typeface.js +9 -9
- package/library/components/types.js +27448 -27787
- package/library/components/typography.js +1 -1
- package/library/components/video.js +3 -3
- package/library/css/ol-base.css +3 -3
- package/library/package.json +1 -1
- package/library/packages/atoms/src/components/header/header.d.ts +1 -1
- package/library/packages/atoms/src/components/tree/tree.d.ts +13 -0
- package/library/packages/events/src/cx-board-change.d.ts +12 -0
- package/library/packages/events/src/cx-board-selected-change.d.ts +10 -0
- package/library/packages/events/src/cx-font-picker-change.d.ts +9 -0
- package/library/packages/events/src/cx-multi-select-change.d.ts +11 -0
- package/library/packages/events/src/cx-multi-select-configure.d.ts +8 -0
- package/library/packages/events/src/cx-table-column-editor-apply.d.ts +8 -0
- package/library/packages/events/src/cx-table-column-editor-cancel.d.ts +6 -0
- package/library/packages/events/src/cx-table-column-visibility-change.d.ts +9 -0
- package/library/packages/events/src/cx-table-columns-change.d.ts +8 -0
- package/library/packages/events/src/cx-table-edit-columns.d.ts +8 -0
- package/library/packages/events/src/cx-table-header-menu-close.d.ts +6 -0
- package/library/packages/events/src/cx-table-header-menu-select.d.ts +11 -0
- package/library/packages/events/src/events.d.ts +12 -0
- package/library/packages/hybrid/book-reader/src/react/constant.d.ts +1 -0
- package/library/packages/hybrid/book-reader/src/react/hooks/useBookEvents.d.ts +1 -1
- package/library/packages/hybrid/book-reader/src/react/hooks/useRestoreFocusOnClose.d.ts +8 -0
- package/library/packages/hybrid/table-core/src/table/components/index.d.ts +2 -0
- package/library/packages/hybrid/table-core/src/table/components/table-column-editor/table-column-editor.d.ts +45 -0
- package/library/packages/hybrid/table-core/src/table/components/table-column-editor/table-column-editor.styles.d.ts +2 -0
- package/library/packages/hybrid/table-core/src/table/components/table-header-menu/table-header-menu.d.ts +55 -0
- package/library/packages/hybrid/table-core/src/table/components/table-header-menu/table-header-menu.styles.d.ts +2 -0
- package/library/packages/hybrid/table-core/src/table/controllers/filter-controller.d.ts +10 -0
- package/library/packages/hybrid/table-core/src/table/controllers/select-all-controller.d.ts +12 -0
- package/library/packages/hybrid/table-core/src/table/table.d.ts +54 -1
- package/library/packages/molecules/src/font-picker/font-picker.d.ts +74 -0
- package/library/packages/molecules/src/font-picker/font-picker.styles.d.ts +2 -0
- package/library/packages/molecules/src/index.d.ts +1 -0
- package/library/packages/molecules/src/multi-select/components/board/board.d.ts +39 -14
- package/library/packages/molecules/src/multi-select/components/board-list-item/board-list-item.d.ts +1 -10
- package/library/packages/molecules/src/multi-select/multi-select.d.ts +7 -15
- package/library/packages/organisms/src/content-builder/components/config-form/config-form-controller.d.ts +2 -0
- package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +2 -1
- package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +5 -0
- package/library/packages/organisms/src/content-builder/configs/accordion.d.ts +2 -2
- package/library/packages/organisms/src/content-builder/configs/button.d.ts +2 -2
- package/library/packages/organisms/src/content-builder/configs/color-swatches.d.ts +3 -2
- package/library/packages/organisms/src/content-builder/configs/font-kit.d.ts +2 -2
- package/library/packages/organisms/src/content-builder/configs/header.d.ts +4 -4
- package/library/packages/organisms/src/content-builder/configs/text.d.ts +2 -2
- package/library/packages/organisms/src/content-builder/configs-controller.d.ts +4 -2
- package/library/packages/organisms/src/content-builder/content-builder.d.ts +6 -0
- package/library/packages/organisms/src/content-builder/content-builder.utils.d.ts +26 -0
- package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/components/rte-bubble-menu/rte-bubble-menu.d.ts +1 -1
- package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/constant.d.ts +2 -2
- package/library/packages/organisms/src/content-builder/styleController.d.ts +21 -2
- package/library/packages/services/src/api/endpoints.d.ts +1 -0
- package/library/packages/services/src/api/teamspace/teamspace.d.ts +2 -0
- package/library/packages/types/src/content-builder.d.ts +14 -1
- package/library/packages/types/src/font-picker.d.ts +21 -0
- package/library/packages/types/src/table-column-editor.d.ts +12 -0
- package/library/packages/types/src/table.d.ts +14 -0
- package/library/packages/utils/src/custom-element/i18n.d.ts +14 -0
- package/library/packages/utils/src/font/font.d.ts +16 -0
- package/library/react-web-component.d.ts +71 -5
- package/library/utils.js +258 -242
- package/package.json +1 -1
- package/library/assets/validation.worker-Dc_pkZlD.js +0 -1
- package/library/chunks/button.styles.Cz4EELcL.js +0 -5
- package/library/chunks/dialog.C79Kd2S4.js +0 -379
- package/library/chunks/file-on-demand.Bve3SdQJ.js +0 -1985
- package/library/chunks/overlayscrollbars.BMav4RQ4.js +0 -1445
- package/library/chunks/typography.DJC_UXgs.js +0 -52
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../chunks/lib-cortex-element.CVMmyPMC.js";
|
|
2
2
|
import "../chunks/component.styles.CRO4Odto.js";
|
|
3
|
-
import { C as a } from "../chunks/typography.
|
|
3
|
+
import { C as a } from "../chunks/typography.IqHbnd3C.js";
|
|
4
4
|
import "../chunks/custom-element.L4WJXn1j.js";
|
|
5
5
|
import "../chunks/lit-element.jLBm65_O.js";
|
|
6
6
|
export {
|
|
@@ -1,14 +1,14 @@
|
|
|
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.DVbY2O89.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.
|
|
11
|
-
import { w as Ki } from "../chunks/watch.
|
|
10
|
+
import { L as kb } from "../chunks/i18n.DYXys45m.js";
|
|
11
|
+
import { w as Ki } from "../chunks/watch.K-dbDP6P.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";
|
|
14
14
|
import { r as yn } from "../chunks/state.CSDxrqLd.js";
|
package/library/css/ol-base.css
CHANGED
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
*/
|
|
83
83
|
|
|
84
84
|
/* Buttons */
|
|
85
|
-
--cx-button-border-radius-large : var(--cx-border-radius-
|
|
86
|
-
--cx-button-border-radius-medium : var(--cx-border-radius-
|
|
87
|
-
--cx-button-border-radius-small : var(--cx-border-radius-
|
|
85
|
+
--cx-button-border-radius-large : var(--cx-border-radius-large);
|
|
86
|
+
--cx-button-border-radius-medium : var(--cx-border-radius-large);
|
|
87
|
+
--cx-button-border-radius-small : var(--cx-border-radius-large);
|
|
88
88
|
--cx-button-font-size-large : var(--cx-font-size-medium);
|
|
89
89
|
--cx-button-font-size-medium : var(--cx-font-size-small);
|
|
90
90
|
--cx-button-font-size-small : var(--cx-font-size-x-small);
|
package/library/package.json
CHANGED
|
@@ -71,7 +71,7 @@ export default class CxHeader extends CortexElement {
|
|
|
71
71
|
addSlotElement(): void;
|
|
72
72
|
handleHeadingChange(): void;
|
|
73
73
|
private handleCopyButtonClick;
|
|
74
|
-
renderHeading(
|
|
74
|
+
renderHeading(): TemplateResult;
|
|
75
75
|
render(): TemplateResult;
|
|
76
76
|
}
|
|
77
77
|
declare global {
|
|
@@ -114,6 +114,19 @@ export default class CxTree extends CortexElement {
|
|
|
114
114
|
private handleKeyDown;
|
|
115
115
|
private handleClick;
|
|
116
116
|
handleMouseDown(event: MouseEvent): void;
|
|
117
|
+
/**
|
|
118
|
+
* A `mousedown` whose real, non-retargeted origin (`composedPath()[0]`) is
|
|
119
|
+
* the tree host itself is only reachable by clicking the host's own
|
|
120
|
+
* scrollbar/gutter — shadow content otherwise fills the box, so a content
|
|
121
|
+
* click's real origin is always a descendant. The browser's default action
|
|
122
|
+
* for that mousedown focuses the host, and since the host is itself the
|
|
123
|
+
* scrollable element (`overflow: auto`), focusing it resets its own
|
|
124
|
+
* scrollTop natively — before any of our JS runs, so `preventScroll` on a
|
|
125
|
+
* later `this.focusItem(...)` call can't undo it. Cancel that default
|
|
126
|
+
* action outright; it doesn't affect the scrollbar's own drag/track
|
|
127
|
+
* behavior, only whether the mousedown also focuses the element.
|
|
128
|
+
*/
|
|
129
|
+
private handleHostMouseDown;
|
|
117
130
|
private handleFocusOut;
|
|
118
131
|
private handleFocusIn;
|
|
119
132
|
private expandToItem;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CxBoardChangeEvent = CustomEvent<{
|
|
2
|
+
id: string;
|
|
3
|
+
isMultiDrag?: boolean;
|
|
4
|
+
items: string[];
|
|
5
|
+
newIndex?: number;
|
|
6
|
+
type: string;
|
|
7
|
+
}>;
|
|
8
|
+
declare global {
|
|
9
|
+
interface GlobalEventHandlersEventMap {
|
|
10
|
+
'cx-board-change': CxBoardChangeEvent;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BoardItem } from '../../types/src/board';
|
|
2
|
+
|
|
3
|
+
export type CxMultiSelectChangeEvent = CustomEvent<{
|
|
4
|
+
id: string;
|
|
5
|
+
items: BoardItem[];
|
|
6
|
+
}>;
|
|
7
|
+
declare global {
|
|
8
|
+
interface GlobalEventHandlersEventMap {
|
|
9
|
+
'cx-multi-select-change': CxMultiSelectChangeEvent;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TableHeaderMenuAction } from '../../types/src/table';
|
|
2
|
+
|
|
3
|
+
export type CxTableHeaderMenuSelectEvent = CustomEvent<{
|
|
4
|
+
action: TableHeaderMenuAction;
|
|
5
|
+
field: string;
|
|
6
|
+
}>;
|
|
7
|
+
declare global {
|
|
8
|
+
interface GlobalEventHandlersEventMap {
|
|
9
|
+
'cx-table-header-menu-select': CxTableHeaderMenuSelectEvent;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -23,6 +23,8 @@ export * from './cx-bento-range-change';
|
|
|
23
23
|
export * from './cx-bento-resize';
|
|
24
24
|
export * from './cx-bicolor-picker-change';
|
|
25
25
|
export * from './cx-blur';
|
|
26
|
+
export * from './cx-board-change';
|
|
27
|
+
export * from './cx-board-selected-change';
|
|
26
28
|
export * from './cx-book-reader-event';
|
|
27
29
|
export * from './cx-border-input-group-change';
|
|
28
30
|
export * from './cx-cancel';
|
|
@@ -83,6 +85,7 @@ export * from './cx-focus';
|
|
|
83
85
|
export * from './cx-folder-select-children-loaded';
|
|
84
86
|
export * from './cx-folder-select-search-term-change';
|
|
85
87
|
export * from './cx-folder-select-selection-seeded';
|
|
88
|
+
export * from './cx-font-picker-change';
|
|
86
89
|
export * from './cx-gallery-chunk-request';
|
|
87
90
|
export * from './cx-gallery-config-save';
|
|
88
91
|
export * from './cx-gallery-item-click';
|
|
@@ -122,6 +125,8 @@ export * from './cx-marker-create';
|
|
|
122
125
|
export * from './cx-marker-delete';
|
|
123
126
|
export * from './cx-masonry-select';
|
|
124
127
|
export * from './cx-mount-request-asset';
|
|
128
|
+
export * from './cx-multi-select-change';
|
|
129
|
+
export * from './cx-multi-select-configure';
|
|
125
130
|
export * from './cx-mutation';
|
|
126
131
|
export * from './cx-open-cache-location';
|
|
127
132
|
export * from './cx-open-drive';
|
|
@@ -189,10 +194,17 @@ export * from './cx-swatch-add';
|
|
|
189
194
|
export * from './cx-tab-hide';
|
|
190
195
|
export * from './cx-tab-show';
|
|
191
196
|
export * from './cx-table-advanced-search-click';
|
|
197
|
+
export * from './cx-table-column-editor-apply';
|
|
198
|
+
export * from './cx-table-column-editor-cancel';
|
|
199
|
+
export * from './cx-table-column-visibility-change';
|
|
200
|
+
export * from './cx-table-columns-change';
|
|
192
201
|
export * from './cx-table-data-load';
|
|
193
202
|
export * from './cx-table-dropdown-filter-change';
|
|
203
|
+
export * from './cx-table-edit-columns';
|
|
194
204
|
export * from './cx-table-export';
|
|
195
205
|
export * from './cx-table-group-by-change';
|
|
206
|
+
export * from './cx-table-header-menu-close';
|
|
207
|
+
export * from './cx-table-header-menu-select';
|
|
196
208
|
export * from './cx-table-row-action-click';
|
|
197
209
|
export * from './cx-table-save-search-select';
|
|
198
210
|
export * from './cx-table-select-all-change';
|
|
@@ -60,6 +60,7 @@ export declare const API_ENDPOINT: {
|
|
|
60
60
|
SEARCH_TEXT: string;
|
|
61
61
|
};
|
|
62
62
|
export declare const MAX_WHEEL_DISTANCE = 50;
|
|
63
|
+
export declare const ARROW_KEY_SCROLL_STEP = 80;
|
|
63
64
|
export declare const PASSWORD_REASON: {
|
|
64
65
|
INCORRECT_PASSWORD: number;
|
|
65
66
|
NEED_PASSWORD: number;
|
|
@@ -9,5 +9,5 @@ type ShortcutCallback = {
|
|
|
9
9
|
onZoomOut: () => void;
|
|
10
10
|
toggleFullscreen: () => void;
|
|
11
11
|
};
|
|
12
|
-
export declare const useBookEvents: (element: HTMLDivElement | null, totalPages: number, { onNextPage, onOpenSearchBox, onPageChange, onPreviousPage, onScaleChange, onScaleOptionChange, onZoomIn, onZoomOut, toggleFullscreen, }: ShortcutCallback) => void;
|
|
12
|
+
export declare const useBookEvents: (element: HTMLDivElement | null, totalPages: number, { onNextPage, onOpenSearchBox, onPageChange, onPreviousPage, onScaleChange, onScaleOptionChange, onZoomIn, onZoomOut, toggleFullscreen, }: ShortcutCallback, scrollElement?: HTMLElement | null) => void;
|
|
13
13
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a ref for the control that opened a panel/menu (e.g. the search or sidebar toggle).
|
|
3
|
+
* When `open` flips from true to false (the panel just closed), focus is returned to that control
|
|
4
|
+
* so keyboard users keep their place instead of losing focus to the body
|
|
5
|
+
* (WCAG 2.4.3 Focus Order / 2.4.7 Focus Visible).
|
|
6
|
+
*/
|
|
7
|
+
export declare const useRestoreFocusOnClose: <T extends HTMLElement>(open: boolean) => import('react').RefObject<T | null>;
|
|
8
|
+
export default useRestoreFocusOnClose;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { default as CxTableColumnEditor } from './table-column-editor/table-column-editor';
|
|
1
2
|
export { default as CxTableFooter } from './table-footer/table-footer';
|
|
3
|
+
export { default as CxTableHeaderMenu } from './table-header-menu/table-header-menu';
|
|
2
4
|
export { default as CxTableRowActions } from './table-row-actions/table-row-actions';
|
|
3
5
|
export { default as CxTableToolbar } from './table-toolbar/table-toolbar';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { default as CxButton } from '../../../../../../atoms/src/components/button/button.ts';
|
|
2
|
+
import { default as CxDialog } from '../../../../../../atoms/src/components/dialog/dialog.ts';
|
|
3
|
+
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
|
|
4
|
+
import { default as CxMultiSelect } from '../../../../../../molecules/src/multi-select/multi-select.ts';
|
|
5
|
+
import { TableColumnEditorEntry } from '../../../../../../types/src/table-column-editor';
|
|
6
|
+
import { CSSResultGroup } from 'lit';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary Bulk "Edit columns" editor for `cx-table`. Opens a modal dialog containing a
|
|
10
|
+
* `cx-multi-select`: left list is available (hidden) columns, right list is visible columns,
|
|
11
|
+
* reorderable via drag. Frozen columns are shown locked and pinned first in the visible list.
|
|
12
|
+
*
|
|
13
|
+
* @event {{ visibleFields: string[] }} cx-table-column-editor-apply - Emitted when the user confirms a new visible column set/order.
|
|
14
|
+
* @event cx-table-column-editor-cancel - Emitted when the user dismisses the editor without applying.
|
|
15
|
+
*/
|
|
16
|
+
export default class CxTableColumnEditor extends CortexElement {
|
|
17
|
+
static readonly styles: CSSResultGroup;
|
|
18
|
+
static readonly dependencies: {
|
|
19
|
+
'cx-button': typeof CxButton;
|
|
20
|
+
'cx-dialog': typeof CxDialog;
|
|
21
|
+
'cx-multi-select': typeof CxMultiSelect;
|
|
22
|
+
};
|
|
23
|
+
private readonly localize;
|
|
24
|
+
private readonly dialogEl;
|
|
25
|
+
/** Whether the editor dialog is open. */
|
|
26
|
+
open: boolean;
|
|
27
|
+
/** Snapshot of columns (in current render order) to edit. Set by `cx-table`. */
|
|
28
|
+
entries: TableColumnEditorEntry[];
|
|
29
|
+
private firstColumnData;
|
|
30
|
+
private secondColumnData;
|
|
31
|
+
/** Current order of the visible ("selected") board, including frozen fields. */
|
|
32
|
+
private visibleFields;
|
|
33
|
+
private get canApply();
|
|
34
|
+
handleEntriesChange(): void;
|
|
35
|
+
private handleMultiSelectChange;
|
|
36
|
+
private handleApply;
|
|
37
|
+
private handleCancel;
|
|
38
|
+
private handleDialogRequestClose;
|
|
39
|
+
render(): import('lit').TemplateResult<1>;
|
|
40
|
+
}
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
'cx-table-column-editor': CxTableColumnEditor;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { default as CxIcon } from '../../../../../../atoms/src/components/icon/icon.ts';
|
|
2
|
+
import { default as CxMenu } from '../../../../../../atoms/src/components/menu/menu.ts';
|
|
3
|
+
import { default as CxMenuItem } from '../../../../../../atoms/src/components/menu-item/menu-item.ts';
|
|
4
|
+
import { default as CxPopup } from '../../../../../../atoms/src/components/popup/popup.ts';
|
|
5
|
+
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
|
|
6
|
+
import { CSSResultGroup } from 'lit';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary Right-click context menu for `cx-table` column headers, offering "Edit columns" (extension point) and
|
|
10
|
+
* "Hide column" actions.
|
|
11
|
+
*
|
|
12
|
+
* @description Anchored to the cursor position via a `VirtualElement`. Dismisses on outside click, a second
|
|
13
|
+
* right-click outside the menu, or `Escape`.
|
|
14
|
+
*
|
|
15
|
+
* @event {{ action: TableHeaderMenuAction, field: string }} cx-table-header-menu-select - Emitted when a menu item is selected.
|
|
16
|
+
* @event cx-table-header-menu-close - Emitted when the menu should be closed (outside interaction or Escape).
|
|
17
|
+
*/
|
|
18
|
+
export default class CxTableHeaderMenu extends CortexElement {
|
|
19
|
+
static readonly styles: CSSResultGroup;
|
|
20
|
+
static readonly dependencies: {
|
|
21
|
+
'cx-icon': typeof CxIcon;
|
|
22
|
+
'cx-menu': typeof CxMenu;
|
|
23
|
+
'cx-menu-item': typeof CxMenuItem;
|
|
24
|
+
'cx-popup': typeof CxPopup;
|
|
25
|
+
};
|
|
26
|
+
private readonly localize;
|
|
27
|
+
private readonly virtualAnchor;
|
|
28
|
+
private readonly firstMenuItem;
|
|
29
|
+
/** Whether the menu is open. */
|
|
30
|
+
open: boolean;
|
|
31
|
+
/** The cursor's x position (viewport coordinates) the menu is anchored to. */
|
|
32
|
+
pointX: number;
|
|
33
|
+
/** The cursor's y position (viewport coordinates) the menu is anchored to. */
|
|
34
|
+
pointY: number;
|
|
35
|
+
/** The field of the column the menu was opened for. */
|
|
36
|
+
field: string;
|
|
37
|
+
/** Disables the "Hide column" item, e.g. when only one visible data column remains. */
|
|
38
|
+
hideDisabled: boolean;
|
|
39
|
+
constructor();
|
|
40
|
+
connectedCallback(): void;
|
|
41
|
+
disconnectedCallback(): void;
|
|
42
|
+
handleOpenChange(): void;
|
|
43
|
+
private handlePopupOpened;
|
|
44
|
+
private removeDocumentListeners;
|
|
45
|
+
private handleDocumentMouseDown;
|
|
46
|
+
private handleDocumentKeyDown;
|
|
47
|
+
private emitClose;
|
|
48
|
+
private handleMenuSelect;
|
|
49
|
+
render(): import('lit').TemplateResult<1>;
|
|
50
|
+
}
|
|
51
|
+
declare global {
|
|
52
|
+
interface HTMLElementTagNameMap {
|
|
53
|
+
'cx-table-header-menu': CxTableHeaderMenu;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -20,10 +20,20 @@ export declare class FilterController implements ReactiveController {
|
|
|
20
20
|
private readonly host;
|
|
21
21
|
private readonly filters;
|
|
22
22
|
private isConnected;
|
|
23
|
+
/**
|
|
24
|
+
* The filter set last pushed to Tabulator. Used to skip redundant `setFilter`
|
|
25
|
+
* calls: in remote filter mode every `setFilter` forces a server reload
|
|
26
|
+
* (`userSetFilter` → `refreshFilter` → `reloadData`), so re-applying an
|
|
27
|
+
* identical set — the empty no-op on `tableBuilt`, or the repeated sync calls
|
|
28
|
+
* fired during build — causes a duplicate fetch and a visible re-render.
|
|
29
|
+
* Compared with lodash `isEqual` (deep) rather than a serialized key.
|
|
30
|
+
*/
|
|
31
|
+
private lastAppliedFilters;
|
|
23
32
|
constructor(host: ReactiveControllerHost & CxTable);
|
|
24
33
|
hostConnected(): void;
|
|
25
34
|
hostDisconnected(): void;
|
|
26
35
|
hostUpdated(): void;
|
|
36
|
+
resetAppliedFilterBaseline(): void;
|
|
27
37
|
/**
|
|
28
38
|
* Set filters for a specific source, replacing any existing filters for that source.
|
|
29
39
|
* @param source - The filter source identifier
|
|
@@ -49,6 +49,18 @@ export declare class SelectAllController implements ReactiveController {
|
|
|
49
49
|
private handleDataLoading;
|
|
50
50
|
private handleRowSelectionChanged;
|
|
51
51
|
private handleDataLoaded;
|
|
52
|
+
/**
|
|
53
|
+
* Row count for select-all mode. With remote pagination only the current page
|
|
54
|
+
* is in memory, so the count is derived from the server total:
|
|
55
|
+
* `totalCount − explicitly-deselected`. When the full dataset is in memory
|
|
56
|
+
* (local, or ajax without pagination), it is the number of rows actually
|
|
57
|
+
* selected (`fallbackSelectedCount`), which naturally excludes
|
|
58
|
+
* disabled/non-selectable rows since those are never selected.
|
|
59
|
+
*
|
|
60
|
+
* Also falls back to `fallbackSelectedCount` when the server total has not
|
|
61
|
+
* loaded yet (`remoteTotalCount === 0`), so the count never goes negative.
|
|
62
|
+
*/
|
|
63
|
+
private getSelectAllCount;
|
|
52
64
|
private clearTabulatorSelection;
|
|
53
65
|
private purgeStaleSelectedRows;
|
|
54
66
|
private findDisabledFn;
|
|
@@ -14,7 +14,7 @@ import { DateFilterCompareFormat, HoverMenuOptions, HttpMethod, PaginationPlacem
|
|
|
14
14
|
import { SavedSearchItem, TableDropdownFilterData, TableGroupByOption } from '../../../../types/src/table-toolbar';
|
|
15
15
|
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
16
16
|
import { RowComponent, TabulatorFull as Tabulator } from '../tabulator-tables';
|
|
17
|
-
import { CxTableFooter, CxTableRowActions, CxTableToolbar } from './components';
|
|
17
|
+
import { CxTableColumnEditor, CxTableFooter, CxTableHeaderMenu, CxTableRowActions, CxTableToolbar } from './components';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @summary Tables are used to display data in a structured format.
|
|
@@ -71,6 +71,8 @@ import { CxTableFooter, CxTableRowActions, CxTableToolbar } from './components';
|
|
|
71
71
|
* @event {{ url: string, format: string, rowCount: number }} cx-table-data-load - Emitted when data is successfully loaded from dataUrl.
|
|
72
72
|
* @event {{ url: string, error: unknown }} cx-table-data-load-error - Emitted when fetching or parsing data from dataUrl fails.
|
|
73
73
|
* @event {{ invalidCellCount: number, invalidCells: ICellComponent[] }} cx-table-validation-change - Emitted when the set of cells failing column `validator` rules changes (edit, load validation, or programmatic validate).
|
|
74
|
+
* @event {{ field: string, visible: boolean }} cx-table-column-visibility-change - Emitted after a column's visibility changes via the header right-click "Hide column" action.
|
|
75
|
+
* @event {{ field: string }} cx-table-edit-columns - Emitted when "Edit columns" is chosen from the header right-click menu. Extension point for a future manage-columns panel; no built-in panel is shown.
|
|
74
76
|
*/
|
|
75
77
|
export default class CxTable extends CortexElement {
|
|
76
78
|
#private;
|
|
@@ -87,7 +89,9 @@ export default class CxTable extends CortexElement {
|
|
|
87
89
|
'cx-select': typeof CxSelect;
|
|
88
90
|
'cx-space': typeof CxSpace;
|
|
89
91
|
'cx-spinner': typeof CxSpinner;
|
|
92
|
+
'cx-table-column-editor': typeof CxTableColumnEditor;
|
|
90
93
|
'cx-table-footer': typeof CxTableFooter;
|
|
94
|
+
'cx-table-header-menu': typeof CxTableHeaderMenu;
|
|
91
95
|
'cx-table-row-actions': typeof CxTableRowActions;
|
|
92
96
|
'cx-table-toolbar': typeof CxTableToolbar;
|
|
93
97
|
'cx-tooltip': typeof CxTooltip;
|
|
@@ -213,6 +217,11 @@ export default class CxTable extends CortexElement {
|
|
|
213
217
|
* The columnDefaults option allows you to set default configs for all columns in the table.
|
|
214
218
|
*/
|
|
215
219
|
columnDefaults: Partial<ColumnDefinition>;
|
|
220
|
+
/**
|
|
221
|
+
* Enables the right-click context menu on column headers, offering "Edit columns" and "Hide column" actions.
|
|
222
|
+
* Disabled by default.
|
|
223
|
+
*/
|
|
224
|
+
headerContextMenu: boolean;
|
|
216
225
|
/**
|
|
217
226
|
* Whether to display a search box
|
|
218
227
|
*/
|
|
@@ -798,10 +807,36 @@ export default class CxTable extends CortexElement {
|
|
|
798
807
|
private dataUrlRequestId;
|
|
799
808
|
/** True when facets are available — either from facet-config or from an AJAX response. Controls toolbar visibility. */
|
|
800
809
|
hasFacets: boolean;
|
|
810
|
+
/** Whether the column-header right-click context menu is open. */
|
|
811
|
+
private headerMenuOpen;
|
|
812
|
+
/** The field of the column the header context menu was opened for. */
|
|
813
|
+
private headerMenuField;
|
|
814
|
+
/** The cursor's x position (viewport coordinates) the header context menu is anchored to. */
|
|
815
|
+
private headerMenuPointX;
|
|
816
|
+
/** The cursor's y position (viewport coordinates) the header context menu is anchored to. */
|
|
817
|
+
private headerMenuPointY;
|
|
818
|
+
/** Whether "Hide column" is disabled because hiding it would leave no visible data columns. */
|
|
819
|
+
private headerMenuHideDisabled;
|
|
820
|
+
/** Whether the bulk "Edit columns" editor dialog is open. */
|
|
821
|
+
private columnEditorOpen;
|
|
822
|
+
/** Snapshot of columns (in current render order) handed to the editor when it opens. */
|
|
823
|
+
private columnEditorEntries;
|
|
801
824
|
get initialized(): boolean | undefined;
|
|
802
825
|
get searchValue(): string;
|
|
803
826
|
get isBottomPlacement(): boolean;
|
|
804
827
|
get showPaginationFooter(): boolean;
|
|
828
|
+
/**
|
|
829
|
+
* Whether data is loaded per page from the server, so only the current page's
|
|
830
|
+
* rows are in memory. True only when pagination is on AND the data source is
|
|
831
|
+
* remote — an `ajaxURL` (which forces the internal pagination mode to remote)
|
|
832
|
+
* or an explicit `paginationMode="remote"`. With pagination off, an ajax table
|
|
833
|
+
* still fetches the full dataset in one request, so this is false.
|
|
834
|
+
*
|
|
835
|
+
* Note: do not rely on `this.paginationMode` alone — the Ajax module forces the
|
|
836
|
+
* internal Tabulator option to remote without updating this Lit property, so
|
|
837
|
+
* the `ajaxURL` term is what catches the ajax case.
|
|
838
|
+
*/
|
|
839
|
+
get isRemotePagination(): boolean;
|
|
805
840
|
/**
|
|
806
841
|
* Whether pagination alone should render the toolbar. A top-placed paginator
|
|
807
842
|
* sits in the toolbar header row, and by default the empty header row is
|
|
@@ -827,6 +862,7 @@ export default class CxTable extends CortexElement {
|
|
|
827
862
|
constructor();
|
|
828
863
|
connectedCallback(): void;
|
|
829
864
|
runFirstUpdated(): void;
|
|
865
|
+
private initTableWhenSized;
|
|
830
866
|
/**
|
|
831
867
|
* All logic that needs to run when the table is built should be placed here.
|
|
832
868
|
*/
|
|
@@ -899,6 +935,23 @@ export default class CxTable extends CortexElement {
|
|
|
899
935
|
private handleTabulatorAjaxResponse;
|
|
900
936
|
private renderToolbar;
|
|
901
937
|
private renderPaginationFooter;
|
|
938
|
+
/** Opens the column-header right-click context menu, anchored to the cursor position. */
|
|
939
|
+
private handleHeaderContextMenu;
|
|
940
|
+
private handleHeaderMenuSelect;
|
|
941
|
+
private handleHeaderMenuClose;
|
|
942
|
+
private handleColumnEditorApply;
|
|
943
|
+
private handleColumnEditorCancel;
|
|
944
|
+
/** Counts visible data columns (columns with a `field`) to decide whether "Hide column" should be disabled. */
|
|
945
|
+
private getVisibleDataColumnCount;
|
|
946
|
+
/** Builds the "Edit columns" editor model from current data columns, in current render order. */
|
|
947
|
+
private getColumnEditorModel;
|
|
948
|
+
/**
|
|
949
|
+
* Applies the "Edit columns" editor result: shows/hides non-frozen data columns to match
|
|
950
|
+
* `orderedVisibleFields`, reorders them to match, then emits the public change event. Frozen
|
|
951
|
+
* columns are never hidden or moved — they stay pinned, matching the engine's own
|
|
952
|
+
* MoveColumns guard against dragging frozen columns.
|
|
953
|
+
*/
|
|
954
|
+
applyColumnEditor(orderedVisibleFields: string[]): void;
|
|
902
955
|
render(): TemplateResult;
|
|
903
956
|
}
|
|
904
957
|
declare global {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { default as CxDivider } from '../../../atoms/src/components/divider/divider.ts';
|
|
2
|
+
import { default as CxGrid } from '../../../atoms/src/components/grid/grid.ts';
|
|
3
|
+
import { default as CxGridItem } from '../../../atoms/src/components/grid-item/grid-item.ts';
|
|
4
|
+
import { default as CxMenuLabel } from '../../../atoms/src/components/menu-label/menu-label.ts';
|
|
5
|
+
import { default as CxOption } from '../../../atoms/src/components/option/option.ts';
|
|
6
|
+
import { default as CxSelect } from '../../../atoms/src/components/select/select.ts';
|
|
7
|
+
import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
|
|
8
|
+
import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
|
|
9
|
+
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
10
|
+
import { FontPickerLayout, FontTypeface, FontTypefaceGroup } from '../../../types/src/font-picker';
|
|
11
|
+
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary A picker that allows selecting a typeface and its font family variant.
|
|
15
|
+
*
|
|
16
|
+
* @event {{ family: string; style: string }} cx-font-picker-change - Emitted when the selected typeface or font family changes.
|
|
17
|
+
*
|
|
18
|
+
* @csspart base - The component's base wrapper.
|
|
19
|
+
* @csspart family - The typeface select.
|
|
20
|
+
* @csspart style - The font-family select.
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export default class CxFontPicker extends CortexElement {
|
|
24
|
+
static readonly styles: CSSResultGroup;
|
|
25
|
+
private readonly localize;
|
|
26
|
+
static readonly dependencies: {
|
|
27
|
+
'cx-divider': typeof CxDivider;
|
|
28
|
+
'cx-grid': typeof CxGrid;
|
|
29
|
+
'cx-grid-item': typeof CxGridItem;
|
|
30
|
+
'cx-menu-label': typeof CxMenuLabel;
|
|
31
|
+
'cx-option': typeof CxOption;
|
|
32
|
+
'cx-select': typeof CxSelect;
|
|
33
|
+
'cx-space': typeof CxSpace;
|
|
34
|
+
'cx-typography': typeof CxTypography;
|
|
35
|
+
};
|
|
36
|
+
/** The list of available typefaces, each containing font family variants. */
|
|
37
|
+
fontTypefaces: FontTypeface[];
|
|
38
|
+
/** The list of typeface groups, each with a label and typefaces. Takes precedence over fontTypefaces when non-empty. */
|
|
39
|
+
fontTypefaceGroups: FontTypefaceGroup[];
|
|
40
|
+
/** The selected typeface value. */
|
|
41
|
+
familyValue: string;
|
|
42
|
+
/** The selected font family value. Empty string means no family selected. */
|
|
43
|
+
styleValue: string;
|
|
44
|
+
/** Controls how the two selects are arranged. */
|
|
45
|
+
layout: FontPickerLayout;
|
|
46
|
+
/** Label text for the typeface select. */
|
|
47
|
+
labelFamily: string;
|
|
48
|
+
/** Label text for the font family select. */
|
|
49
|
+
labelStyle: string;
|
|
50
|
+
/** Marks both selects as required for form validation. */
|
|
51
|
+
required: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Single normalized representation of the input: an ungrouped `fontTypefaces`
|
|
54
|
+
* list becomes one unlabeled group, so the template has a single render path.
|
|
55
|
+
* Grouped input (`fontTypefaceGroups`) takes precedence when provided.
|
|
56
|
+
*/
|
|
57
|
+
private get typefaceGroups();
|
|
58
|
+
private get allTypefaces();
|
|
59
|
+
private get selectedTypeface();
|
|
60
|
+
private get availableFamilies();
|
|
61
|
+
/** Whether the selected typeface exposes any style/variant options. */
|
|
62
|
+
private get hasStyleOptions();
|
|
63
|
+
private handleFamilyChange;
|
|
64
|
+
private handleStyleChange;
|
|
65
|
+
private renderTypefaceOptions;
|
|
66
|
+
private renderFamilySelect;
|
|
67
|
+
private renderStyleSelect;
|
|
68
|
+
render(): TemplateResult;
|
|
69
|
+
}
|
|
70
|
+
declare global {
|
|
71
|
+
interface HTMLElementTagNameMap {
|
|
72
|
+
'cx-font-picker': CxFontPicker;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -20,6 +20,7 @@ export { default as CxFacetDateRange } from './faceted-filter/components/facet-d
|
|
|
20
20
|
export { default as CxFacetedFilter } from './faceted-filter/faceted-filter';
|
|
21
21
|
export { default as CxFacetedFilterFacet } from './faceted-filter/components/facet/facet';
|
|
22
22
|
export { default as CxFolderSelect } from './folder-select/folder-select';
|
|
23
|
+
export { default as CxFontPicker } from './font-picker/font-picker';
|
|
23
24
|
export { default as CxGalleryItem } from './gallery-item/gallery-item';
|
|
24
25
|
export { default as CxGraphView } from './graph-view/graph-view';
|
|
25
26
|
export { default as CxIconPicker } from './icon-picker/icon-picker';
|