@orangelogic/design-system 2.0.0-29DUO2-beta-3 → 2.0.0-29IORR-beta-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/library/chunks/{AxisLabelRadial.CgPb7ghO.js → AxisLabelRadial.Bs1P_q_F.js} +1 -1
- package/library/chunks/{BaseColumnSeries.B6rG-Ylz.js → BaseColumnSeries.C7jwOxIJ.js} +1 -1
- package/library/chunks/{CandlestickSeries.C-YfO-57.js → CandlestickSeries.CkXGtRWE.js} +2 -2
- package/library/chunks/{Circle.DhoXSsjo.js → Circle.DBa5Ok8V.js} +1 -1
- package/library/chunks/{ColumnSeries.CZi2LBZ2.js → ColumnSeries.DGazbfza.js} +2 -2
- package/library/chunks/{EditableAxisLabel.CykTMTsG.js → EditableAxisLabel.wN0t_G2B.js} +2 -2
- package/library/chunks/{EditableLabel.BlQ7B4D0.js → EditableLabel.BWeq6fgX.js} +1 -1
- package/library/chunks/{Gradient.BQ0JzFEe.js → Gradient.CdcsPIru.js} +1 -1
- package/library/chunks/{LinearGradient.DuVS2EHe.js → LinearGradient.B1z9AGUt.js} +2 -2
- package/library/chunks/{Picture.DRO0jnR6.js → Picture.YSPC0l0Q.js} +1 -1
- package/library/chunks/{Polygon.DEO3f_qs.js → Polygon.BwMvXN2H.js} +1 -1
- package/library/chunks/{ProgressPie.Bryx2w1J.js → ProgressPie.DlCwXN17.js} +5 -5
- package/library/chunks/{RadialLabel.TyXECvYG.js → RadialLabel.DyVOf2K8.js} +1 -1
- package/library/chunks/{Scrollbar.DK48nKk4.js → Scrollbar.BdZVb_Z-.js} +1 -1
- package/library/chunks/{Slice.DbXRplXx.js → Slice.DiEswWa6.js} +1 -1
- package/library/chunks/{Slider.B27osQYu.js → Slider.C20No2z5.js} +1 -1
- package/library/chunks/{SpriteResizer.C4wFzD_x.js → SpriteResizer.DFnmcy0h.js} +1 -1
- package/library/chunks/{Triangle.BEmFiHyd.js → Triangle.BaOef7HV.js} +1 -1
- package/library/chunks/{ZoomTools.CBqjLDqb.js → ZoomTools.D5JPehoL.js} +1 -1
- package/library/chunks/{_baseUniq.Df-fLIBx.js → _baseUniq.BUihBa8c.js} +56 -53
- package/library/chunks/{am-chart.B_OdX4Q-.js → am-chart.H2jnOzFc.js} +254 -262
- package/library/chunks/{animation.DfUHRQry.js → animation.7ifl4x2S.js} +4 -8
- package/library/chunks/array.DCtvHiLS.js +81 -0
- package/library/chunks/asset.D7E0-cUV.js +460 -0
- package/library/chunks/{button.KnE3mcyM.js → button.CauAHfdl.js} +10 -45
- package/library/chunks/button.styles.CKqn956w.js +5 -0
- package/library/chunks/{capitalize.WSkCXkNE.js → capitalize.CNStXZBq.js} +1 -1
- package/library/chunks/{color-swatch-group.p3Sdqlat.js → color-swatch-group.D5BP2W3P.js} +50 -220
- package/library/chunks/{color-swatch.C0oPHfOu.js → color-swatch.2HS4bc3N.js} +20 -204
- package/library/chunks/{colorPicker.CJwbdhtn.js → colorPicker.06n6P3aK.js} +5 -5
- package/library/chunks/component.styles.CRO4Odto.js +5 -0
- package/library/chunks/confirm-popover.DmGAMS8X.js +121 -0
- package/library/chunks/{cropper.tSDgXKqJ.js → cropper.ZU2Dy-MM.js} +8182 -8540
- package/library/chunks/{dialog.DpZBbTCn.js → dialog.2UW1LNm1.js} +117 -314
- package/library/chunks/{dom.BQVKDNd8.js → dom.BslZF2Y_.js} +1 -1
- package/library/chunks/dot-pagination.DsAfSNzr.js +204 -0
- package/library/chunks/{endpoints.B7lcoc1N.js → endpoints.Fpyb8xvv.js} +214 -203
- package/library/chunks/{exporting.DCqJtW6l.js → exporting.Chnl3UWi.js} +2 -2
- package/library/chunks/file-on-demand.Dig_iVvx.js +1956 -0
- package/library/chunks/{flow.Ch1rU01m.js → flow.D2CqFQa7.js} +5 -5
- package/library/chunks/folder-select.BT1drT8C.js +775 -0
- package/library/chunks/form-control.styles.CaGWmeAS.js +5 -0
- package/library/chunks/{form.DgwYWi0O.js → form.CFc09rKh.js} +1 -1
- package/library/chunks/{gantt.rWdF_jmG.js → gantt.DSHD2gjO.js} +8 -8
- package/library/chunks/header.BePZwMCQ.js +170 -0
- package/library/chunks/{hierarchy.HoRJAu6S.js → hierarchy.DwVsMmsP.js} +5 -5
- package/library/chunks/{hub-connection.CfARlehM.js → hub-connection.Ot2odiCz.js} +1 -1
- package/library/chunks/{i18n.C0iakJkV.js → i18n.BFqTRDCA.js} +19 -12
- package/library/chunks/icon-button.rKe0N4VB.js +149 -0
- package/library/chunks/iframe.DznmlYpV.js +73 -0
- package/library/chunks/{image.C9avagDq.js → image.CEtCGsNL.js} +275 -488
- package/library/chunks/{index.D2JPKXqq.js → index.C9khsiad.js} +17 -17
- package/library/chunks/isObjectLike.z36Fu426.js +34 -0
- package/library/chunks/{isSymbol.huJ_Cvxt.js → isSymbol.L0C2ND_U.js} +1 -1
- package/library/chunks/{json.DHNMAC-m.js → json.zyETMOw-.js} +3 -3
- package/library/chunks/{list-editor.B2mFE9f7.js → list-editor.CJ96S1Np.js} +58 -372
- package/library/chunks/{map.BHmZ4Crx.js → map.CqM2O6LB.js} +2 -2
- package/library/chunks/option.COnEtd3X.js +123 -0
- package/library/chunks/{overlayscrollbars.XhGWx9Zk.js → overlayscrollbars.BMav4RQ4.js} +252 -958
- package/library/chunks/pagination.DaD9Yul6.js +334 -0
- package/library/chunks/{percent.CM9cr1H3.js → percent.DuQwbCCg.js} +3 -3
- package/library/chunks/{radar.CQUnnhGk.js → radar.FpYl3UH5.js} +4 -4
- package/library/chunks/{responsive.CrX-HUow.js → responsive.BndCeSg0.js} +1 -1
- package/library/chunks/{sliceGrouper.iv1p8MAK.js → sliceGrouper.BsE7fGMt.js} +1 -1
- package/library/chunks/{stock.CU0y6a5P.js → stock.BR-ag4Pt.js} +9 -9
- package/library/chunks/string.BigZhczf.js +185 -0
- package/library/chunks/{tab-group.05PY0smt.js → tab-group.0Po0eoxR.js} +33 -584
- package/library/chunks/{table.DNTm_GMS.js → table.WNd284in.js} +3535 -4852
- package/library/chunks/{timeline.yzdwtGKM.js → timeline.DkzkmgEM.js} +5 -5
- package/library/chunks/{toString.CRT5zqEU.js → toString.CL_lYXbK.js} +3 -3
- package/library/chunks/toast.B2cJgW5u.js +71 -0
- package/library/chunks/transformation.CzBptarI.js +140 -0
- package/library/chunks/{tree.CeMLCbs-.js → tree.QCQd_cuc.js} +32 -400
- package/library/chunks/typography.DJC_UXgs.js +52 -0
- package/library/chunks/url.Cj9cIQXJ.js +27 -0
- package/library/chunks/{venn.BOEi13la.js → venn.D739bOV3.js} +1 -1
- package/library/chunks/watch.BCJD77bD.js +547 -0
- package/library/chunks/{wc.V-lq02JF.js → wc.DzW311D-.js} +1 -1
- package/library/chunks/{xy.Df1hy9ac.js → xy.DCRDfTsa.js} +10 -10
- package/library/components/alert.js +11 -179
- package/library/components/am-chart.js +3 -3
- package/library/components/animated-image.js +13 -101
- package/library/components/animation.js +3 -3
- package/library/components/array-line-clamp.js +8 -89
- package/library/components/asset-link-format.js +718 -1380
- package/library/components/atoms.js +18 -18
- package/library/components/avatar.js +6 -95
- package/library/components/badge.js +11 -139
- package/library/components/bicolor-picker.js +4 -23
- package/library/components/border-input-group.js +5 -26
- package/library/components/breadcrumb-item.js +25 -156
- package/library/components/breadcrumb.js +4 -22
- package/library/components/button-group.js +3 -28
- package/library/components/button.js +6 -6
- package/library/components/card.js +4 -126
- package/library/components/checkbox.js +13 -254
- package/library/components/color-picker.js +57 -728
- package/library/components/color-swatch-group.js +9 -9
- package/library/components/color-swatch.js +5 -5
- package/library/components/confirm-popover.js +6 -6
- package/library/components/copy-button.js +11 -256
- package/library/components/corner-position-input-group.js +5 -58
- package/library/components/cropper.js +2 -2
- package/library/components/details.js +6 -152
- package/library/components/dialog.js +6 -6
- package/library/components/divider.js +6 -68
- package/library/components/dot-pagination.js +4 -4
- package/library/components/dot-status.js +25 -95
- package/library/components/drawer.js +11 -242
- package/library/components/dropdown.js +49 -151
- package/library/components/dynamic-select.js +10 -75
- package/library/components/e-chart.js +8 -51
- package/library/components/element-clamp.js +7 -80
- package/library/components/file-on-demand.js +13 -13
- package/library/components/folder-select.js +9 -7
- package/library/components/format-bytes.js +1 -1
- package/library/components/format-date.js +3 -7
- package/library/components/format-number.js +1 -1
- package/library/components/format-time.js +4 -14
- package/library/components/grid-item.js +5 -172
- package/library/components/grid.js +5 -41
- package/library/components/header.js +4 -4
- package/library/components/hub-connection.js +2 -2
- package/library/components/icon-button.js +14 -679
- package/library/components/icon.js +9 -2449
- package/library/components/iframe.js +4 -4
- package/library/components/image-comparer.js +9 -129
- package/library/components/image.js +4 -4
- package/library/components/include.js +3 -7
- package/library/components/input-group.js +4 -29
- package/library/components/input.js +358 -966
- package/library/components/line-clamp.js +7 -83
- package/library/components/list-editor.js +9 -9
- package/library/components/markdown.js +2 -4
- package/library/components/masonry.js +24 -223
- package/library/components/menu-item.js +155 -445
- package/library/components/menu-label.js +3 -20
- package/library/components/menu-section.js +3 -17
- package/library/components/menu.js +5 -113
- package/library/components/molecules.js +5 -5
- package/library/components/mutation-observer.js +3 -7
- package/library/components/option.js +4 -4
- package/library/components/organisms.js +2 -2
- package/library/components/padding-input-group.js +5 -16
- package/library/components/pagination.js +10 -8
- package/library/components/popup.js +385 -682
- package/library/components/position-picker.js +4 -94
- package/library/components/progress-bar.js +19 -136
- package/library/components/progress-ring.js +4 -95
- package/library/components/qr-code.js +5 -17
- package/library/components/radio-button.js +5 -25
- package/library/components/radio-card.js +8 -176
- package/library/components/radio-group.js +22 -153
- package/library/components/radio.js +14 -171
- package/library/components/range.js +123 -660
- package/library/components/rating.js +58 -238
- package/library/components/relative-time.js +3 -13
- package/library/components/resize-observer.js +4 -8
- package/library/components/select.js +305 -1012
- package/library/components/shadow-input-group.js +5 -24
- package/library/components/share-option-list.js +21 -313
- package/library/components/sidebar.js +15 -221
- package/library/components/size-input-group.js +12 -77
- package/library/components/skeleton.js +7 -80
- package/library/components/space.js +6 -143
- package/library/components/spinner.js +7 -76
- package/library/components/split-panel.js +18 -125
- package/library/components/step.js +21 -272
- package/library/components/stepper-wizard.js +9 -43
- package/library/components/stepper.js +17 -34
- package/library/components/switch.js +13 -276
- package/library/components/tab-group.js +7 -7
- package/library/components/tab-panel.js +5 -32
- package/library/components/tab.js +11 -257
- package/library/components/table.js +8 -8
- package/library/components/tag.js +15 -166
- package/library/components/textarea.js +183 -504
- package/library/components/timecode.js +6 -25
- package/library/components/tooltip.js +10 -94
- package/library/components/tree-item.js +4 -4
- package/library/components/tree.js +4 -4
- package/library/components/typeface.js +24 -123
- package/library/components/types.js +37225 -47339
- package/library/components/typography.js +2 -2
- package/library/components/video.js +3875 -6263
- package/library/components/visually-hidden.js +3 -15
- package/library/package.json +4 -1
- package/library/packages/atoms/src/components/dialog/dialog.d.ts +10 -0
- package/library/packages/atoms/src/components/icon-button/icon-button.d.ts +2 -1
- package/library/packages/atoms/src/components/image/image.d.ts +15 -1
- package/library/packages/atoms/src/components/input/auto-grow-controller.d.ts +23 -0
- package/library/packages/atoms/src/components/input/input.d.ts +10 -2
- package/library/packages/atoms/src/components/menu-item/menu-item.d.ts +4 -0
- package/library/packages/atoms/src/components/pagination/pagination.d.ts +32 -2
- package/library/packages/atoms/src/components/popup/overlay/Overlay.d.ts +10 -0
- package/library/packages/atoms/src/components/popup/popup.d.ts +1 -1
- package/library/packages/atoms/src/components/select/select.d.ts +11 -0
- package/library/packages/atoms/src/components/table/table.d.ts +49 -8
- package/library/packages/atoms/src/components/table/tabulator-tables/core/Tabulator.d.ts +1 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/core/TabulatorFull.d.ts +1 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/core/tools/DataLoader.d.ts +3 -1
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Ajax/Ajax.d.ts +1 -1
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Edit/Edit.d.ts +1 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Edit/List.d.ts +40 -1
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Filter/Filter.d.ts +10 -3
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Filter/formatter-display-resolvers.d.ts +93 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/Group.d.ts +8 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupComponent.d.ts +3 -1
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupLoadMore.d.ts +7 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupRows.d.ts +2 -0
- package/library/packages/atoms/src/components/table/tabulator-tables/modules/Page/Page.d.ts +2 -2
- package/library/packages/atoms/src/components/textarea/textarea.d.ts +19 -4
- package/library/packages/atoms/src/components/video/video.d.ts +3 -1
- package/library/packages/events/src/cx-asset-transformation-dialog-cancel.d.ts +6 -0
- package/library/packages/events/src/cx-asset-transformation-dialog-confirm.d.ts +11 -0
- package/library/packages/events/src/cx-asset-transformation-dialog-delete.d.ts +6 -0
- package/library/packages/events/src/cx-bento-range-change.d.ts +9 -0
- package/library/packages/events/src/cx-content-builder-gallery-fetched.d.ts +10 -0
- package/library/packages/events/src/cx-lightbox-close.d.ts +6 -0
- package/library/packages/events/src/cx-lightbox-download.d.ts +11 -0
- package/library/packages/events/src/cx-unauthorized.d.ts +10 -0
- package/library/packages/events/src/cx-video-format-picker-delete.d.ts +6 -0
- package/library/packages/events/src/cx-video-format-picker-select.d.ts +8 -0
- package/library/packages/events/src/events.d.ts +11 -1
- package/library/packages/molecules/src/cropper/cropper.d.ts +2 -0
- package/library/packages/molecules/src/cropper/react/Cropper.d.ts +2 -0
- package/library/packages/molecules/src/estimated-reading-time/estimated-reading-time.d.ts +3 -2
- package/library/packages/molecules/src/folder-select/components/folder-select-tree/folder-select-tree.d.ts +26 -0
- package/library/packages/molecules/src/folder-select/components/folder-select-tree-item/folder-select-tree-item.d.ts +46 -0
- package/library/packages/molecules/src/folder-select/folder-select.d.ts +25 -0
- package/library/packages/molecules/src/index.d.ts +1 -0
- package/library/packages/molecules/src/storybook/storybook.d.ts +60 -23
- package/library/packages/molecules/src/timeline/timeline.d.ts +14 -0
- package/library/packages/molecules/src/video-format-picker/video-format-picker.d.ts +55 -0
- package/library/packages/molecules/src/video-format-picker/video-format-picker.styles.d.ts +2 -0
- package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +9 -1
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-rotation/asset-link-format-rotation.d.ts +7 -7
- package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +95 -0
- package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.styles.d.ts +2 -0
- package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +57 -26
- package/library/packages/organisms/src/bento-grid/bento-layout.d.ts +44 -0
- package/library/packages/organisms/src/carousel/carousel.d.ts +5 -1
- package/library/packages/organisms/src/comment/comment.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/components/block-picker/block-picker.d.ts +7 -0
- package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +11 -0
- package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +10 -0
- package/library/packages/organisms/src/content-builder/components/folder-picker/folder-picker.d.ts +6 -0
- package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +6 -2
- package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +6 -2
- package/library/packages/organisms/src/content-builder/configs/image.d.ts +7 -4
- package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +5 -2
- package/library/packages/organisms/src/content-builder/configs/video.d.ts +11 -2
- package/library/packages/organisms/src/content-builder/configs-controller.d.ts +45 -4
- package/library/packages/organisms/src/content-builder/content-builder.d.ts +13 -0
- package/library/packages/organisms/src/content-builder/plugins/gallery.d.ts +45 -1
- package/library/packages/organisms/src/content-builder/styleController.d.ts +20 -2
- package/library/packages/organisms/src/index.d.ts +2 -0
- package/library/packages/organisms/src/lightbox/lightbox.d.ts +79 -0
- package/library/packages/organisms/src/lightbox/lightbox.styles.d.ts +2 -0
- package/library/packages/services/src/api/asset/asset.d.ts +3 -2
- package/library/packages/services/src/api/asset/asset.types.d.ts +84 -0
- package/library/packages/services/src/api/asset/asset.utils.d.ts +9 -0
- package/library/packages/services/src/api/endpoints.d.ts +1 -1
- package/library/packages/tools/src/fetch-asset/fetch-asset.d.ts +2 -1
- package/library/packages/tools/src/fetch-image/fetch-image.d.ts +17 -5
- package/library/packages/types/src/asset-click-action.d.ts +3 -1
- package/library/packages/types/src/bento-grid.d.ts +37 -0
- package/library/packages/types/src/content-builder.d.ts +27 -1
- package/library/packages/types/src/gallery.d.ts +0 -6
- package/library/packages/types/src/icon-button.d.ts +7 -0
- package/library/packages/types/src/menu-item.d.ts +33 -0
- package/library/packages/types/src/storybook.d.ts +19 -0
- package/library/packages/types/src/table.d.ts +37 -1
- package/library/packages/types/src/textarea.d.ts +4 -0
- package/library/packages/types/src/video-format-picker.d.ts +11 -0
- package/library/packages/utils/src/actions/asset-click.d.ts +1 -3
- package/library/packages/utils/src/custom-element/i18n.d.ts +10 -3
- package/library/packages/utils/src/index.d.ts +1 -0
- package/library/packages/utils/src/string/string.d.ts +33 -0
- package/library/packages/utils/src/transformation/index.d.ts +1 -0
- package/library/packages/utils/src/url/url.d.ts +9 -0
- package/library/react-web-component.d.ts +293 -29
- package/library/utils.js +483 -178
- package/package.json +4 -1
- package/library/chunks/_baseRest.ClTMQtN1.js +0 -67
- package/library/chunks/asset.CG_yXtWK.js +0 -288
- package/library/chunks/button.styles.Dl5IQLHU.js +0 -718
- package/library/chunks/component.styles.DMSLciL5.js +0 -71
- package/library/chunks/confirm-popover.zmOFI4e-.js +0 -288
- package/library/chunks/content-builder.D_phDrlo.js +0 -127
- package/library/chunks/dot-pagination.COBkyhoJ.js +0 -325
- package/library/chunks/file-on-demand.CbE-qsiP.js +0 -3740
- package/library/chunks/folder-select.Bl_WkhVE.js +0 -844
- package/library/chunks/form-control.styles.CUGhvlfT.js +0 -67
- package/library/chunks/header.BduX6KJP.js +0 -777
- package/library/chunks/identity.ByMq8VxU.js +0 -6
- package/library/chunks/iframe.BPKV2K7z.js +0 -160
- package/library/chunks/index.B3wJT3XS.js +0 -373
- package/library/chunks/isObjectLike.D3cpZO39.js +0 -81
- package/library/chunks/option.DnpkE8Xi.js +0 -296
- package/library/chunks/pagination.C30LoTya.js +0 -341
- package/library/chunks/string.B_rEG27K.js +0 -160
- package/library/chunks/toast.BXNbwZV8.js +0 -25
- package/library/chunks/typography.oDzoLbZS.js +0 -149
- package/library/chunks/url.LjsR2sB5.js +0 -15
- package/library/chunks/watch.q1sEjPWL.js +0 -501
- /package/library/packages/{organisms/src/asset-link-format/asset-link-format.utils.d.ts → utils/src/transformation/transformation.d.ts} +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { default as CxIcon } from '../../../atoms/src/components/icon/icon.ts';
|
|
2
2
|
import { default as CxInput } from '../../../atoms/src/components/input/input.ts';
|
|
3
|
+
import { default as CxLineClamp } from '../../../atoms/src/components/line-clamp/line-clamp.ts';
|
|
3
4
|
import { default as CxSelect } from '../../../atoms/src/components/select/select.ts';
|
|
5
|
+
import { default as CxTag } from '../../../atoms/src/components/tag/tag.ts';
|
|
4
6
|
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
5
7
|
import { Folder, FolderSelectApi, FolderSelectVariant } from '../../../types/src/folder-select';
|
|
6
8
|
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
@@ -13,7 +15,9 @@ export default class CxFolderSelect extends CortexElement {
|
|
|
13
15
|
'cx-folder-select-tree': typeof CxFolderSelectTree;
|
|
14
16
|
'cx-icon': typeof CxIcon;
|
|
15
17
|
'cx-input': typeof CxInput;
|
|
18
|
+
'cx-line-clamp': typeof CxLineClamp;
|
|
16
19
|
'cx-select': typeof CxSelect;
|
|
20
|
+
'cx-tag': typeof CxTag;
|
|
17
21
|
};
|
|
18
22
|
private readonly localize;
|
|
19
23
|
selectEl?: CxSelect;
|
|
@@ -34,6 +38,7 @@ export default class CxFolderSelect extends CortexElement {
|
|
|
34
38
|
excludeVirtualFolders: boolean;
|
|
35
39
|
extraFolderId: string;
|
|
36
40
|
extraFolderTitle: string;
|
|
41
|
+
extraFolderIcon: string;
|
|
37
42
|
firstFetchCallback: ((data: Folder[]) => void) | null;
|
|
38
43
|
searchTerm: string;
|
|
39
44
|
constructor();
|
|
@@ -41,10 +46,30 @@ export default class CxFolderSelect extends CortexElement {
|
|
|
41
46
|
handleSearchTermChange(): void;
|
|
42
47
|
private handleSearchTermInputChange;
|
|
43
48
|
private handleSearchTermSelectChange;
|
|
49
|
+
private handleSelectClear;
|
|
50
|
+
/**
|
|
51
|
+
* cx-select's selectedOptions cache (which drives the tag UI in
|
|
52
|
+
* `multiple` mode) is only recomputed during its own `selectionChanged`
|
|
53
|
+
* flow — that flow doesn't run in our setup because we no-op
|
|
54
|
+
* `selectSetOptionSelected` for multi-select (cx-tree owns selection).
|
|
55
|
+
* After the tree's selection change propagates through `syncBoxes` and
|
|
56
|
+
* lands on each tree-item's `.selected`, ask cx-select to re-read its
|
|
57
|
+
* options so the rendered tag list matches.
|
|
58
|
+
*/
|
|
59
|
+
private handleTreeSelectedChange;
|
|
44
60
|
selectGetOptionValue(option: HTMLElement): string;
|
|
45
61
|
selectGetOptionLabel(option: HTMLElement): string;
|
|
46
62
|
selectGetOptionSelected(option: HTMLElement): boolean | undefined;
|
|
47
63
|
selectFilterCallback(option: HTMLElement): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Custom tag renderer for cx-select multi mode. Identical visuals to the
|
|
66
|
+
* default tag, but the X click goes through cx-tree's selection flow
|
|
67
|
+
* (`option.selected = false` → `cx-selected-change` →
|
|
68
|
+
* cx-folder-select-tree.handleSelectedChange) rather than
|
|
69
|
+
* cx-select.toggleOptionSelection (which our `selectSetOptionSelected`
|
|
70
|
+
* no-ops in multi mode, so the default X click would do nothing).
|
|
71
|
+
*/
|
|
72
|
+
selectGetTag(option: HTMLElement): TemplateResult;
|
|
48
73
|
selectSetOptionSelected(option: HTMLElement, selected: boolean): void;
|
|
49
74
|
updateFunctionProps(): void;
|
|
50
75
|
handleOpenChange(): void;
|
|
@@ -33,4 +33,5 @@ export { default as CxStepperWizard } from './stepper-wizard/stepper-wizard';
|
|
|
33
33
|
export { default as CxStorybook } from './storybook/storybook';
|
|
34
34
|
export { default as CxTimeline } from './timeline/timeline';
|
|
35
35
|
export { default as CxTypeface } from './typeface/typeface';
|
|
36
|
+
export { default as CxVideoFormatPicker } from './video-format-picker/video-format-picker';
|
|
36
37
|
export { default as CxViewAndSort } from './view-and-sort/view-and-sort';
|
|
@@ -1,56 +1,93 @@
|
|
|
1
1
|
import { default as CxButton } from '../../../atoms/src/components/button/button.ts';
|
|
2
2
|
import { default as CxCard } from '../../../atoms/src/components/card/card.ts';
|
|
3
3
|
import { default as CxCheckbox } from '../../../atoms/src/components/checkbox/checkbox.ts';
|
|
4
|
-
import { default as CxGrid } from '../../../atoms/src/components/grid/grid.ts';
|
|
5
|
-
import { default as CxGridItem } from '../../../atoms/src/components/grid-item/grid-item.ts';
|
|
6
4
|
import { default as CxIconButton } from '../../../atoms/src/components/icon-button/icon-button.ts';
|
|
7
5
|
import { default as CxInput } from '../../../atoms/src/components/input/input.ts';
|
|
8
6
|
import { default as CxMarkdown } from '../../../atoms/src/components/markdown/markdown.ts';
|
|
9
7
|
import { default as CxMutationObserver } from '../../../atoms/src/components/mutation-observer/mutation-observer.ts';
|
|
8
|
+
import { default as CxOption } from '../../../atoms/src/components/option/option.ts';
|
|
10
9
|
import { default as CxSelect } from '../../../atoms/src/components/select/select.ts';
|
|
11
|
-
import { default as
|
|
10
|
+
import { default as CxTextarea } from '../../../atoms/src/components/textarea/textarea.ts';
|
|
12
11
|
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
12
|
+
import { CxMutationEvent } from '../../../events/src/events.ts';
|
|
13
|
+
import { StorybookPropConfig } from '../../../types/src/storybook';
|
|
13
14
|
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
14
15
|
|
|
16
|
+
/**
|
|
17
|
+
* @summary A live playground that introspects a slotted Cortex component and
|
|
18
|
+
* renders editable controls for its public reactive properties and slots.
|
|
19
|
+
*
|
|
20
|
+
* @description Used in `apps/docs` pages to demonstrate components. The
|
|
21
|
+
* storybook reads `elementProperties` from the slotted target and renders a
|
|
22
|
+
* checkbox / input / select per property based on its declared `type`. Object
|
|
23
|
+
* and array properties accept JSON in the input. Function properties are
|
|
24
|
+
* intentionally **not** rendered — they cannot be expressed as text input and
|
|
25
|
+
* writing them as attributes corrupts their value (the function gets
|
|
26
|
+
* serialized to its source code string by `String(fn)`).
|
|
27
|
+
*
|
|
28
|
+
* @slot (default) - The component to demo. The first assigned element is
|
|
29
|
+
* inspected; pass `element-selector` to drill into a descendant.
|
|
30
|
+
*
|
|
31
|
+
* @csspart base - The card wrapper that hosts the demo and the controls.
|
|
32
|
+
*/
|
|
15
33
|
export default class CxStorybook extends CortexElement {
|
|
16
34
|
static readonly styles: CSSResultGroup;
|
|
17
35
|
static readonly dependencies: {
|
|
18
36
|
'cx-button': typeof CxButton;
|
|
19
37
|
'cx-card': typeof CxCard;
|
|
20
38
|
'cx-checkbox': typeof CxCheckbox;
|
|
21
|
-
'cx-grid': typeof CxGrid;
|
|
22
|
-
'cx-grid-item': typeof CxGridItem;
|
|
23
39
|
'cx-icon-button': typeof CxIconButton;
|
|
24
40
|
'cx-input': typeof CxInput;
|
|
25
41
|
'cx-markdown': typeof CxMarkdown;
|
|
26
42
|
'cx-mutation-observer': typeof CxMutationObserver;
|
|
43
|
+
'cx-option': typeof CxOption;
|
|
27
44
|
'cx-select': typeof CxSelect;
|
|
28
|
-
'cx-
|
|
45
|
+
'cx-textarea': typeof CxTextarea;
|
|
29
46
|
};
|
|
30
47
|
defaultSlot: HTMLSlotElement;
|
|
31
48
|
mutationObserver: CxMutationObserver;
|
|
49
|
+
/**
|
|
50
|
+
* CSS selector relative to the first slotted element. When set, the storybook
|
|
51
|
+
* targets the matching descendant instead of the slotted root element.
|
|
52
|
+
*/
|
|
32
53
|
elementSelector: string;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Per-property metadata used to render richer controls:
|
|
56
|
+
*
|
|
57
|
+
* - Array of strings → renders a `cx-select` with each string as an option.
|
|
58
|
+
* - Special key `slot` → an array of slot names that the user can append.
|
|
59
|
+
*/
|
|
60
|
+
storybookConfig: Record<string, string[]>;
|
|
61
|
+
/** Introspected metadata for each editable public property of the target. */
|
|
62
|
+
config: Record<string, StorybookPropConfig>;
|
|
63
|
+
/** Live values for each editable property; mirrors the target component. */
|
|
64
|
+
props: Record<string, unknown>;
|
|
65
|
+
/** The component instance being demoed (the slotted root or a descendant). */
|
|
39
66
|
target: HTMLElement | null;
|
|
67
|
+
/** User-authored slot content keyed by slot name; each entry is an HTML string. */
|
|
40
68
|
slots: Record<string, string[]>;
|
|
41
|
-
constructor();
|
|
42
|
-
private handleInputChange;
|
|
43
|
-
private handleAddSlot;
|
|
44
|
-
private handleSlotInputChange;
|
|
45
|
-
private getDefaultSlotValues;
|
|
46
|
-
private getComponentDefaultProps;
|
|
47
|
-
private updateRenderedComponent;
|
|
48
|
-
private handleAddSlotButtonClick;
|
|
49
|
-
private renderControls;
|
|
50
|
-
private handleAttributeChange;
|
|
51
69
|
connectedCallback(): void;
|
|
52
|
-
|
|
70
|
+
handleElementSelectorChange(): void;
|
|
53
71
|
handleSlotChange(): void;
|
|
72
|
+
handleAttributeChange(event: CxMutationEvent): void;
|
|
73
|
+
private resolveTargetFromSlot;
|
|
74
|
+
private introspectTargetConfig;
|
|
75
|
+
private collectExistingSlotEntries;
|
|
76
|
+
private readInitialProps;
|
|
77
|
+
private normalizePropValue;
|
|
78
|
+
private applyPropsToTarget;
|
|
79
|
+
private applyPropToTarget;
|
|
80
|
+
private syncPropFromAttribute;
|
|
81
|
+
private handlePropChange;
|
|
82
|
+
private handleSlotEntryChange;
|
|
83
|
+
private handleSlotEntryDelete;
|
|
84
|
+
private handleAddSlotButtonClick;
|
|
85
|
+
private appendSlotEntry;
|
|
86
|
+
private rerenderSlotEntries;
|
|
87
|
+
private renderControl;
|
|
88
|
+
private formatControlValue;
|
|
89
|
+
private renderSlotControls;
|
|
90
|
+
private renderControls;
|
|
54
91
|
render(): TemplateResult;
|
|
55
92
|
}
|
|
56
93
|
declare global {
|
|
@@ -4,6 +4,7 @@ import { default as CxTab } from '../../../atoms/src/components/tab/tab.ts';
|
|
|
4
4
|
import { default as CxTabGroup } from '../../../atoms/src/components/tab-group/tab-group.ts';
|
|
5
5
|
import { default as CxTabPanel } from '../../../atoms/src/components/tab-panel/tab-panel.ts';
|
|
6
6
|
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
7
|
+
import { Transformation } from '../../../types/src/asset-link-format';
|
|
7
8
|
import { TimelineItem } from '../../../types/src/timeline';
|
|
8
9
|
import { CSSResultGroup } from 'lit';
|
|
9
10
|
|
|
@@ -20,6 +21,8 @@ export default class CxTimeline extends CortexElement {
|
|
|
20
21
|
'cx-tab-panel': typeof CxTabPanel;
|
|
21
22
|
};
|
|
22
23
|
private readonly localize;
|
|
24
|
+
private apiSearchAssets;
|
|
25
|
+
private thumbnailRequestVersion;
|
|
23
26
|
tabGroup?: CxTabGroup;
|
|
24
27
|
data: TimelineItem[];
|
|
25
28
|
/**
|
|
@@ -42,6 +45,17 @@ export default class CxTimeline extends CortexElement {
|
|
|
42
45
|
* The minimum width of the tab.
|
|
43
46
|
*/
|
|
44
47
|
minTabWidth: number;
|
|
48
|
+
/**
|
|
49
|
+
* Asset transformation proxy format key.
|
|
50
|
+
*/
|
|
51
|
+
format: string;
|
|
52
|
+
/**
|
|
53
|
+
* Asset transformations applied to the image.
|
|
54
|
+
*/
|
|
55
|
+
transformations: Transformation[];
|
|
56
|
+
/** Proxy URLs resolved from apiSearchAssets, keyed by item.id. */
|
|
57
|
+
private resolvedThumbnails;
|
|
58
|
+
handleDataChange(): Promise<void>;
|
|
45
59
|
private handlePreviousClick;
|
|
46
60
|
private handleNextClick;
|
|
47
61
|
render(): import('lit').TemplateResult<1>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { default as CxButton } from '../../../atoms/src/components/button/button.ts';
|
|
2
|
+
import { default as CxIconButton } from '../../../atoms/src/components/icon-button/icon-button.ts';
|
|
3
|
+
import { default as CxInput } from '../../../atoms/src/components/input/input.ts';
|
|
4
|
+
import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
|
|
5
|
+
import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
|
|
6
|
+
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
7
|
+
import { VideoFormatValue } from '../../../types/src/video-format-picker';
|
|
8
|
+
import { CSSResultGroup } from 'lit';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @summary The `cx-video-format-picker` component lets users choose and clear a video display format.
|
|
12
|
+
*
|
|
13
|
+
* @event cx-video-format-select - Emitted when a video format is selected. Detail is a `VideoFormatValue`.
|
|
14
|
+
* @event cx-video-format-delete - Emitted when the selected format is cleared.
|
|
15
|
+
* @event cx-asset-request-status - Emitted when the format request status changes.
|
|
16
|
+
*/
|
|
17
|
+
export default class CxVideoFormatPicker extends CortexElement {
|
|
18
|
+
static readonly styles: CSSResultGroup;
|
|
19
|
+
static readonly dependencies: {
|
|
20
|
+
'cx-button': typeof CxButton;
|
|
21
|
+
'cx-icon-button': typeof CxIconButton;
|
|
22
|
+
'cx-input': typeof CxInput;
|
|
23
|
+
'cx-space': typeof CxSpace;
|
|
24
|
+
'cx-typography': typeof CxTypography;
|
|
25
|
+
};
|
|
26
|
+
private readonly localize;
|
|
27
|
+
inputEl?: CxInput;
|
|
28
|
+
/** The currently selected video format value. */
|
|
29
|
+
value: VideoFormatValue | undefined;
|
|
30
|
+
/** Form field name. */
|
|
31
|
+
name: string;
|
|
32
|
+
/** The encrypted asset ID of the video asset to request formats for. */
|
|
33
|
+
assetId: string;
|
|
34
|
+
/** Whether a value is required. */
|
|
35
|
+
required: boolean;
|
|
36
|
+
/** Disables the picker. */
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* A callback invoked when the user requests to select a video format.
|
|
40
|
+
* It receives the asset ID and the current value, and should return a
|
|
41
|
+
* promise that resolves to a `VideoFormatValue` or null when cancelled.
|
|
42
|
+
*/
|
|
43
|
+
onRequestVideoFormat: ((assetId: string, value?: VideoFormatValue) => Promise<VideoFormatValue | null | undefined>) | undefined;
|
|
44
|
+
private get hasValue();
|
|
45
|
+
private handleRequestFormatClick;
|
|
46
|
+
private handleDeleteClick;
|
|
47
|
+
handleValueChange(): Promise<void>;
|
|
48
|
+
private renderFormatDisplay;
|
|
49
|
+
render(): import('lit').TemplateResult<1>;
|
|
50
|
+
}
|
|
51
|
+
declare global {
|
|
52
|
+
interface HTMLElementTagNameMap {
|
|
53
|
+
'cx-video-format-picker': CxVideoFormatPicker;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -42,6 +42,10 @@ export default class CxAssetLinkFormat extends CortexElement {
|
|
|
42
42
|
* @example 'https://qa-latest.orangelogic.com'
|
|
43
43
|
*/
|
|
44
44
|
baseUrl: string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The token used for authentication with the asset service.
|
|
47
|
+
*/
|
|
48
|
+
token: string | undefined;
|
|
45
49
|
/**
|
|
46
50
|
* The asset to be formatted.
|
|
47
51
|
* This is an object that contains the asset's details such as ID, original URL, image URL, width, and height.
|
|
@@ -89,6 +93,10 @@ export default class CxAssetLinkFormat extends CortexElement {
|
|
|
89
93
|
*/
|
|
90
94
|
selectedProxy: string;
|
|
91
95
|
useCustomExtension: boolean;
|
|
96
|
+
noMetadata: boolean;
|
|
97
|
+
noCrop: boolean;
|
|
98
|
+
noResize: boolean;
|
|
99
|
+
noRotate: boolean;
|
|
92
100
|
lastImageSize: {
|
|
93
101
|
height: number;
|
|
94
102
|
width: number;
|
|
@@ -252,7 +260,7 @@ export default class CxAssetLinkFormat extends CortexElement {
|
|
|
252
260
|
private handleAssetChange;
|
|
253
261
|
private handleProxiesChange;
|
|
254
262
|
handleSelectedProxyChange(oldValue: unknown): Promise<void>;
|
|
255
|
-
handleLoadingChange():
|
|
263
|
+
handleLoadingChange(): void;
|
|
256
264
|
private handleSelectedFormatChange;
|
|
257
265
|
private handleResizeSizeChange;
|
|
258
266
|
private handleCropSizeChange;
|
|
@@ -41,21 +41,21 @@ export default class CxAssetLinkFormatRotation extends CortexElement {
|
|
|
41
41
|
/**
|
|
42
42
|
* The value of the defined quality.
|
|
43
43
|
* This value represents the quality of the asset link format, ranging from 1 to 100.
|
|
44
|
-
* @default
|
|
44
|
+
* @default 0
|
|
45
45
|
*/
|
|
46
46
|
value: number;
|
|
47
|
+
/**
|
|
48
|
+
* The value of the defined quality.
|
|
49
|
+
* This value represents the quality of the asset link format, ranging from 1 to 100.
|
|
50
|
+
* @default 0
|
|
51
|
+
*/
|
|
52
|
+
defaultValue: number;
|
|
47
53
|
/**
|
|
48
54
|
* The loading state of the component.
|
|
49
55
|
* This is used to indicate that an operation is in progress, such as applying a new rotation value.
|
|
50
56
|
* @default false
|
|
51
57
|
*/
|
|
52
58
|
loading: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* The invalid value state of the component.
|
|
55
|
-
* This is used to indicate that the input value is invalid, such as when it is not a number or out of range.
|
|
56
|
-
* @default false
|
|
57
|
-
*/
|
|
58
|
-
invalidValue: boolean;
|
|
59
59
|
handleOpenChange(): void;
|
|
60
60
|
private handleRotationChange;
|
|
61
61
|
private handleButtonClick;
|
package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
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 CxIconButton } from '../../../atoms/src/components/icon-button/icon-button.ts';
|
|
4
|
+
import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
|
|
5
|
+
import { default as CxSpinner } from '../../../atoms/src/components/spinner/spinner.ts';
|
|
6
|
+
import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
|
|
7
|
+
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
|
|
8
|
+
import { default as CxCropper } from '../../../molecules/src/cropper/cropper.ts';
|
|
9
|
+
import { Transformation } from '../../../types/src/asset-link-format';
|
|
10
|
+
import { default as CxAssetLinkFormat } from '../asset-link-format/asset-link-format';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @summary Dialog that wraps `cx-cropper` and `cx-asset-link-format` side by side,
|
|
14
|
+
* allowing users to preview and apply image transformations.
|
|
15
|
+
*
|
|
16
|
+
* @slot trigger - Opens the dialog on click or keyboard activation. Typically a `cx-button` or
|
|
17
|
+
* `cx-icon-button`. Automatically disabled when `asset-id` is not set.
|
|
18
|
+
*
|
|
19
|
+
* @event cx-asset-transformation-dialog-cancel - Emitted when the user closes or cancels the dialog.
|
|
20
|
+
* @event {{ detail: { format: string; transformations: Transformation[] } }} cx-asset-transformation-dialog-confirm - Emitted when the user saves, with the selected proxy id and transformation array.
|
|
21
|
+
* @event cx-asset-transformation-dialog-delete - Emitted when the user clears the saved transformations via the delete button.
|
|
22
|
+
*/
|
|
23
|
+
export default class CxAssetTransformationDialog extends CortexElement {
|
|
24
|
+
static readonly styles: import('lit').CSSResult[];
|
|
25
|
+
static readonly dependencies: {
|
|
26
|
+
'cx-asset-link-format': typeof CxAssetLinkFormat;
|
|
27
|
+
'cx-button': typeof CxButton;
|
|
28
|
+
'cx-cropper': typeof CxCropper;
|
|
29
|
+
'cx-dialog': typeof CxDialog;
|
|
30
|
+
'cx-icon-button': typeof CxIconButton;
|
|
31
|
+
'cx-space': typeof CxSpace;
|
|
32
|
+
'cx-spinner': typeof CxSpinner;
|
|
33
|
+
'cx-typography': typeof CxTypography;
|
|
34
|
+
};
|
|
35
|
+
private readonly localize;
|
|
36
|
+
private readonly fetchAssetController;
|
|
37
|
+
private readonly hasSlotController;
|
|
38
|
+
private apiGetAvailableProxies;
|
|
39
|
+
/** Stores the accessible trigger element for focus return and ARIA updates. */
|
|
40
|
+
private accessibleTrigger;
|
|
41
|
+
private readonly triggerSlot;
|
|
42
|
+
private readonly assetLinkFormat;
|
|
43
|
+
/** Asset ID used to fetch asset data when the dialog opens. */
|
|
44
|
+
assetId: string;
|
|
45
|
+
/** Controls dialog open/close state. */
|
|
46
|
+
open: boolean;
|
|
47
|
+
/** Boundary element for cx-dialog positioning. */
|
|
48
|
+
boundary: HTMLElement;
|
|
49
|
+
baseUrl: string;
|
|
50
|
+
/** Authentication token passed to the asset service. */
|
|
51
|
+
token: string;
|
|
52
|
+
/** Currently selected proxy format, passed back into cx-asset-link-format on reopen. */
|
|
53
|
+
format: string;
|
|
54
|
+
/** The transformations applied when the user last saved, passed back into cx-asset-link-format on reopen. */
|
|
55
|
+
transformations: Transformation[];
|
|
56
|
+
/** Show stack of layers indicating the transformations will be applied to multiple assets. */
|
|
57
|
+
multiple: boolean;
|
|
58
|
+
/** Hide the crop panel inside cx-asset-link-format. */
|
|
59
|
+
noCrop: boolean;
|
|
60
|
+
/** Hide the resize panel inside cx-asset-link-format. */
|
|
61
|
+
noResize: boolean;
|
|
62
|
+
/** Hide the rotate panel inside cx-asset-link-format. */
|
|
63
|
+
noRotate: boolean;
|
|
64
|
+
/** Asset data fetched on cx-show. */
|
|
65
|
+
private asset;
|
|
66
|
+
/** Available proxy formats fetched alongside the asset. */
|
|
67
|
+
private proxies;
|
|
68
|
+
private get hasTransformations();
|
|
69
|
+
handleAssetIdChange(): Promise<void>;
|
|
70
|
+
handleOpenChange(): void;
|
|
71
|
+
/** Syncs disabled state and ARIA attributes on the slotted trigger element.
|
|
72
|
+
* For cx-button/cx-icon-button, ARIA is set on the inner <button> so screen readers
|
|
73
|
+
* announce the correct role/state rather than the custom-element host. */
|
|
74
|
+
private updateAccessibleTrigger;
|
|
75
|
+
/** Fetches the asset and its available proxies when the dialog opens.
|
|
76
|
+
* Guards on `result.id` because `fetchAssetByID` returns `{}` on network error. */
|
|
77
|
+
private handleDialogShow;
|
|
78
|
+
private handleTriggerClick;
|
|
79
|
+
private handleTriggerKeyDown;
|
|
80
|
+
/** Prevents the default scroll action for Space on keyup (some browsers fire scroll on keyup). */
|
|
81
|
+
private handleTriggerKeyUp;
|
|
82
|
+
private handleTriggerSlotChange;
|
|
83
|
+
private handleClose;
|
|
84
|
+
private handleDeleteClick;
|
|
85
|
+
private handleRequestClose;
|
|
86
|
+
private handleSave;
|
|
87
|
+
private handleCancel;
|
|
88
|
+
private handleAssetLinkFormatShow;
|
|
89
|
+
render(): import('lit').TemplateResult<1>;
|
|
90
|
+
}
|
|
91
|
+
declare global {
|
|
92
|
+
interface HTMLElementTagNameMap {
|
|
93
|
+
'cx-asset-transformation-dialog': CxAssetTransformationDialog;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -4,26 +4,41 @@ import { default as CxGalleryItem } from '../../../molecules/src/gallery-item/ga
|
|
|
4
4
|
import { Easing } from '../../../types/src/index.ts';
|
|
5
5
|
import { Filler, FillerMode } from '../../../types/src/bento-grid';
|
|
6
6
|
import { GalleryItem, GalleryItemContentPosition, GalleryItemContentVariant, GalleryItemEffect, GalleryItemShowContentType, GalleryItemTextRevealStyle, GalleryItemZoomStyle } from '../../../types/src/gallery-item';
|
|
7
|
-
import { CSSResultGroup } from 'lit';
|
|
7
|
+
import { CSSResultGroup, PropertyValues } from 'lit';
|
|
8
8
|
import { StaticValue } from 'lit/static-html.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* @summary CxBentoGrid - A responsive bento grid component with fixed cell height & responsive breakpoints
|
|
11
|
+
* @summary CxBentoGrid - A responsive bento grid component with fixed cell height & responsive breakpoints.
|
|
12
|
+
* Renders only the items visible in the viewport (scroll-based virtualization).
|
|
12
13
|
*
|
|
13
14
|
* @cssproperty [--item-height=200px] - The height of each grid item.
|
|
14
15
|
*
|
|
15
16
|
* @csspart base - The bento grid container
|
|
16
17
|
* @csspart item - The item part of the bento grid
|
|
17
18
|
*
|
|
18
|
-
* @event {{ currentColumnCount }} cx-bento-resize - Emitted when the grid layout recalculates
|
|
19
|
+
* @event {{ currentColumnCount: number }} cx-bento-resize - Emitted when the grid layout recalculates
|
|
20
|
+
* @event {{ first: number; last: number }} cx-bento-range-change - Emitted when the visible item range changes due to scroll or layout update
|
|
19
21
|
*/
|
|
20
22
|
export default class CxBentoGrid extends CortexElement {
|
|
21
23
|
static readonly styles: CSSResultGroup;
|
|
24
|
+
/** Minimum scroll delta (px) required to trigger a virtual range update. */
|
|
25
|
+
private static readonly SCROLL_THRESHOLD;
|
|
22
26
|
static readonly dependencies: {
|
|
23
27
|
'cx-gallery-item': typeof CxGalleryItem;
|
|
24
28
|
'cx-tooltip': typeof CxTooltip;
|
|
25
29
|
};
|
|
26
30
|
private readonly localize;
|
|
31
|
+
/** Pure layout calculator — computes absolute pixel positions. */
|
|
32
|
+
private readonly bentoLayout;
|
|
33
|
+
/** RAF gate for scroll handler to avoid layout thrash. */
|
|
34
|
+
private _scrollRaf;
|
|
35
|
+
/** Cached viewport height — updated on resize only, not on every scroll. */
|
|
36
|
+
private _viewportHeight;
|
|
37
|
+
/** Watches the host element for size changes so the grid reflows when its container resizes. */
|
|
38
|
+
private _resizeObserver;
|
|
39
|
+
/** Tracks the last emitted range to avoid firing cx-bento-range-change when the range hasn't changed. */
|
|
40
|
+
private _lastEmittedFirst;
|
|
41
|
+
private _lastEmittedLast;
|
|
27
42
|
/**
|
|
28
43
|
* References the main container element of the bento grid.
|
|
29
44
|
* This element is used to calculate the grid width and apply
|
|
@@ -76,6 +91,13 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
76
91
|
* The maximum number of rows to show.
|
|
77
92
|
*/
|
|
78
93
|
maxRows: number;
|
|
94
|
+
/**
|
|
95
|
+
* Total number of items in the dataset, including those not yet loaded.
|
|
96
|
+
* When set, the scroll container height is extended to reflect the full dataset
|
|
97
|
+
* size so the scrollbar is accurate from the first render.
|
|
98
|
+
* Unloaded slots are approximated as 1×1 items.
|
|
99
|
+
*/
|
|
100
|
+
totalItems: number;
|
|
79
101
|
/**
|
|
80
102
|
* The show content type.
|
|
81
103
|
*/
|
|
@@ -140,14 +162,8 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
140
162
|
* Specifies the easing function to use when changing slides.
|
|
141
163
|
*/
|
|
142
164
|
easing: Easing;
|
|
143
|
-
/**
|
|
144
|
-
* Internal state that holds the computed CSS styles for the grid container.
|
|
145
|
-
*/
|
|
165
|
+
/** CSS styles applied to the grid container element. */
|
|
146
166
|
private containerStyles;
|
|
147
|
-
/**
|
|
148
|
-
* Tracks the computed styles for the grid container.
|
|
149
|
-
*/
|
|
150
|
-
private computedStyles;
|
|
151
167
|
/**
|
|
152
168
|
* Tracks the previous column count to detect when the grid layout recalculates
|
|
153
169
|
* prevents unnecessary grid updates when the column count hasn't changed.
|
|
@@ -158,6 +174,14 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
158
174
|
* Tracks the currently hovered item.
|
|
159
175
|
*/
|
|
160
176
|
private hoveredItemId;
|
|
177
|
+
/** Total scroll height in px — drives the container height for an accurate scrollbar. */
|
|
178
|
+
private scrollSize;
|
|
179
|
+
/** Current scroll offset in pixels from the top of the container. */
|
|
180
|
+
private scrollOffset;
|
|
181
|
+
/** Inclusive index of the first item in the rendered virtual window. */
|
|
182
|
+
private virtualFirst;
|
|
183
|
+
/** Inclusive index of the last item in the rendered virtual window. */
|
|
184
|
+
private virtualLast;
|
|
161
185
|
private isTooltipShown;
|
|
162
186
|
protected galleryItemTag: string;
|
|
163
187
|
/**
|
|
@@ -177,6 +201,16 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
177
201
|
constructor();
|
|
178
202
|
runConnectedCallback(): void;
|
|
179
203
|
disconnectedCallback(): void;
|
|
204
|
+
runFirstUpdated(): void;
|
|
205
|
+
/**
|
|
206
|
+
* Returns the visible viewport height for virtualization.
|
|
207
|
+
*
|
|
208
|
+
* `containerEl.clientHeight` is unsafe here because, once `containerStyles.height`
|
|
209
|
+
* is set to the laid-out `scrollSize`, the container height equals the entire
|
|
210
|
+
* grid. We walk up to the nearest scrollable ancestor (or fall back to the
|
|
211
|
+
* window) to keep `getActiveRange()` honest.
|
|
212
|
+
*/
|
|
213
|
+
private measureViewportHeight;
|
|
180
214
|
private showTooltip;
|
|
181
215
|
private hideTooltip;
|
|
182
216
|
/**
|
|
@@ -190,23 +224,26 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
190
224
|
private getItemSize;
|
|
191
225
|
/**
|
|
192
226
|
* Determines the number of columns for the grid based on the current
|
|
193
|
-
* container width and breakpoints.
|
|
227
|
+
* container width and breakpoints. Also builds filledData when filler is active.
|
|
194
228
|
*/
|
|
195
229
|
private setupGrid;
|
|
196
230
|
/**
|
|
197
|
-
*
|
|
198
|
-
* @internal Pass calculated total columns and styles values to avoid recalculating in resize and watches
|
|
231
|
+
* Runs BentoLayout.compute() then updates scrollSize and active virtual range.
|
|
199
232
|
*/
|
|
200
|
-
private
|
|
233
|
+
private computeLayout;
|
|
234
|
+
/** Recalculates which items fall within the current scroll viewport. */
|
|
235
|
+
private updateActiveRange;
|
|
201
236
|
/**
|
|
202
|
-
*
|
|
237
|
+
* Returns the index of the last item whose rowStart is within maxRows.
|
|
203
238
|
*/
|
|
204
|
-
private
|
|
239
|
+
private maxRowsLastIndex;
|
|
205
240
|
/**
|
|
206
|
-
*
|
|
241
|
+
* Debounced event handler that responds to container resize events.
|
|
207
242
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
243
|
+
private handleResize;
|
|
244
|
+
/** RAF-gated scroll handler — updates scroll offset and rerenders visible range. */
|
|
245
|
+
private handleScroll;
|
|
246
|
+
willUpdate(changed: PropertyValues): void;
|
|
210
247
|
/**
|
|
211
248
|
* Get content position based on the size of the item.
|
|
212
249
|
*/
|
|
@@ -222,13 +259,7 @@ export default class CxBentoGrid extends CortexElement {
|
|
|
222
259
|
private handleBlur;
|
|
223
260
|
private computeBentoItemEffectStyles;
|
|
224
261
|
renderGalleryItem(galleryItem: {
|
|
225
|
-
|
|
226
|
-
gridColumnEnd: number;
|
|
227
|
-
gridColumnStart: number;
|
|
228
|
-
gridRowEnd: number;
|
|
229
|
-
gridRowStart: number;
|
|
230
|
-
height: string;
|
|
231
|
-
} | undefined;
|
|
262
|
+
actualIndex: number;
|
|
232
263
|
index: number;
|
|
233
264
|
item: GalleryItem;
|
|
234
265
|
}): import('lit').TemplateResult;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BentoActiveRange, BentoItemPosition, BentoLayoutParams } from '../../../types/src/bento-grid';
|
|
2
|
+
import { GalleryItem } from '../../../types/src/gallery-item';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Pure layout calculator for a bento grid.
|
|
6
|
+
* Computes absolute pixel positions for items that can span multiple
|
|
7
|
+
* columns and rows. Call `compute()` after data or layout config changes,
|
|
8
|
+
* then `getActiveRange()` on every scroll event to know which items to render.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BentoLayout {
|
|
11
|
+
private _positions;
|
|
12
|
+
/**
|
|
13
|
+
* Sorted array of each item's `top` pixel value (index matches item index).
|
|
14
|
+
* Non-strictly increasing (items in the same row share the same `top`).
|
|
15
|
+
* Used for O(log N) binary search inside getActiveRange().
|
|
16
|
+
*/
|
|
17
|
+
private _topPositions;
|
|
18
|
+
private _scrollSize;
|
|
19
|
+
/** Total scrollable height in pixels after the last compute() call. */
|
|
20
|
+
get scrollSize(): number;
|
|
21
|
+
/** Returns the pixel position for item at `idx`, or undefined if not yet computed. */
|
|
22
|
+
getPosition(idx: number): BentoItemPosition | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Runs the bin-packing algorithm and populates pixel positions for all items.
|
|
25
|
+
* Synchronous — completes in < 1 ms for typical datasets (≤ 10 000 items).
|
|
26
|
+
*/
|
|
27
|
+
compute(items: GalleryItem[], params: BentoLayoutParams): void;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the inclusive [first, last] item index range that overlaps the
|
|
30
|
+
* visible window [scrollTop − overhang, scrollTop + viewportHeight + overhang].
|
|
31
|
+
* O(log N) via binary search on the sorted _topPositions array.
|
|
32
|
+
*/
|
|
33
|
+
getActiveRange(scrollTop: number, viewportHeight: number, overhang?: number): BentoActiveRange;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the smallest index i such that _topPositions[i] >= value.
|
|
36
|
+
* Returns n if all values are < value.
|
|
37
|
+
*/
|
|
38
|
+
private lowerBound;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the smallest index i such that _topPositions[i] > value.
|
|
41
|
+
* Returns n if all values are <= value.
|
|
42
|
+
*/
|
|
43
|
+
private upperBound;
|
|
44
|
+
}
|