@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.
Files changed (307) hide show
  1. package/library/chunks/{AxisLabelRadial.CgPb7ghO.js → AxisLabelRadial.Bs1P_q_F.js} +1 -1
  2. package/library/chunks/{BaseColumnSeries.B6rG-Ylz.js → BaseColumnSeries.C7jwOxIJ.js} +1 -1
  3. package/library/chunks/{CandlestickSeries.C-YfO-57.js → CandlestickSeries.CkXGtRWE.js} +2 -2
  4. package/library/chunks/{Circle.DhoXSsjo.js → Circle.DBa5Ok8V.js} +1 -1
  5. package/library/chunks/{ColumnSeries.CZi2LBZ2.js → ColumnSeries.DGazbfza.js} +2 -2
  6. package/library/chunks/{EditableAxisLabel.CykTMTsG.js → EditableAxisLabel.wN0t_G2B.js} +2 -2
  7. package/library/chunks/{EditableLabel.BlQ7B4D0.js → EditableLabel.BWeq6fgX.js} +1 -1
  8. package/library/chunks/{Gradient.BQ0JzFEe.js → Gradient.CdcsPIru.js} +1 -1
  9. package/library/chunks/{LinearGradient.DuVS2EHe.js → LinearGradient.B1z9AGUt.js} +2 -2
  10. package/library/chunks/{Picture.DRO0jnR6.js → Picture.YSPC0l0Q.js} +1 -1
  11. package/library/chunks/{Polygon.DEO3f_qs.js → Polygon.BwMvXN2H.js} +1 -1
  12. package/library/chunks/{ProgressPie.Bryx2w1J.js → ProgressPie.DlCwXN17.js} +5 -5
  13. package/library/chunks/{RadialLabel.TyXECvYG.js → RadialLabel.DyVOf2K8.js} +1 -1
  14. package/library/chunks/{Scrollbar.DK48nKk4.js → Scrollbar.BdZVb_Z-.js} +1 -1
  15. package/library/chunks/{Slice.DbXRplXx.js → Slice.DiEswWa6.js} +1 -1
  16. package/library/chunks/{Slider.B27osQYu.js → Slider.C20No2z5.js} +1 -1
  17. package/library/chunks/{SpriteResizer.C4wFzD_x.js → SpriteResizer.DFnmcy0h.js} +1 -1
  18. package/library/chunks/{Triangle.BEmFiHyd.js → Triangle.BaOef7HV.js} +1 -1
  19. package/library/chunks/{ZoomTools.CBqjLDqb.js → ZoomTools.D5JPehoL.js} +1 -1
  20. package/library/chunks/{_baseUniq.Df-fLIBx.js → _baseUniq.BUihBa8c.js} +56 -53
  21. package/library/chunks/{am-chart.B_OdX4Q-.js → am-chart.H2jnOzFc.js} +254 -262
  22. package/library/chunks/{animation.DfUHRQry.js → animation.7ifl4x2S.js} +4 -8
  23. package/library/chunks/array.DCtvHiLS.js +81 -0
  24. package/library/chunks/asset.D7E0-cUV.js +460 -0
  25. package/library/chunks/{button.KnE3mcyM.js → button.CauAHfdl.js} +10 -45
  26. package/library/chunks/button.styles.CKqn956w.js +5 -0
  27. package/library/chunks/{capitalize.WSkCXkNE.js → capitalize.CNStXZBq.js} +1 -1
  28. package/library/chunks/{color-swatch-group.p3Sdqlat.js → color-swatch-group.D5BP2W3P.js} +50 -220
  29. package/library/chunks/{color-swatch.C0oPHfOu.js → color-swatch.2HS4bc3N.js} +20 -204
  30. package/library/chunks/{colorPicker.CJwbdhtn.js → colorPicker.06n6P3aK.js} +5 -5
  31. package/library/chunks/component.styles.CRO4Odto.js +5 -0
  32. package/library/chunks/confirm-popover.DmGAMS8X.js +121 -0
  33. package/library/chunks/{cropper.tSDgXKqJ.js → cropper.ZU2Dy-MM.js} +8182 -8540
  34. package/library/chunks/{dialog.DpZBbTCn.js → dialog.2UW1LNm1.js} +117 -314
  35. package/library/chunks/{dom.BQVKDNd8.js → dom.BslZF2Y_.js} +1 -1
  36. package/library/chunks/dot-pagination.DsAfSNzr.js +204 -0
  37. package/library/chunks/{endpoints.B7lcoc1N.js → endpoints.Fpyb8xvv.js} +214 -203
  38. package/library/chunks/{exporting.DCqJtW6l.js → exporting.Chnl3UWi.js} +2 -2
  39. package/library/chunks/file-on-demand.Dig_iVvx.js +1956 -0
  40. package/library/chunks/{flow.Ch1rU01m.js → flow.D2CqFQa7.js} +5 -5
  41. package/library/chunks/folder-select.BT1drT8C.js +775 -0
  42. package/library/chunks/form-control.styles.CaGWmeAS.js +5 -0
  43. package/library/chunks/{form.DgwYWi0O.js → form.CFc09rKh.js} +1 -1
  44. package/library/chunks/{gantt.rWdF_jmG.js → gantt.DSHD2gjO.js} +8 -8
  45. package/library/chunks/header.BePZwMCQ.js +170 -0
  46. package/library/chunks/{hierarchy.HoRJAu6S.js → hierarchy.DwVsMmsP.js} +5 -5
  47. package/library/chunks/{hub-connection.CfARlehM.js → hub-connection.Ot2odiCz.js} +1 -1
  48. package/library/chunks/{i18n.C0iakJkV.js → i18n.BFqTRDCA.js} +19 -12
  49. package/library/chunks/icon-button.rKe0N4VB.js +149 -0
  50. package/library/chunks/iframe.DznmlYpV.js +73 -0
  51. package/library/chunks/{image.C9avagDq.js → image.CEtCGsNL.js} +275 -488
  52. package/library/chunks/{index.D2JPKXqq.js → index.C9khsiad.js} +17 -17
  53. package/library/chunks/isObjectLike.z36Fu426.js +34 -0
  54. package/library/chunks/{isSymbol.huJ_Cvxt.js → isSymbol.L0C2ND_U.js} +1 -1
  55. package/library/chunks/{json.DHNMAC-m.js → json.zyETMOw-.js} +3 -3
  56. package/library/chunks/{list-editor.B2mFE9f7.js → list-editor.CJ96S1Np.js} +58 -372
  57. package/library/chunks/{map.BHmZ4Crx.js → map.CqM2O6LB.js} +2 -2
  58. package/library/chunks/option.COnEtd3X.js +123 -0
  59. package/library/chunks/{overlayscrollbars.XhGWx9Zk.js → overlayscrollbars.BMav4RQ4.js} +252 -958
  60. package/library/chunks/pagination.DaD9Yul6.js +334 -0
  61. package/library/chunks/{percent.CM9cr1H3.js → percent.DuQwbCCg.js} +3 -3
  62. package/library/chunks/{radar.CQUnnhGk.js → radar.FpYl3UH5.js} +4 -4
  63. package/library/chunks/{responsive.CrX-HUow.js → responsive.BndCeSg0.js} +1 -1
  64. package/library/chunks/{sliceGrouper.iv1p8MAK.js → sliceGrouper.BsE7fGMt.js} +1 -1
  65. package/library/chunks/{stock.CU0y6a5P.js → stock.BR-ag4Pt.js} +9 -9
  66. package/library/chunks/string.BigZhczf.js +185 -0
  67. package/library/chunks/{tab-group.05PY0smt.js → tab-group.0Po0eoxR.js} +33 -584
  68. package/library/chunks/{table.DNTm_GMS.js → table.WNd284in.js} +3535 -4852
  69. package/library/chunks/{timeline.yzdwtGKM.js → timeline.DkzkmgEM.js} +5 -5
  70. package/library/chunks/{toString.CRT5zqEU.js → toString.CL_lYXbK.js} +3 -3
  71. package/library/chunks/toast.B2cJgW5u.js +71 -0
  72. package/library/chunks/transformation.CzBptarI.js +140 -0
  73. package/library/chunks/{tree.CeMLCbs-.js → tree.QCQd_cuc.js} +32 -400
  74. package/library/chunks/typography.DJC_UXgs.js +52 -0
  75. package/library/chunks/url.Cj9cIQXJ.js +27 -0
  76. package/library/chunks/{venn.BOEi13la.js → venn.D739bOV3.js} +1 -1
  77. package/library/chunks/watch.BCJD77bD.js +547 -0
  78. package/library/chunks/{wc.V-lq02JF.js → wc.DzW311D-.js} +1 -1
  79. package/library/chunks/{xy.Df1hy9ac.js → xy.DCRDfTsa.js} +10 -10
  80. package/library/components/alert.js +11 -179
  81. package/library/components/am-chart.js +3 -3
  82. package/library/components/animated-image.js +13 -101
  83. package/library/components/animation.js +3 -3
  84. package/library/components/array-line-clamp.js +8 -89
  85. package/library/components/asset-link-format.js +718 -1380
  86. package/library/components/atoms.js +18 -18
  87. package/library/components/avatar.js +6 -95
  88. package/library/components/badge.js +11 -139
  89. package/library/components/bicolor-picker.js +4 -23
  90. package/library/components/border-input-group.js +5 -26
  91. package/library/components/breadcrumb-item.js +25 -156
  92. package/library/components/breadcrumb.js +4 -22
  93. package/library/components/button-group.js +3 -28
  94. package/library/components/button.js +6 -6
  95. package/library/components/card.js +4 -126
  96. package/library/components/checkbox.js +13 -254
  97. package/library/components/color-picker.js +57 -728
  98. package/library/components/color-swatch-group.js +9 -9
  99. package/library/components/color-swatch.js +5 -5
  100. package/library/components/confirm-popover.js +6 -6
  101. package/library/components/copy-button.js +11 -256
  102. package/library/components/corner-position-input-group.js +5 -58
  103. package/library/components/cropper.js +2 -2
  104. package/library/components/details.js +6 -152
  105. package/library/components/dialog.js +6 -6
  106. package/library/components/divider.js +6 -68
  107. package/library/components/dot-pagination.js +4 -4
  108. package/library/components/dot-status.js +25 -95
  109. package/library/components/drawer.js +11 -242
  110. package/library/components/dropdown.js +49 -151
  111. package/library/components/dynamic-select.js +10 -75
  112. package/library/components/e-chart.js +8 -51
  113. package/library/components/element-clamp.js +7 -80
  114. package/library/components/file-on-demand.js +13 -13
  115. package/library/components/folder-select.js +9 -7
  116. package/library/components/format-bytes.js +1 -1
  117. package/library/components/format-date.js +3 -7
  118. package/library/components/format-number.js +1 -1
  119. package/library/components/format-time.js +4 -14
  120. package/library/components/grid-item.js +5 -172
  121. package/library/components/grid.js +5 -41
  122. package/library/components/header.js +4 -4
  123. package/library/components/hub-connection.js +2 -2
  124. package/library/components/icon-button.js +14 -679
  125. package/library/components/icon.js +9 -2449
  126. package/library/components/iframe.js +4 -4
  127. package/library/components/image-comparer.js +9 -129
  128. package/library/components/image.js +4 -4
  129. package/library/components/include.js +3 -7
  130. package/library/components/input-group.js +4 -29
  131. package/library/components/input.js +358 -966
  132. package/library/components/line-clamp.js +7 -83
  133. package/library/components/list-editor.js +9 -9
  134. package/library/components/markdown.js +2 -4
  135. package/library/components/masonry.js +24 -223
  136. package/library/components/menu-item.js +155 -445
  137. package/library/components/menu-label.js +3 -20
  138. package/library/components/menu-section.js +3 -17
  139. package/library/components/menu.js +5 -113
  140. package/library/components/molecules.js +5 -5
  141. package/library/components/mutation-observer.js +3 -7
  142. package/library/components/option.js +4 -4
  143. package/library/components/organisms.js +2 -2
  144. package/library/components/padding-input-group.js +5 -16
  145. package/library/components/pagination.js +10 -8
  146. package/library/components/popup.js +385 -682
  147. package/library/components/position-picker.js +4 -94
  148. package/library/components/progress-bar.js +19 -136
  149. package/library/components/progress-ring.js +4 -95
  150. package/library/components/qr-code.js +5 -17
  151. package/library/components/radio-button.js +5 -25
  152. package/library/components/radio-card.js +8 -176
  153. package/library/components/radio-group.js +22 -153
  154. package/library/components/radio.js +14 -171
  155. package/library/components/range.js +123 -660
  156. package/library/components/rating.js +58 -238
  157. package/library/components/relative-time.js +3 -13
  158. package/library/components/resize-observer.js +4 -8
  159. package/library/components/select.js +305 -1012
  160. package/library/components/shadow-input-group.js +5 -24
  161. package/library/components/share-option-list.js +21 -313
  162. package/library/components/sidebar.js +15 -221
  163. package/library/components/size-input-group.js +12 -77
  164. package/library/components/skeleton.js +7 -80
  165. package/library/components/space.js +6 -143
  166. package/library/components/spinner.js +7 -76
  167. package/library/components/split-panel.js +18 -125
  168. package/library/components/step.js +21 -272
  169. package/library/components/stepper-wizard.js +9 -43
  170. package/library/components/stepper.js +17 -34
  171. package/library/components/switch.js +13 -276
  172. package/library/components/tab-group.js +7 -7
  173. package/library/components/tab-panel.js +5 -32
  174. package/library/components/tab.js +11 -257
  175. package/library/components/table.js +8 -8
  176. package/library/components/tag.js +15 -166
  177. package/library/components/textarea.js +183 -504
  178. package/library/components/timecode.js +6 -25
  179. package/library/components/tooltip.js +10 -94
  180. package/library/components/tree-item.js +4 -4
  181. package/library/components/tree.js +4 -4
  182. package/library/components/typeface.js +24 -123
  183. package/library/components/types.js +37225 -47339
  184. package/library/components/typography.js +2 -2
  185. package/library/components/video.js +3875 -6263
  186. package/library/components/visually-hidden.js +3 -15
  187. package/library/package.json +4 -1
  188. package/library/packages/atoms/src/components/dialog/dialog.d.ts +10 -0
  189. package/library/packages/atoms/src/components/icon-button/icon-button.d.ts +2 -1
  190. package/library/packages/atoms/src/components/image/image.d.ts +15 -1
  191. package/library/packages/atoms/src/components/input/auto-grow-controller.d.ts +23 -0
  192. package/library/packages/atoms/src/components/input/input.d.ts +10 -2
  193. package/library/packages/atoms/src/components/menu-item/menu-item.d.ts +4 -0
  194. package/library/packages/atoms/src/components/pagination/pagination.d.ts +32 -2
  195. package/library/packages/atoms/src/components/popup/overlay/Overlay.d.ts +10 -0
  196. package/library/packages/atoms/src/components/popup/popup.d.ts +1 -1
  197. package/library/packages/atoms/src/components/select/select.d.ts +11 -0
  198. package/library/packages/atoms/src/components/table/table.d.ts +49 -8
  199. package/library/packages/atoms/src/components/table/tabulator-tables/core/Tabulator.d.ts +1 -0
  200. package/library/packages/atoms/src/components/table/tabulator-tables/core/TabulatorFull.d.ts +1 -0
  201. package/library/packages/atoms/src/components/table/tabulator-tables/core/tools/DataLoader.d.ts +3 -1
  202. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Ajax/Ajax.d.ts +1 -1
  203. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Edit/Edit.d.ts +1 -0
  204. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Edit/List.d.ts +40 -1
  205. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Filter/Filter.d.ts +10 -3
  206. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Filter/formatter-display-resolvers.d.ts +93 -0
  207. package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/Group.d.ts +8 -0
  208. package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupComponent.d.ts +3 -1
  209. package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupLoadMore.d.ts +7 -0
  210. package/library/packages/atoms/src/components/table/tabulator-tables/modules/GroupRows/GroupRows.d.ts +2 -0
  211. package/library/packages/atoms/src/components/table/tabulator-tables/modules/Page/Page.d.ts +2 -2
  212. package/library/packages/atoms/src/components/textarea/textarea.d.ts +19 -4
  213. package/library/packages/atoms/src/components/video/video.d.ts +3 -1
  214. package/library/packages/events/src/cx-asset-transformation-dialog-cancel.d.ts +6 -0
  215. package/library/packages/events/src/cx-asset-transformation-dialog-confirm.d.ts +11 -0
  216. package/library/packages/events/src/cx-asset-transformation-dialog-delete.d.ts +6 -0
  217. package/library/packages/events/src/cx-bento-range-change.d.ts +9 -0
  218. package/library/packages/events/src/cx-content-builder-gallery-fetched.d.ts +10 -0
  219. package/library/packages/events/src/cx-lightbox-close.d.ts +6 -0
  220. package/library/packages/events/src/cx-lightbox-download.d.ts +11 -0
  221. package/library/packages/events/src/cx-unauthorized.d.ts +10 -0
  222. package/library/packages/events/src/cx-video-format-picker-delete.d.ts +6 -0
  223. package/library/packages/events/src/cx-video-format-picker-select.d.ts +8 -0
  224. package/library/packages/events/src/events.d.ts +11 -1
  225. package/library/packages/molecules/src/cropper/cropper.d.ts +2 -0
  226. package/library/packages/molecules/src/cropper/react/Cropper.d.ts +2 -0
  227. package/library/packages/molecules/src/estimated-reading-time/estimated-reading-time.d.ts +3 -2
  228. package/library/packages/molecules/src/folder-select/components/folder-select-tree/folder-select-tree.d.ts +26 -0
  229. package/library/packages/molecules/src/folder-select/components/folder-select-tree-item/folder-select-tree-item.d.ts +46 -0
  230. package/library/packages/molecules/src/folder-select/folder-select.d.ts +25 -0
  231. package/library/packages/molecules/src/index.d.ts +1 -0
  232. package/library/packages/molecules/src/storybook/storybook.d.ts +60 -23
  233. package/library/packages/molecules/src/timeline/timeline.d.ts +14 -0
  234. package/library/packages/molecules/src/video-format-picker/video-format-picker.d.ts +55 -0
  235. package/library/packages/molecules/src/video-format-picker/video-format-picker.styles.d.ts +2 -0
  236. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +9 -1
  237. package/library/packages/organisms/src/asset-link-format/components/asset-link-format-rotation/asset-link-format-rotation.d.ts +7 -7
  238. package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +95 -0
  239. package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.styles.d.ts +2 -0
  240. package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +57 -26
  241. package/library/packages/organisms/src/bento-grid/bento-layout.d.ts +44 -0
  242. package/library/packages/organisms/src/carousel/carousel.d.ts +5 -1
  243. package/library/packages/organisms/src/comment/comment.d.ts +1 -0
  244. package/library/packages/organisms/src/content-builder/components/block-picker/block-picker.d.ts +7 -0
  245. package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +11 -0
  246. package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +10 -0
  247. package/library/packages/organisms/src/content-builder/components/folder-picker/folder-picker.d.ts +6 -0
  248. package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +6 -2
  249. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +6 -2
  250. package/library/packages/organisms/src/content-builder/configs/image.d.ts +7 -4
  251. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +5 -2
  252. package/library/packages/organisms/src/content-builder/configs/video.d.ts +11 -2
  253. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +45 -4
  254. package/library/packages/organisms/src/content-builder/content-builder.d.ts +13 -0
  255. package/library/packages/organisms/src/content-builder/plugins/gallery.d.ts +45 -1
  256. package/library/packages/organisms/src/content-builder/styleController.d.ts +20 -2
  257. package/library/packages/organisms/src/index.d.ts +2 -0
  258. package/library/packages/organisms/src/lightbox/lightbox.d.ts +79 -0
  259. package/library/packages/organisms/src/lightbox/lightbox.styles.d.ts +2 -0
  260. package/library/packages/services/src/api/asset/asset.d.ts +3 -2
  261. package/library/packages/services/src/api/asset/asset.types.d.ts +84 -0
  262. package/library/packages/services/src/api/asset/asset.utils.d.ts +9 -0
  263. package/library/packages/services/src/api/endpoints.d.ts +1 -1
  264. package/library/packages/tools/src/fetch-asset/fetch-asset.d.ts +2 -1
  265. package/library/packages/tools/src/fetch-image/fetch-image.d.ts +17 -5
  266. package/library/packages/types/src/asset-click-action.d.ts +3 -1
  267. package/library/packages/types/src/bento-grid.d.ts +37 -0
  268. package/library/packages/types/src/content-builder.d.ts +27 -1
  269. package/library/packages/types/src/gallery.d.ts +0 -6
  270. package/library/packages/types/src/icon-button.d.ts +7 -0
  271. package/library/packages/types/src/menu-item.d.ts +33 -0
  272. package/library/packages/types/src/storybook.d.ts +19 -0
  273. package/library/packages/types/src/table.d.ts +37 -1
  274. package/library/packages/types/src/textarea.d.ts +4 -0
  275. package/library/packages/types/src/video-format-picker.d.ts +11 -0
  276. package/library/packages/utils/src/actions/asset-click.d.ts +1 -3
  277. package/library/packages/utils/src/custom-element/i18n.d.ts +10 -3
  278. package/library/packages/utils/src/index.d.ts +1 -0
  279. package/library/packages/utils/src/string/string.d.ts +33 -0
  280. package/library/packages/utils/src/transformation/index.d.ts +1 -0
  281. package/library/packages/utils/src/url/url.d.ts +9 -0
  282. package/library/react-web-component.d.ts +293 -29
  283. package/library/utils.js +483 -178
  284. package/package.json +4 -1
  285. package/library/chunks/_baseRest.ClTMQtN1.js +0 -67
  286. package/library/chunks/asset.CG_yXtWK.js +0 -288
  287. package/library/chunks/button.styles.Dl5IQLHU.js +0 -718
  288. package/library/chunks/component.styles.DMSLciL5.js +0 -71
  289. package/library/chunks/confirm-popover.zmOFI4e-.js +0 -288
  290. package/library/chunks/content-builder.D_phDrlo.js +0 -127
  291. package/library/chunks/dot-pagination.COBkyhoJ.js +0 -325
  292. package/library/chunks/file-on-demand.CbE-qsiP.js +0 -3740
  293. package/library/chunks/folder-select.Bl_WkhVE.js +0 -844
  294. package/library/chunks/form-control.styles.CUGhvlfT.js +0 -67
  295. package/library/chunks/header.BduX6KJP.js +0 -777
  296. package/library/chunks/identity.ByMq8VxU.js +0 -6
  297. package/library/chunks/iframe.BPKV2K7z.js +0 -160
  298. package/library/chunks/index.B3wJT3XS.js +0 -373
  299. package/library/chunks/isObjectLike.D3cpZO39.js +0 -81
  300. package/library/chunks/option.DnpkE8Xi.js +0 -296
  301. package/library/chunks/pagination.C30LoTya.js +0 -341
  302. package/library/chunks/string.B_rEG27K.js +0 -160
  303. package/library/chunks/toast.BXNbwZV8.js +0 -25
  304. package/library/chunks/typography.oDzoLbZS.js +0 -149
  305. package/library/chunks/url.LjsR2sB5.js +0 -15
  306. package/library/chunks/watch.q1sEjPWL.js +0 -501
  307. /package/library/packages/{organisms/src/asset-link-format/asset-link-format.utils.d.ts → utils/src/transformation/transformation.d.ts} +0 -0
@@ -59,9 +59,16 @@ export default class Filter extends Module implements IFilter {
59
59
  trackChanges(): void;
60
60
  hasChanged(): boolean;
61
61
  /**
62
- * Normally, filter operates on a single field. To create a filter that operates on multiple or all fields,
63
- * first pass the field names (or none to match all) to this method, then use this method as the filter's field.
64
- * @param fields - The fields to match against. If not provided, all fields will be matched.
62
+ * Normally, filter operates on a single field. To create a filter that operates on multiple
63
+ * or all registered columns, first pass the field names (or none to default to every
64
+ * registered column's field) to this method, then use this method as the filter's field.
65
+ *
66
+ * When `fields` is omitted, the search iterates only over fields that have a registered
67
+ * column. Data keys without a column (e.g. hidden payload fields) are skipped so the search
68
+ * matches what the user actually sees on screen. If the column manager has no columns yet
69
+ * (table not yet initialized), falls back to iterating all data keys.
70
+ *
71
+ * @param fields - The fields to match against. If not provided, all fields with a registered column will be matched.
65
72
  * @returns A function that can be used to match against the data.
66
73
  */
67
74
  createFilterFieldFunction(fields?: string[]): (data: any, filter: FilterType) => boolean;
@@ -0,0 +1,93 @@
1
+ import { CompositeElement, ITabulator } from '../../../../../../../types/src/table';
2
+
3
+ interface ResolverInput {
4
+ formatterParams: any;
5
+ rawValue: unknown;
6
+ rowData: Record<string, unknown>;
7
+ separator: string | undefined;
8
+ table: ITabulator | null | undefined;
9
+ }
10
+ declare function resolveCompositeElementSourceValue(element: CompositeElement, columnField: string, rawValue: unknown, rowData: Record<string, unknown>, separator: string | undefined): unknown;
11
+ declare function resolveCompositeDisplayValues(input: ResolverInput, columnField: string): unknown[];
12
+ declare function resolveLookupDisplayValues(input: ResolverInput): unknown[];
13
+ declare function resolveArrayDisplayValues(input: ResolverInput): unknown[];
14
+ declare function resolveTagDisplayValues(input: ResolverInput): unknown[];
15
+ /**
16
+ * Mirrors the priority chain in link.ts:
17
+ * 1. label starts as the raw cell value
18
+ * 2. `labelField` (string nested-data path) overrides
19
+ * 3. `label` overrides — string wins; **function is skipped on purpose** because invoking
20
+ * `label(cell)` requires a live `CellComponent` (with `getElement`, `getRow`, etc.).
21
+ * Search will fall back to raw match for that case.
22
+ *
23
+ * Returns the **single** final label the formatter would render, never both `labelField`
24
+ * and `label` together (that would create a false positive against text the user does not see).
25
+ */
26
+ declare function resolveLinkDisplayValues(input: ResolverInput): unknown[];
27
+ declare function resolveMoneyDisplayValues(input: ResolverInput): unknown[];
28
+ declare function resolveNumberDisplayValues(input: ResolverInput): unknown[];
29
+ declare function resolveDatetimeDisplayValues(input: ResolverInput): unknown[];
30
+ declare function resolveDatetimeDiffDisplayValues(input: ResolverInput): unknown[];
31
+ declare function resolvePlaintextDisplayValues(input: ResolverInput): unknown[];
32
+ declare function resolveTypographyDisplayValues(input: ResolverInput): unknown[];
33
+ declare function resolveHtmlDisplayValues(input: ResolverInput): unknown[];
34
+ declare function resolveTextareaDisplayValues(input: ResolverInput): unknown[];
35
+ declare function resolveJsonDisplayValues(input: ResolverInput): unknown[];
36
+ /**
37
+ * The mock cell handed to user-supplied `formatterLookup` and `paramsLookup` callbacks only
38
+ * exposes `getValue()` and `getData()` — there is no live `CellComponent`, so calls like
39
+ * `cell.getColumn()`, `cell.getRow()`, `cell.getElement()`, or `cell.getTable()` will throw.
40
+ * `safeCall` swallows those errors and the resolver returns `[]` for that row, falling back
41
+ * to raw-value matching. If a column needs richer cell access during adaptive lookup, the
42
+ * search will silently miss the formatted display — keep `formatterLookup` callbacks
43
+ * dependent only on cell value and row data for full search coverage.
44
+ */
45
+ declare function resolveAdaptableDisplayValues(input: ResolverInput, columnField: string): unknown[];
46
+ interface CollectFromDefinitionInput {
47
+ columnField: string;
48
+ formatter: unknown;
49
+ formatterParams: unknown;
50
+ rawValue: unknown;
51
+ rowData: Record<string, unknown>;
52
+ separator: string | undefined;
53
+ table: ITabulator | null | undefined;
54
+ }
55
+ declare function collectFormatterDisplayValuesFromDefinition(args: CollectFromDefinitionInput): unknown[];
56
+ /**
57
+ * Entry point used by `Filter.createFilterFieldFunction`. Looks up the column for
58
+ * `field` from the table's column manager, reads its formatter definition, and
59
+ * dispatches to the matching resolver. Returns `[]` when no column is registered,
60
+ * the formatter is unknown, or the resolver produces no candidates.
61
+ *
62
+ * Pass an optional `columnCache` to avoid re-running `getColumnByField` for every row × key.
63
+ * The Filter pipeline iterates ~`rows * columns` times; without a cache the column manager
64
+ * is hit on each iteration. The caller (`createFilterFieldFunction`) owns the cache so its
65
+ * lifetime matches the search invocation, never leaking across filter calls.
66
+ *
67
+ * `null` cached entries mean "no column registered for this field" — they let us skip the
68
+ * lookup on subsequent rows for unknown fields too.
69
+ */
70
+ export type ColumnDefinitionCache = Map<string, {
71
+ definition: any;
72
+ } | null>;
73
+ export declare function collectFormatterDisplayValues(table: ITabulator | null | undefined, field: string, rawValue: unknown, rowData: Record<string, unknown>, columnCache?: ColumnDefinitionCache): unknown[];
74
+ export declare const __testables: {
75
+ collectFormatterDisplayValuesFromDefinition: typeof collectFormatterDisplayValuesFromDefinition;
76
+ resolveAdaptableDisplayValues: typeof resolveAdaptableDisplayValues;
77
+ resolveArrayDisplayValues: typeof resolveArrayDisplayValues;
78
+ resolveCompositeDisplayValues: typeof resolveCompositeDisplayValues;
79
+ resolveCompositeElementSourceValue: typeof resolveCompositeElementSourceValue;
80
+ resolveDatetimeDiffDisplayValues: typeof resolveDatetimeDiffDisplayValues;
81
+ resolveDatetimeDisplayValues: typeof resolveDatetimeDisplayValues;
82
+ resolveHtmlDisplayValues: typeof resolveHtmlDisplayValues;
83
+ resolveJsonDisplayValues: typeof resolveJsonDisplayValues;
84
+ resolveLinkDisplayValues: typeof resolveLinkDisplayValues;
85
+ resolveLookupDisplayValues: typeof resolveLookupDisplayValues;
86
+ resolveMoneyDisplayValues: typeof resolveMoneyDisplayValues;
87
+ resolveNumberDisplayValues: typeof resolveNumberDisplayValues;
88
+ resolvePlaintextDisplayValues: typeof resolvePlaintextDisplayValues;
89
+ resolveTagDisplayValues: typeof resolveTagDisplayValues;
90
+ resolveTextareaDisplayValues: typeof resolveTextareaDisplayValues;
91
+ resolveTypographyDisplayValues: typeof resolveTypographyDisplayValues;
92
+ };
93
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { default as CxIconButton } from '../../../../icon-button/icon-button.ts';
2
+ import { GroupLoadMoreEventPayload, GroupLoadMoreState } from '../../../../../../../types/src/table';
2
3
  import { default as Row } from '../../core/row/Row';
3
4
  import { default as GroupComponent } from './GroupComponent';
4
5
  import { default as GroupRows } from './GroupRows';
@@ -34,6 +35,8 @@ export default class Group {
34
35
  visible: boolean | ((key: any, count: number, data: any[], component: GroupComponent) => boolean);
35
36
  component: GroupComponent | null;
36
37
  addBindingsFlag?: boolean;
38
+ private _loadMoreRow;
39
+ private _loadMoreStateKey;
37
40
  constructor(groupManager: GroupRows, parent: Group | false, level: number, key: any, field: string | false, generator: GroupGenerator, oldGroup: Group | false);
38
41
  wipe(elementsOnly?: boolean): void;
39
42
  createElements(): void;
@@ -51,6 +54,11 @@ export default class Group {
51
54
  conformRowData(data: Record<string, any>): Record<string, any>;
52
55
  removeRow(row: Row): void;
53
56
  removeGroup(group: Group): void;
57
+ getPathKey(): string;
58
+ getLoadMoreState(): GroupLoadMoreState | undefined;
59
+ getGroupLoadMoreEventPayload(): GroupLoadMoreEventPayload;
60
+ generateLoadMoreRow(): Row | false;
61
+ private applyGroupIndent;
54
62
  getHeadersAndRows(): Array<Group | Row>;
55
63
  getData(visible?: boolean, transform?: string): any[];
56
64
  getRowCount(): number;
@@ -1,4 +1,4 @@
1
- import { IGroupComponent, ITabulator, ScrollToRowPosition } from '../../../../../../../types/src/table';
1
+ import { GroupLoadMorePathSegment, IGroupComponent, ITabulator, ScrollToRowPosition } from '../../../../../../../types/src/table';
2
2
  import { default as Group } from './Group';
3
3
 
4
4
  export default class GroupComponent implements IGroupComponent {
@@ -11,6 +11,8 @@ export default class GroupComponent implements IGroupComponent {
11
11
  getRows(): any[];
12
12
  getSubGroups(): any[];
13
13
  getParentGroup(): GroupComponent | false;
14
+ getPath(): GroupLoadMorePathSegment[];
15
+ getPathKey(): string;
14
16
  isVisible(): boolean;
15
17
  show(): void;
16
18
  hide(): void;
@@ -0,0 +1,7 @@
1
+ import { GroupLoadMoreEventPayload, GroupLoadMoreMeta, GroupLoadMorePathSegment, GroupLoadMoreState } from '../../../../../../../types/src/table';
2
+ import { default as Group } from './Group';
3
+
4
+ export declare function getGroupPath(group: Group): GroupLoadMorePathSegment[];
5
+ export declare function getGroupPathKey(path: GroupLoadMorePathSegment[]): string;
6
+ export declare function getGroupLoadMoreState(meta: GroupLoadMoreMeta | undefined, pathKey: string): GroupLoadMoreState | undefined;
7
+ export declare function getGroupLoadMoreEventPayload(group: Group): GroupLoadMoreEventPayload;
@@ -1,3 +1,4 @@
1
+ import { GroupLoadMoreMeta } from '../../../../../../../types/src/table';
1
2
  import { default as Module } from '../../core/Module';
2
3
  import { default as Row } from '../../core/row/Row';
3
4
  import { default as RowComponent } from '../../core/row/RowComponent';
@@ -38,6 +39,7 @@ export default class GroupRows extends Module {
38
39
  setGroupStartOpen(values: GroupStartOpen | GroupStartOpen[]): void;
39
40
  private updateGroupVisibility;
40
41
  setGroupHeader(values: GroupHeaderGenerator | GroupHeaderGenerator[] | false): void;
42
+ setGroupLoadMoreMeta(meta: GroupLoadMoreMeta | undefined): void;
41
43
  userGetGroups(_values?: boolean): GroupComponent[];
42
44
  userGetGroup(key: any): GroupComponent | false;
43
45
  private findGroupByKey;
@@ -4,7 +4,7 @@ import { default as Module } from '../../core/Module';
4
4
  import { default as Tabulator } from '../../core/Tabulator';
5
5
 
6
6
  export default class Page extends Module implements IPage {
7
- static moduleName: string;
7
+ static readonly moduleName = "page";
8
8
  paginationElement: CxPagination;
9
9
  element: HTMLElement | null;
10
10
  size: number | true;
@@ -44,7 +44,7 @@ export default class Page extends Module implements IPage {
44
44
  /**
45
45
  * Pagination is mounted on `table.toolbar` (outside Tabulator's root element).
46
46
  * Tabulator.destroy() only clears the table element, so we must detach on destroy
47
- * or a full re-init (e.g. paginationSizeSelector change) leaves duplicate cx-pagination nodes.
47
+ * or a full re-init (e.g. pageSizeOptions change) leaves duplicate cx-pagination nodes.
48
48
  */
49
49
  cleanup(): void;
50
50
  initializePaginator(): void;
@@ -1,4 +1,5 @@
1
1
  import { CortexFormControl, default as CortexElement } from '../../../../base/src/cortex-element.ts';
2
+ import { TextareaRows } from '../../../../types/src/textarea';
2
3
  import { CSSResultGroup } from 'lit';
3
4
 
4
5
  /**
@@ -20,6 +21,8 @@ import { CSSResultGroup } from 'lit';
20
21
  * @csspart base - The component's base wrapper.
21
22
  * @csspart textarea - The internal `<textarea>` control.
22
23
  * @csspart character-count - The container that wraps the character count.
24
+ *
25
+ * @typedef {number | 'max'} TextareaRows - Use a number for a fixed row count. Use `'max'` to fill the parent container height (parent must have a definite height). With `'max'`, `resize="vertical"` and `resize="none"` work; `resize="auto"` does not (it is disabled).
23
26
  */
24
27
  export default class CxTextarea extends CortexElement implements CortexFormControl {
25
28
  static styles: CSSResultGroup;
@@ -27,6 +30,7 @@ export default class CxTextarea extends CortexElement implements CortexFormContr
27
30
  private readonly hasSlotController;
28
31
  private resizeObserver;
29
32
  input: HTMLTextAreaElement;
33
+ private formControlRoot;
30
34
  private hasFocus;
31
35
  title: string;
32
36
  /** The name of the textarea, submitted as a name/value pair with form data. */
@@ -43,9 +47,17 @@ export default class CxTextarea extends CortexElement implements CortexFormContr
43
47
  helpText: string;
44
48
  /** Placeholder text to show as a hint when the input is empty. */
45
49
  placeholder: string;
46
- /** The number of rows to display by default. */
47
- rows: number;
48
- /** Controls how the textarea can be resized. */
50
+ /**
51
+ * The number of rows to display by default.
52
+ * Set to `"max"` (or `TextareaRows.Max`) to make the textarea fill its parent container height.
53
+ * The parent element must have a definite height (e.g. via flex, grid, or an explicit `height`) for `"max"` to take effect.
54
+ * With `"max"`, `resize="vertical"` (default) and `resize="none"` are supported; `resize="auto"` is not (fill height and auto-grow conflict, so auto resize is disabled).
55
+ */
56
+ rows: number | TextareaRows;
57
+ /**
58
+ * Controls how the textarea can be resized.
59
+ * When `rows` is `"max"`, `auto` is ignored; use `vertical` or `none`.
60
+ */
49
61
  resize: 'none' | 'vertical' | 'auto';
50
62
  /** Disables the textarea. */
51
63
  disabled: boolean;
@@ -87,13 +99,16 @@ export default class CxTextarea extends CortexElement implements CortexFormContr
87
99
  inputMode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
88
100
  /** The default value of the form control. Primarily used for resetting the form control. */
89
101
  defaultValue: string;
102
+ /** Tracks the px height applied by fill-mode so we can distinguish a host resize (recalculate) from a user drag (preserve). */
103
+ private _fillHeightPx;
90
104
  /** Gets the validity state object */
91
105
  get validity(): ValidityState;
92
106
  /** Gets the validation message */
93
107
  get validationMessage(): string;
94
- connectedCallback(): void;
108
+ connectedUpdatedCallback(): void;
95
109
  runFirstUpdated(): void;
96
110
  disconnectedCallback(): void;
111
+ private updateResizeObserver;
97
112
  private handleBlur;
98
113
  private handleChange;
99
114
  private handleFocus;
@@ -96,6 +96,7 @@ export default class CxVideo extends ResizableElement {
96
96
  videoHeight: number;
97
97
  protected autoPlayTimeout: number | null;
98
98
  parsedName: string;
99
+ formattedPoster: string;
99
100
  /**
100
101
  * The current time of the video.
101
102
  */
@@ -130,7 +131,7 @@ export default class CxVideo extends ResizableElement {
130
131
  protected addVideoEventListeners(): void;
131
132
  protected removeVideoEventListeners(): void;
132
133
  attachSeekbar(): void;
133
- protected setupVideoJsPlayer(): void;
134
+ protected setupVideoJsPlayer(src?: string): void;
134
135
  handleLoopChange(): Promise<void>;
135
136
  handleMutedChange(): Promise<void>;
136
137
  handleControlsChange(): Promise<void>;
@@ -138,6 +139,7 @@ export default class CxVideo extends ResizableElement {
138
139
  handleDisableRemotePlaybackChange(): Promise<void>;
139
140
  handleDisableVolumePanelChange(): Promise<void>;
140
141
  handlePosterChange(): Promise<void>;
142
+ handleFormattedPosterChange(): Promise<void>;
141
143
  handleSrcChange(): Promise<void>;
142
144
  handleParsedNameChange(): Promise<void>;
143
145
  private handleSizeChange;
@@ -0,0 +1,6 @@
1
+ export type CxAssetTransformationDialogCancelEvent = CustomEvent<Record<PropertyKey, never>>;
2
+ declare global {
3
+ interface GlobalEventHandlersEventMap {
4
+ 'cx-asset-transformation-dialog-cancel': CxAssetTransformationDialogCancelEvent;
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ import { Transformation } from '../../types/src/asset-link-format';
2
+
3
+ export type CxAssetTransformationDialogConfirmEvent = CustomEvent<{
4
+ format: string;
5
+ transformations: Transformation[];
6
+ }>;
7
+ declare global {
8
+ interface GlobalEventHandlersEventMap {
9
+ 'cx-asset-transformation-dialog-confirm': CxAssetTransformationDialogConfirmEvent;
10
+ }
11
+ }
@@ -0,0 +1,6 @@
1
+ export type CxAssetTransformationDialogDeleteEvent = CustomEvent<Record<PropertyKey, never>>;
2
+ declare global {
3
+ interface GlobalEventHandlersEventMap {
4
+ 'cx-asset-transformation-dialog-delete': CxAssetTransformationDialogDeleteEvent;
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ export type CxBentoRangeChangeEvent = CustomEvent<{
2
+ first: number;
3
+ last: number;
4
+ }>;
5
+ declare global {
6
+ interface GlobalEventHandlersEventMap {
7
+ 'cx-bento-range-change': CxBentoRangeChangeEvent;
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ import { Image } from '../../types/src/gallery-config';
2
+
3
+ export type CxContentBuilderGalleryFetchedEvent = CustomEvent<{
4
+ data: Image[];
5
+ }>;
6
+ declare global {
7
+ interface GlobalEventHandlersEventMap {
8
+ 'cx-content-builder-gallery-fetched': CxContentBuilderGalleryFetchedEvent;
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ export type CxLightboxCloseEvent = CustomEvent<Record<PropertyKey, unknown>>;
2
+ declare global {
3
+ interface GlobalEventHandlersEventMap {
4
+ 'cx-lightbox-close': CxLightboxCloseEvent;
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ import { GalleryItem } from '../../types/src/gallery-item';
2
+
3
+ export type CxLightboxDownloadEvent = CustomEvent<{
4
+ index: number;
5
+ item: GalleryItem;
6
+ }>;
7
+ declare global {
8
+ interface GlobalEventHandlersEventMap {
9
+ 'cx-lightbox-download': CxLightboxDownloadEvent;
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ export type CxUnauthorizedEvent = CustomEvent<CxUnauthorizedDetail>;
2
+ export type CxUnauthorizedDetail = {
3
+ status: number;
4
+ url: string;
5
+ };
6
+ declare global {
7
+ interface GlobalEventHandlersEventMap {
8
+ 'cx-unauthorized': CxUnauthorizedEvent;
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ export type CxVideoFormatPickerDeleteEvent = CustomEvent<Record<PropertyKey, unknown>>;
2
+ declare global {
3
+ interface GlobalEventHandlersEventMap {
4
+ 'cx-video-format-delete': CxVideoFormatPickerDeleteEvent;
5
+ }
6
+ }
@@ -0,0 +1,8 @@
1
+ import { VideoFormatValue } from '../../types/src/video-format-picker';
2
+
3
+ export type CxVideoFormatPickerSelectEvent = CustomEvent<VideoFormatValue>;
4
+ declare global {
5
+ interface GlobalEventHandlersEventMap {
6
+ 'cx-video-format-select': CxVideoFormatPickerSelectEvent;
7
+ }
8
+ }
@@ -14,6 +14,10 @@ export * from './cx-asset-data-display-slot-change';
14
14
  export * from './cx-asset-picker-delete';
15
15
  export * from './cx-asset-picker-select';
16
16
  export * from './cx-asset-request-status';
17
+ export * from './cx-asset-transformation-dialog-cancel';
18
+ export * from './cx-asset-transformation-dialog-confirm';
19
+ export * from './cx-asset-transformation-dialog-delete';
20
+ export * from './cx-bento-range-change';
17
21
  export * from './cx-bento-resize';
18
22
  export * from './cx-bicolor-picker-change';
19
23
  export * from './cx-blur';
@@ -21,8 +25,8 @@ export * from './cx-border-input-group-change';
21
25
  export * from './cx-cancel';
22
26
  export * from './cx-cancel-connection';
23
27
  export * from './cx-cancel-upload';
24
- export * from './cx-chart-plan-change';
25
28
  export * from './cx-change';
29
+ export * from './cx-chart-plan-change';
26
30
  export * from './cx-clear';
27
31
  export * from './cx-clear-cache';
28
32
  export * from './cx-clear-upload';
@@ -38,6 +42,7 @@ export * from './cx-comment-mention-select';
38
42
  export * from './cx-connect';
39
43
  export * from './cx-connected';
40
44
  export * from './cx-content-builder-gallery-change';
45
+ export * from './cx-content-builder-gallery-fetched';
41
46
  export * from './cx-content-builder-page-change';
42
47
  export * from './cx-content-builder-page-delete';
43
48
  export * from './cx-content-builder-translatable-value-change';
@@ -52,6 +57,8 @@ export * from './cx-dot-status-click';
52
57
  export * from './cx-download-format-picker-delete';
53
58
  export * from './cx-download-format-picker-select';
54
59
  export * from './cx-download-format-request-status';
60
+ export * from './cx-video-format-picker-delete';
61
+ export * from './cx-video-format-picker-select';
55
62
  export * from './cx-drag-end';
56
63
  export * from './cx-drag-start';
57
64
  export * from './cx-e-chart-drill-down';
@@ -88,6 +95,8 @@ export * from './cx-invoked';
88
95
  export * from './cx-keydown';
89
96
  export * from './cx-lazy-change';
90
97
  export * from './cx-lazy-load';
98
+ export * from './cx-lightbox-close';
99
+ export * from './cx-lightbox-download';
91
100
  export * from './cx-list-editor-change';
92
101
  export * from './cx-load';
93
102
  export * from './cx-mark-favorite';
@@ -138,6 +147,7 @@ export * from './cx-time-based-change';
138
147
  export * from './cx-time-update';
139
148
  export * from './cx-typeface-change';
140
149
  export * from './cx-typeface-download';
150
+ export * from './cx-unauthorized';
141
151
  export * from './cx-unmark-favorite';
142
152
  export * from './cx-video-click';
143
153
  export * from './cx-video-editor-track-canvas-ready';
@@ -44,6 +44,8 @@ export default class CxCropper extends CortexElement {
44
44
  disabled: boolean;
45
45
  loadable: boolean;
46
46
  loading: boolean;
47
+ multiple: boolean;
48
+ useInternalLoading: boolean;
47
49
  private showLoading;
48
50
  private handleLoadingChange;
49
51
  render(): TemplateResult;
@@ -26,6 +26,7 @@ type Props = {
26
26
  };
27
27
  loadable: boolean;
28
28
  loading: boolean;
29
+ multiple: boolean;
29
30
  resizer: {
30
31
  height: number;
31
32
  maxHeight: number;
@@ -33,6 +34,7 @@ type Props = {
33
34
  width: number;
34
35
  };
35
36
  rotation: number;
37
+ useInternalLoading?: boolean;
36
38
  };
37
39
  declare const CropPreviewer: import('react').ForwardRefExoticComponent<Props & import('react').RefAttributes<unknown>>;
38
40
  export default CropPreviewer;
@@ -7,7 +7,8 @@ import { CSSResultGroup } from 'lit';
7
7
  * @summary Displays the estimated reading time for a target element's text content.
8
8
  *
9
9
  * @description Calculates reading time based on the visible text of a target element,
10
- * using an average reading speed of 238 words per minute.
10
+ * using an average reading speed of 238 words per minute. Rendered as `"<duration> read"`
11
+ * (e.g. "12 minutes read", "1 hour, 1 minute read"), with the duration formatted by `cx-format-time`.
11
12
  * `resolveTarget` is a JS-only property (no HTML attribute) since it accepts non-serialisable values.
12
13
  * If `resolveTarget` is not set, the component does nothing.
13
14
  *
@@ -30,7 +31,7 @@ export default class CxEstimatedReadingTime extends CortexElement {
30
31
  private observer;
31
32
  /** The target element to calculate reading time for. Accepts a raw HTMLElement or a function that returns one. */
32
33
  resolveTarget: HTMLElement | (() => HTMLElement | null) | null;
33
- /** Display style for the formatted reading time. Defaults to "long". */
34
+ /** Display style forwarded to `cx-format-time`. Defaults to "long". */
34
35
  displayStyle: DisplayStyle;
35
36
  private durationMs;
36
37
  connectedCallback(): void;
@@ -1,6 +1,8 @@
1
1
  import { default as CxButton } from '../../../../../atoms/src/components/button/button.ts';
2
2
  import { default as CxTree } from '../../../../../atoms/src/components/tree/tree.ts';
3
+ import { default as CxTreeItem } from '../../../../../atoms/src/components/tree-item/tree-item.ts';
3
4
  import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
5
+ import { CxSelectionChangeEvent } from '../../../../../events/src/events.ts';
4
6
  import { Folder, FolderSelectApi } from '../../../../../types/src/folder-select';
5
7
  import { TemplateResult } from 'lit';
6
8
  import { default as CxFolderSelectTreeItem } from '../folder-select-tree-item/folder-select-tree-item';
@@ -22,6 +24,7 @@ export default class CxFolderSelectTree extends CortexElement {
22
24
  baseUrl: string;
23
25
  extraFolderId: string;
24
26
  extraFolderTitle: string;
27
+ extraFolderIcon: string;
25
28
  seeThru: boolean;
26
29
  extraFolderData: Folder | null;
27
30
  api?: FolderSelectApi;
@@ -30,6 +33,18 @@ export default class CxFolderSelectTree extends CortexElement {
30
33
  data: Folder[];
31
34
  hasMore: boolean;
32
35
  loading: boolean;
36
+ /**
37
+ * Selected folders encoded as `${path}-${id}`. Owned by this component
38
+ * and forwarded down to all cx-folder-select-tree-items so they can
39
+ * recompute their selected/indeterminate state declaratively.
40
+ */
41
+ currentRootIDsSet: Set<string>;
42
+ /**
43
+ * IDs (`${path}-${id}`) explicitly unselected while their ancestor was
44
+ * selected. Used so a selected ancestor renders as indeterminate when a
45
+ * descendant has been unchecked.
46
+ */
47
+ removedIDs: string[];
33
48
  get empty(): boolean;
34
49
  /**
35
50
  * This is used to render the cx-tree inside the cx-folder-select without the shadow root so that the cx-folder-select can query select the cx-tree inside
@@ -37,6 +52,17 @@ export default class CxFolderSelectTree extends CortexElement {
37
52
  createRenderRoot(): this;
38
53
  runFirstUpdated(): void;
39
54
  handleExtraFolderIdChange(): Promise<void>;
55
+ /**
56
+ * Update `currentRootIDsSet` from a tree-item's toggle. Per-folder
57
+ * selection: each folder is independent, so a click only adds/removes
58
+ * the clicked folder — never its ancestors or descendants. Parents
59
+ * showing an indeterminate hint is purely visual (computed in
60
+ * `cx-folder-select-tree-item.syncBoxes` from path-prefix matches),
61
+ * not a real selection.
62
+ *
63
+ * Only runs in multiple mode — single mode is still driven by `selectedValue`.
64
+ */
65
+ handleSelectedChange(event: CxSelectionChangeEvent<CxTreeItem>): Promise<void>;
40
66
  loadMore(event: MouseEvent): Promise<void>;
41
67
  handleFetchFolders(): Promise<void>;
42
68
  private fetchFolders;
@@ -19,14 +19,45 @@ export default class CxFolderSelectTreeItem extends CortexElement {
19
19
  'cx-tree-item': typeof CxTreeItem;
20
20
  };
21
21
  role: string;
22
+ /**
23
+ * cx-tree's syncCheckboxes/syncAncestors machinery walks `parentElement`
24
+ * and treats anything with `role="treeitem"` as a CxTreeItem. We expose
25
+ * this wrapper as a treeitem (for ARIA + selection plumbing) but it
26
+ * isn't a real CxTreeItem — it has no `getChildrenItems`. Telling
27
+ * syncAncestors to skip past us prevents `treeItem.getChildrenItems is
28
+ * not a function` and matches our per-folder selection model where
29
+ * parent state isn't auto-synced from children.
30
+ */
31
+ disabledSyncCheckboxes: boolean;
22
32
  readonly treeItem: CxTreeItem;
23
33
  folderId: string;
24
34
  hasChildren: boolean;
35
+ selectable: boolean;
25
36
  fullPath: string;
26
37
  docType: MediaType;
27
38
  name: string;
28
39
  representativeAssetId: string;
29
40
  selectedValue: string;
41
+ /**
42
+ * Selection mode propagated from cx-folder-select-tree.
43
+ * When `'multiple'`, selection state is driven declaratively from
44
+ * `currentRootIDsSet` / `removedIDs` via `syncBoxes()` (file-on-demand pattern),
45
+ * so it survives data reloads (search filters) and parents can show
46
+ * indeterminate from selected descendants without those descendants
47
+ * being loaded yet. When `'single'`, the legacy `selectedValue === folderId`
48
+ * binding on the inner cx-tree-item is used.
49
+ */
50
+ selection: 'multiple' | 'single';
51
+ /**
52
+ * Set of selected root IDs encoded as `${path}-${id}`. The set is owned by
53
+ * cx-folder-select-tree and passed in; tree-items only read from it.
54
+ */
55
+ currentRootIDsSet: Set<string>;
56
+ /**
57
+ * IDs (`${path}-${id}`) explicitly unchecked while their ancestor was
58
+ * selected. Used to render `indeterminate` on a selected ancestor.
59
+ */
60
+ removedIDs: string[];
30
61
  token: string;
31
62
  bearerToken: string;
32
63
  baseUrl: string;
@@ -34,6 +65,8 @@ export default class CxFolderSelectTreeItem extends CortexElement {
34
65
  api?: FolderSelectApi;
35
66
  excludeVirtualFolders: boolean;
36
67
  url: string;
68
+ /** Overrides the default `folder` icon name when set. */
69
+ icon: string;
37
70
  data: Folder[] | null;
38
71
  hasMore: boolean;
39
72
  loading: boolean;
@@ -47,6 +80,19 @@ export default class CxFolderSelectTreeItem extends CortexElement {
47
80
  }): Promise<GetFolderResponse>;
48
81
  loadMore(event: MouseEvent): Promise<void>;
49
82
  private handleLazyLoad;
83
+ /**
84
+ * Recompute this tree-item's selected/indeterminate state from the
85
+ * top-level selection set, purely declaratively. This lets us:
86
+ * - Persist selection across data reloads (e.g. when the user types a
87
+ * search term, items get re-rendered but their state is recomputed
88
+ * from the same set).
89
+ * - Show a parent as indeterminate when a descendant 3-4 levels deep
90
+ * is selected, even if the descendant isn't loaded yet — we only
91
+ * need its path prefix to match.
92
+ *
93
+ * Mirrors `cx-folder-item.syncBoxes` from packages/organisms/file-on-demand.
94
+ */
95
+ syncBoxes(): Promise<void>;
50
96
  render(): TemplateResult;
51
97
  }
52
98
  declare global {