@orangelogic/design-system 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/library/chunks/{_baseXor.DixEm6JQ.js → _baseXor.BCxbgizO.js} +2 -2
  2. package/library/chunks/{asset-link-format.CVwjA_yf.js → asset-link-format.C5Ue4EGP.js} +37 -36
  3. package/library/chunks/{button.D1YIxtv-.js → button.DbAUlIXG.js} +3 -3
  4. package/library/chunks/button.styles.D3GdfF7I.js +5 -0
  5. package/library/chunks/{color-swatch-group.BPXiMxjh.js → color-swatch-group.B10yWbVM.js} +3279 -2903
  6. package/library/chunks/color.CIHdfM_a.js +187 -0
  7. package/library/chunks/{confirm-popover.CJXyEa5A.js → confirm-popover.Cd4HM5-B.js} +4 -4
  8. package/library/chunks/content-builder.CBBdfVOl.js +55 -0
  9. package/library/chunks/{dialog.BbQ4Du0M.js → dialog.CXphbq8N.js} +2 -2
  10. package/library/chunks/{document-viewer.DtBW-p7z.js → document-viewer.B_ESlazf.js} +10 -9
  11. package/library/chunks/{dom.DL-cNKsj.js → dom.D0lSUoEI.js} +1 -1
  12. package/library/chunks/{dot-pagination.CJRAtM51.js → dot-pagination.CzT-MZmt.js} +1 -1
  13. package/library/chunks/{folder-select.BAPsI-gg.js → folder-select.BWeanVkA.js} +5 -5
  14. package/library/chunks/form-control.styles.CHC7Q08Q.js +5 -0
  15. package/library/chunks/{form.DN2v7-DH.js → form.LpappO1d.js} +1 -1
  16. package/library/chunks/{header.BioJzPlg.js → header.Dy57RuQW.js} +132 -90
  17. package/library/chunks/{i18n.rtxrs1c1.js → i18n.Q5_2aVLU.js} +93 -12
  18. package/library/chunks/{icon-button.CbUddcgI.js → icon-button.BjAbCuH8.js} +1 -1
  19. package/library/chunks/{iframe.y7iCAVZP.js → iframe.CdktjPCB.js} +1 -1
  20. package/library/chunks/{image.A2hE1WoV.js → image.CCo__54F.js} +322 -222
  21. package/library/chunks/index.DiZGZkHv.js +1126 -0
  22. package/library/chunks/{input.D1FFprPl.js → input.ftEf4GS6.js} +3 -3
  23. package/library/chunks/{markdown.Dd_GFJK8.js → markdown.RljldBNb.js} +3 -3
  24. package/library/chunks/{menu-item.CbqZ66to.js → menu-item.BNs1Ji48.js} +1 -1
  25. package/library/chunks/{option.CkhHTlpl.js → option.C8IEnv5Q.js} +1 -1
  26. package/library/chunks/{pagination.BlQRt932.js → pagination.Bke9vgl4.js} +6 -6
  27. package/library/chunks/{position-picker.DjnhxIKF.js → position-picker.qkbJlboF.js} +12 -0
  28. package/library/chunks/responsive.BmBJSzC4.js +17 -0
  29. package/library/chunks/{string.Demn8Xmk.js → string.CfI2ejyR.js} +3 -3
  30. package/library/chunks/{tab-group.CQfcMVEw.js → tab-group.DZ32f41G.js} +312 -310
  31. package/library/chunks/toast.D3AW3RWv.js +94 -0
  32. package/library/chunks/transformation.Dm-pK2ft.js +352 -0
  33. package/library/chunks/{tree.B7IKBX3n.js → tree.Umn7TAkc.js} +1 -1
  34. package/library/chunks/{types.MwUT4xFk.js → types.BW36Gr9c.js} +77051 -54471
  35. package/library/chunks/typography.BLYdTF0n.js +102 -0
  36. package/library/components/alert.js +2 -2
  37. package/library/components/asset-link-format.js +6 -6
  38. package/library/components/atoms.js +161 -159
  39. package/library/components/audio.js +3 -3
  40. package/library/components/bicolor-picker.js +2 -2
  41. package/library/components/border-input-group.js +2 -2
  42. package/library/components/box.d.ts +3 -0
  43. package/library/components/box.js +22 -0
  44. package/library/components/breadcrumb.js +1 -1
  45. package/library/components/button.js +4 -4
  46. package/library/components/card.js +7 -7
  47. package/library/components/checkbox.js +2 -2
  48. package/library/components/color-picker.js +36 -32
  49. package/library/components/color-swatch-group.js +8 -7
  50. package/library/components/color-swatch.js +246 -22
  51. package/library/components/confirm-popover.js +5 -5
  52. package/library/components/copy-button.js +2 -2
  53. package/library/components/corner-position-input-group.js +3 -3
  54. package/library/components/date-calendar.js +1 -1
  55. package/library/components/details.js +19 -19
  56. package/library/components/dialog.js +3 -3
  57. package/library/components/diff.js +1 -1
  58. package/library/components/document-viewer.js +4 -4
  59. package/library/components/dot-pagination.js +2 -2
  60. package/library/components/drawer.js +2 -2
  61. package/library/components/dropdown.js +2 -2
  62. package/library/components/dynamic-select.js +95 -92
  63. package/library/components/e-chart.js +1 -1
  64. package/library/components/element-clamp.js +2 -2
  65. package/library/components/file-on-demand.js +12 -12
  66. package/library/components/folder-select.js +5 -5
  67. package/library/components/format-bytes.js +1 -1
  68. package/library/components/format-date.js +1 -1
  69. package/library/components/format-number.js +1 -1
  70. package/library/components/format-time.js +1 -1
  71. package/library/components/header.js +6 -3
  72. package/library/components/icon-button.js +2 -2
  73. package/library/components/iframe.js +2 -2
  74. package/library/components/image-comparer.js +1 -1
  75. package/library/components/image.js +4 -3
  76. package/library/components/input-group.js +1 -1
  77. package/library/components/input.js +4 -4
  78. package/library/components/line-clamp.js +1 -1
  79. package/library/components/markdown.js +4 -4
  80. package/library/components/masonry.js +70 -56
  81. package/library/components/menu-item.js +2 -2
  82. package/library/components/menu.js +2 -2
  83. package/library/components/molecules.js +4 -4
  84. package/library/components/mutation-observer.js +25 -23
  85. package/library/components/option.js +2 -2
  86. package/library/components/organisms.js +2 -2
  87. package/library/components/padding-input-group.js +1 -1
  88. package/library/components/pagination.js +7 -7
  89. package/library/components/popup.js +1 -1
  90. package/library/components/position-picker.js +2 -2
  91. package/library/components/progress-bar.js +1 -1
  92. package/library/components/progress-ring.js +1 -1
  93. package/library/components/radio-button.js +1 -1
  94. package/library/components/radio-card.js +1 -1
  95. package/library/components/radio-group.js +2 -2
  96. package/library/components/range.js +3 -3
  97. package/library/components/rating.js +1 -1
  98. package/library/components/relative-time.js +1 -1
  99. package/library/components/select.js +5 -5
  100. package/library/components/shadow-input-group.js +1 -1
  101. package/library/components/share-option-list.js +3 -3
  102. package/library/components/sidebar.js +1 -1
  103. package/library/components/size-input-group.js +3 -3
  104. package/library/components/spinner.js +1 -1
  105. package/library/components/split-panel.js +1 -1
  106. package/library/components/switch.js +2 -2
  107. package/library/components/tab-group.js +6 -6
  108. package/library/components/tab-panel.js +1 -1
  109. package/library/components/tab.js +16 -16
  110. package/library/components/tag.js +2 -2
  111. package/library/components/textarea.js +2 -2
  112. package/library/components/timecode.js +2 -2
  113. package/library/components/tooltip.js +1 -1
  114. package/library/components/tree-item.js +2 -2
  115. package/library/components/tree.js +2 -2
  116. package/library/components/typeface.js +3 -3
  117. package/library/components/types.js +496 -487
  118. package/library/components/typography.js +3 -2
  119. package/library/components/video.js +4231 -4210
  120. package/library/css/ol-base.css +1 -0
  121. package/library/package.json +1 -1
  122. package/library/packages/atoms/src/components/box/box.d.ts +26 -0
  123. package/library/packages/atoms/src/components/box/box.styles.d.ts +7 -0
  124. package/library/packages/atoms/src/components/button/button.d.ts +4 -0
  125. package/library/packages/atoms/src/components/card/card.d.ts +1 -0
  126. package/library/packages/atoms/src/components/color-picker/color-picker.d.ts +11 -0
  127. package/library/packages/atoms/src/components/copy-button/copy-button.d.ts +1 -0
  128. package/library/packages/atoms/src/components/details/details.d.ts +6 -1
  129. package/library/packages/atoms/src/components/header/header.d.ts +38 -2
  130. package/library/packages/atoms/src/components/image/image.d.ts +14 -0
  131. package/library/packages/atoms/src/components/mutation-observer/mutation-observer.d.ts +1 -1
  132. package/library/packages/atoms/src/components/radio-card/radio-card.d.ts +1 -0
  133. package/library/packages/atoms/src/components/tab/tab.d.ts +17 -0
  134. package/library/packages/atoms/src/components/typography/typography.d.ts +31 -0
  135. package/library/packages/atoms/src/components/video/video.d.ts +18 -0
  136. package/library/packages/atoms/src/index.d.ts +1 -0
  137. package/library/packages/events/src/cx-color-swatch-picker-columns-change.d.ts +15 -0
  138. package/library/packages/events/src/events.d.ts +1 -0
  139. package/library/packages/hybrid/table-core/src/table/table.d.ts +10 -1
  140. package/library/packages/molecules/src/color-swatch/color-swatch.d.ts +35 -1
  141. package/library/packages/molecules/src/data-tab-group/data-tab-group.d.ts +30 -1
  142. package/library/packages/molecules/src/details-group/details-group.d.ts +105 -3
  143. package/library/packages/molecules/src/dynamic-select/dynamic-select.d.ts +5 -0
  144. package/library/packages/molecules/src/font-picker/font-picker.d.ts +3 -0
  145. package/library/packages/molecules/src/gallery-item/gallery-item.d.ts +10 -0
  146. package/library/packages/molecules/src/index.d.ts +0 -1
  147. package/library/packages/molecules/src/masonry/masonry.d.ts +5 -0
  148. package/library/packages/organisms/src/color-swatch-group/color-swatch-group.constants.d.ts +37 -45
  149. package/library/packages/organisms/src/color-swatch-group/color-swatch-group.d.ts +210 -10
  150. package/library/packages/organisms/src/content-builder/blocks/font-kit-advanced/font-kit-advanced.utils.d.ts +85 -0
  151. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +22 -6
  152. package/library/packages/organisms/src/content-builder/components/block-picker/block-picker.d.ts +24 -8
  153. package/library/packages/organisms/src/content-builder/components/color-swatch-picker/color-swatch-picker.d.ts +70 -1
  154. package/library/packages/organisms/src/content-builder/components/config-form/config-form-controller.d.ts +1 -22
  155. package/library/packages/organisms/src/content-builder/components/config-manager/config-manager.d.ts +7 -0
  156. package/library/packages/organisms/src/content-builder/components/gallery-config/gallery-config.d.ts +6 -0
  157. package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +1 -0
  158. package/library/packages/organisms/src/content-builder/configs/accordion.d.ts +7 -0
  159. package/library/packages/organisms/src/content-builder/configs/audio.d.ts +1 -0
  160. package/library/packages/organisms/src/content-builder/configs/button.d.ts +2 -1
  161. package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +11 -1
  162. package/library/packages/organisms/src/content-builder/configs/color-swatches.d.ts +19 -1
  163. package/library/packages/organisms/src/content-builder/configs/column-group.d.ts +11 -2
  164. package/library/packages/organisms/src/content-builder/configs/column.d.ts +13 -3
  165. package/library/packages/organisms/src/content-builder/configs/dam-view.d.ts +1 -0
  166. package/library/packages/organisms/src/content-builder/configs/divider.d.ts +1 -0
  167. package/library/packages/organisms/src/content-builder/configs/document-viewer.d.ts +1 -0
  168. package/library/packages/organisms/src/content-builder/configs/font-kit-advanced.d.ts +19 -0
  169. package/library/packages/organisms/src/content-builder/configs/font-kit.d.ts +2 -0
  170. package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +15 -1
  171. package/library/packages/organisms/src/content-builder/configs/header.d.ts +2 -0
  172. package/library/packages/organisms/src/content-builder/configs/image.d.ts +2 -0
  173. package/library/packages/organisms/src/content-builder/configs/index.d.ts +1 -0
  174. package/library/packages/organisms/src/content-builder/configs/search-box.d.ts +5 -1
  175. package/library/packages/organisms/src/content-builder/configs/tab-group.d.ts +7 -4
  176. package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
  177. package/library/packages/organisms/src/content-builder/configs/video.d.ts +3 -0
  178. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +155 -13
  179. package/library/packages/organisms/src/content-builder/content-builder-config.d.ts +60 -0
  180. package/library/packages/organisms/src/content-builder/content-builder-constants.d.ts +27 -0
  181. package/library/packages/organisms/src/content-builder/content-builder.d.ts +122 -2
  182. package/library/packages/organisms/src/content-builder/content-builder.sections.utils.d.ts +78 -0
  183. package/library/packages/organisms/src/content-builder/content-builder.utils.d.ts +33 -2
  184. package/library/packages/organisms/src/content-builder/plugins/font-kit-advanced.d.ts +5 -0
  185. package/library/packages/organisms/src/content-builder/plugins/gallery.d.ts +6 -0
  186. package/library/packages/organisms/src/content-builder/plugins/header.d.ts +7 -1
  187. package/library/packages/organisms/src/content-builder/plugins/index.d.ts +2 -1
  188. package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/components/rte-bubble-menu/rte-bubble-menu.d.ts +21 -1
  189. package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/extensions/index.d.ts +2 -0
  190. package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/rte-configs.d.ts +14 -0
  191. package/library/packages/organisms/src/content-builder/plugins/sections/section-fragment-component.d.ts +22 -0
  192. package/library/packages/organisms/src/content-builder/plugins/sections/section-host-mounting.d.ts +15 -0
  193. package/library/packages/organisms/src/content-builder/plugins/sections/sections-canvas-patches.d.ts +20 -0
  194. package/library/packages/organisms/src/content-builder/plugins/sections/sections-plugin.d.ts +7 -0
  195. package/library/packages/organisms/src/content-builder/plugins/toolbar.d.ts +10 -1
  196. package/library/packages/organisms/src/content-builder/plugins/utils/block-width.d.ts +20 -0
  197. package/library/packages/organisms/src/content-builder/styleController.d.ts +9 -5
  198. package/library/packages/organisms/src/content-builder-viewer/content-builder-viewer.d.ts +1 -0
  199. package/library/packages/organisms/src/form/control-renderer/control-renderer.d.ts +170 -0
  200. package/library/packages/organisms/src/form/control-renderer/control-renderer.styles.d.ts +9 -0
  201. package/library/packages/organisms/src/list-editor/list-editor.d.ts +181 -6
  202. package/library/packages/tools/src/tiptap/extensions/metafield/index.d.ts +12 -0
  203. package/library/packages/tools/src/tiptap/utils/md/schema.d.ts +1 -1
  204. package/library/packages/types/src/asset-link-format.d.ts +0 -1
  205. package/library/packages/types/src/button.d.ts +1 -1
  206. package/library/packages/types/src/color-swatch-group.d.ts +56 -0
  207. package/library/packages/types/src/color-swatch.d.ts +22 -0
  208. package/library/packages/types/src/column.d.ts +13 -0
  209. package/library/packages/types/src/content-builder.d.ts +69 -4
  210. package/library/packages/types/src/details-group.d.ts +80 -0
  211. package/library/packages/types/src/font-kit-advanced.d.ts +28 -0
  212. package/library/packages/types/src/font-kit.d.ts +19 -0
  213. package/library/packages/types/src/font-picker.d.ts +2 -0
  214. package/library/packages/types/src/gallery-item.d.ts +3 -1
  215. package/library/packages/types/src/gallery.d.ts +2 -1
  216. package/library/packages/types/src/index.d.ts +1 -0
  217. package/library/packages/types/src/masonry.d.ts +1 -0
  218. package/library/packages/types/src/position-picker.d.ts +6 -0
  219. package/library/packages/types/src/sb-button.d.ts +7 -0
  220. package/library/packages/types/src/search-box.d.ts +4 -0
  221. package/library/packages/utils/src/color/color.d.ts +27 -3
  222. package/library/packages/utils/src/custom-element/i18n.d.ts +85 -0
  223. package/library/packages/utils/src/font/font.d.ts +12 -0
  224. package/library/packages/utils/src/transformation/transformation.d.ts +11 -3
  225. package/library/react-web-component.d.ts +510 -156
  226. package/library/utils.js +415 -395
  227. package/package.json +1 -1
  228. package/library/chunks/button.styles.BWgHrfLD.js +0 -5
  229. package/library/chunks/color-swatch.DdsUysbF.js +0 -223
  230. package/library/chunks/color.LzSGBy7o.js +0 -164
  231. package/library/chunks/form-control.styles.CaGWmeAS.js +0 -5
  232. package/library/chunks/index.BO_sT6SH.js +0 -20123
  233. package/library/chunks/toast.BOkYwUIj.js +0 -109
  234. package/library/chunks/transformation.B8m0Nbao.js +0 -384
  235. package/library/chunks/typography.T72DuoCa.js +0 -52
  236. package/library/packages/molecules/src/search-box/search-box.d.ts +0 -114
  237. package/library/packages/organisms/src/content-builder/plugins/wrapper-container.d.ts +0 -15
  238. /package/library/packages/{molecules/src/search-box/search-box.styles.d.ts → organisms/src/content-builder-viewer/content-builder-viewer.styles.d.ts} +0 -0
@@ -1,24 +1,126 @@
1
1
  import { default as CxDetails } from '../../../atoms/src/components/details/details.ts';
2
+ import { default as CxIcon } from '../../../atoms/src/components/icon/icon.ts';
2
3
  import { default as CortexElement } from '../../../base/src/cortex-element.ts';
3
4
  import { DetailsItem } from '../../../types/src/details-group';
4
- import { CSSResultGroup } from 'lit';
5
+ import { IconPickerValue } from '../../../types/src/icon-picker';
6
+ import { CSSResultGroup, TemplateResult } from 'lit';
5
7
 
6
8
  /**
7
- * @summary CxDetailsGroup
9
+ * @summary Renders an accordion from a list of items, exposing each section's look as CSS custom properties.
10
+ *
11
+ * @description Every custom property below sets the look of all sections. A single section can
12
+ * override the header colors, border, background image and icons by carrying its own values on
13
+ * the item — see `DetailsItem` — which take effect once that item sets `customStyle`.
14
+ *
15
+ * @slot slot-{id} - The content for the section with the matching `id`.
8
16
  *
9
17
  * @cssproperty --details-background-color - The background color of the details.
18
+ * @cssproperty [--details-background-image=none] - A section's background image, covering the whole section so expanding it reveals more. Set per section from a `background` field on the item.
19
+ * @cssproperty [--details-background-size=cover] - How the section background image fills the section.
20
+ * @cssproperty [--details-background-position=top center] - Which part of the section background image stays in view.
21
+ * @cssproperty [--details-border-radius=var(--header-border-radius)] - A section's corner radius, which its background is clipped to. Follows the header's radius unless set.
22
+ * @cssproperty [--row-gap=var(--cx-spacing-medium)] - The gap between sections.
23
+ * @cssproperty [--header-padding=var(--cx-spacing-small)] - A section header's padding.
24
+ * @cssproperty [--section-body-max-width=100%] - Caps the width of a section's title and icon, centring them, while the header background still spans the section. Accepts px or %, and the `section-body-max-width` attribute sets it. Set it to the width of the section's body content so the two line up — most useful on a full-bleed accordion.
25
+ * @cssproperty [--expand-icon-width=var(--cx-font-size-large)] - The width of a closed section's icon. The height scales with it.
26
+ * @cssproperty [--hover-icon-width=var(--cx-font-size-large)] - The width of the icon shown while hovering a closed section. The height scales with it.
27
+ * @cssproperty [--collapse-icon-width=var(--cx-font-size-large)] - The width of an open section's icon. The height scales with it.
28
+ * @cssproperty [--header-border-radius=var(--cx-border-radius-small)] - A section header's border radius.
29
+ * @cssproperty --header-background-color - A section header's background color.
30
+ * @cssproperty --header-color - A section header's text and icon color.
31
+ * @cssproperty --header-border - A section header's border, as a `<color> <width>` pair.
32
+ * @cssproperty [--header-hover-background-color=var(--header-background-color)] - A closed section header's background color on hover.
33
+ * @cssproperty [--header-hover-color=var(--header-color)] - A closed section header's text and icon color on hover.
34
+ * @cssproperty [--header-hover-border=var(--header-border)] - A closed section header's border on hover.
35
+ * @cssproperty --header-active-background-color - An open section header's background color.
36
+ * @cssproperty --header-active-color - An open section header's text and icon color.
37
+ * @cssproperty --header-active-border - An open section header's border.
38
+ * @cssproperty [--header-font-size=var(--cx-font-size-large)] - A section header's font size.
39
+ * @cssproperty [--header-line-height=1.2] - A section header's line height, as a ratio of its font size.
40
+ * @cssproperty --header-font-family - A section header's font family.
41
+ * @cssproperty --header-font-style - A section header's font style.
42
+ * @cssproperty --header-font-weight - A section header's font weight.
43
+ * @cssproperty --content-padding - A section's content padding.
44
+ * @cssproperty [--content-font-size=var(--cx-font-size-medium)] - A section's content font size.
45
+ * @cssproperty [--empty-height=200px] - The height reserved when there are no sections.
10
46
  */
11
47
  export default class CxDetailsGroup extends CortexElement {
12
48
  static readonly styles: CSSResultGroup;
13
49
  static readonly dependencies: {
14
50
  'cx-details': typeof CxDetails;
51
+ 'cx-icon': typeof CxIcon;
15
52
  };
53
+ /** Attempts per background image, matching `cx-image`'s cap. */
54
+ private static readonly maxBackgroundRetries;
55
+ /**
56
+ * Reads an icon-picker value, stored as JSON. Only an unreadable one (empty or
57
+ * unparseable, as older blocks store it) takes `fallback` — so the empty payload the
58
+ * picker writes when cleared means "no icon", not "use the default".
59
+ */
60
+ private static createIconConverter;
16
61
  private readonly localize;
62
+ /** Background URLs already probed, so a re-render does not start a second attempt. */
63
+ private readonly probedBackgrounds;
64
+ /** How many times each background URL has been retried, against `maxBackgroundRetries`. */
65
+ private readonly backgroundRetryCounts;
66
+ /** Pending retry timers, cleared on disconnect. */
67
+ private readonly backgroundRetryTimers;
17
68
  data: DetailsItem[];
18
69
  defaultOpenIndexes?: number[];
19
70
  multiLanguage: boolean;
71
+ /**
72
+ * Caps the width of every section's title row, in px or %. Sets
73
+ * `--section-body-max-width`, so this is the attribute form of that custom property -
74
+ * which is what the content builder writes - and styling it directly still works.
75
+ */
76
+ sectionBodyMaxWidth: string;
77
+ /** The icon shown on a closed section. */
78
+ expandIcon: IconPickerValue | null;
79
+ /** The icon shown while hovering a closed section. Defaults to the closed icon. */
80
+ hoverIcon: IconPickerValue | null;
81
+ /** The icon shown on an open section. */
82
+ collapseIcon: IconPickerValue | null;
83
+ /** Cache-bust token per URL. Reactive: changing it is what re-points the CSS background. */
84
+ private backgroundRetryTokens;
20
85
  runFirstUpdated(): void;
21
- render(): import('lit').TemplateResult<1>;
86
+ connectedCallback(): void;
87
+ disconnectedCallback(): void;
88
+ /**
89
+ * Probes each background so a failed load can be retried. A CSS background reports no
90
+ * error of its own, so the only way to notice one is to load the same URL separately —
91
+ * normally served from cache.
92
+ */
93
+ handleBackgroundProbes(): void;
94
+ /** Loads a background out of band to see whether it resolves. Once per attempt. */
95
+ private probeBackground;
96
+ /**
97
+ * Re-points the background at a fresh URL after a backoff. Delay and cache-bust mirror
98
+ * `cx-image`: spread the attempts, and bypass an edge caching the failed response.
99
+ */
100
+ private scheduleBackgroundRetry;
101
+ /** Appends the retry cache-bust parameter while an attempt is in flight. */
102
+ private withBackgroundRetryToken;
103
+ /**
104
+ * The URL a background renders from, transformations applied. Shared with the probe so a
105
+ * retry tests what the CSS actually requests.
106
+ */
107
+ private resolveBackgroundSrc;
108
+ /**
109
+ * A section's own icon wins over the group's. Only an unset field inherits — a cleared one
110
+ * is a choice to show nothing.
111
+ */
112
+ private resolveIcon;
113
+ /**
114
+ * Turns a section's overrides into a style map of the CSS custom properties `cx-details`
115
+ * reads. Returns nothing while `customStyle` is off, so the group's look applies.
116
+ */
117
+ private resolveSectionStyle;
118
+ /**
119
+ * Renders the icon, or a hidden node that still fills the slot — `cx-details` falls back to
120
+ * its own chevron on an empty slot, so filling it is what makes "cleared" render nothing.
121
+ */
122
+ private renderIconSlot;
123
+ render(): TemplateResult<1>;
22
124
  }
23
125
  declare global {
24
126
  interface HTMLElementTagNameMap {
@@ -196,6 +196,11 @@ export default class CxDynamicSelect extends CortexElement {
196
196
  * The name of the icon to use for the prefix.
197
197
  */
198
198
  iconName: string;
199
+ /**
200
+ * Image source for the prefix icon, for picked images rather than named
201
+ * icons. Takes effect through cx-icon-button's own `src`.
202
+ */
203
+ iconSrc: string;
199
204
  /**
200
205
  * When set to true, the select will not show the dropdown.
201
206
  */
@@ -58,10 +58,13 @@ export default class CxFontPicker extends CortexElement {
58
58
  private get allTypefaces();
59
59
  private get selectedTypeface();
60
60
  private get availableFamilies();
61
+ /** An upright run then an italic one, each by ascending weight. */
62
+ private get groupedFamilies();
61
63
  private handleFamilyChange;
62
64
  private handleStyleChange;
63
65
  private renderTypefaceOptions;
64
66
  private renderFamilySelect;
67
+ private renderStyleOptions;
65
68
  private renderStyleSelect;
66
69
  render(): TemplateResult;
67
70
  }
@@ -3,6 +3,7 @@ import { default as HighlightableElement } from '../../../base/src/highlightable
3
3
  import { default as CxAssetDataDisplay } from '../asset-data-display/asset-data-display.ts';
4
4
  import { ObjectFit } from '../../../types/src/index.ts';
5
5
  import { GalleryItemContentPosition, GalleryItemContentVariant, GalleryItemShowContentType } from '../../../types/src/gallery-item';
6
+ import { PositionPickerValue } from '../../../types/src/position-picker';
6
7
  import { LocalizeController } from '../../../utils/src/custom-element/i18n';
7
8
  import { CSSResultGroup } from 'lit';
8
9
 
@@ -107,6 +108,15 @@ export default class CxGalleryItem extends HighlightableElement {
107
108
  * The object fit style for the image.
108
109
  */
109
110
  objectFit: ObjectFit;
111
+ /**
112
+ * The focal point used to position the image within its container.
113
+ */
114
+ cropFocus: PositionPickerValue;
115
+ /**
116
+ * The background color shown behind the image, e.g. to fill empty space
117
+ * left by `object-fit: contain`. Accepts any valid CSS color value.
118
+ */
119
+ backgroundColor: string;
110
120
  /**
111
121
  * When true, forwards `no-crossorigin` to the inner `<cx-image>`, disabling CORS mode.
112
122
  * Defaults to false (the image loads with `crossorigin="anonymous"`).
@@ -33,7 +33,6 @@ export { default as CxPageOutline } from './page-outline/page-outline';
33
33
  export { default as CxPdfViewerToolbar } from './pdf-viewer-toolbar/pdf-viewer-toolbar';
34
34
  export { default as CxPositionPicker } from './position-picker/position-picker';
35
35
  export { default as CxPublishPage } from './publish-page/publish-page';
36
- export { default as CxSearchBox } from './search-box/search-box';
37
36
  export { default as CxShadowInputGroup } from './shadow-input-group/shadow-input-group';
38
37
  export { default as CxShareOptionList } from './share-option-list/share-option-list';
39
38
  export { default as CxSidebar } from './sidebar/sidebar';
@@ -105,6 +105,11 @@ export default class CxMasonry extends CortexElement {
105
105
  private get itemSizes();
106
106
  handleItemClick(event: MouseEvent, item: MasonryItem): void;
107
107
  handleSortableUpdate(event: Sortable.SortableEvent): void;
108
+ /**
109
+ * An item without an image gets a browser-made drag preview that lands in the
110
+ * viewport corner. Use the item itself as the preview so it follows the cursor.
111
+ */
112
+ handleSetData(dataTransfer: DataTransfer, dragEl: HTMLElement): void;
108
113
  renderActions(item: MasonryItem): import('lit').TemplateResult<1>;
109
114
  renderMasonry(): import('lit').TemplateResult<1>;
110
115
  renderStandard(): import('lit').TemplateResult<1>;
@@ -1,60 +1,52 @@
1
1
  import { CellComponent } from '../../../hybrid/table-core/src/index.ts';
2
+ import { ColorSwatchCustomColumn } from '../../../types/src/color-swatch-group';
2
3
  import { LocalizeController } from '../../../utils/src/custom-element/i18n';
3
4
 
4
5
  export declare const MIN_WIDTH_GRID_ITEM = 165;
5
- export declare const validCodes: string[];
6
+ export declare const validCodes: Set<string>;
7
+ export declare const validElements: Set<string>;
6
8
  export declare const columnDefaults: {
7
9
  resizable: boolean;
8
10
  };
9
11
  /**
10
- * A single "Name" column that renders the color swatch and the name together,
11
- * so the "Name" header spans the whole column instead of truncating inside a
12
- * narrow swatch-only column.
12
+ * The column shape this component feeds to `cx-table`. Kept local (rather than
13
+ * Tabulator's full `ColumnDefinition`) because only these fields are used.
14
+ *
15
+ * The definitions below deliberately carry no `width` / `widthGrow` / `minWidth`
16
+ * / `maxWidth`: those belong to the block's per-column Width mode and
17
+ * Constraints settings, and `applyColumnSettings` fills them in. A leftover
18
+ * `widthGrow` here would make "Fill container" columns take unequal shares,
19
+ * since `fitColumns` distributes free space in proportion to it.
13
20
  */
14
- export declare const nameColumn: {
21
+ export type ColorSwatchColumn = {
15
22
  field: string;
16
- formatter: (cell: CellComponent) => HTMLDivElement;
23
+ formatter?: (cell: CellComponent) => HTMLElement | null;
17
24
  headerHozAlign: string;
18
25
  headerSort: boolean;
19
26
  hozAlign: string;
27
+ maxWidth?: number;
28
+ minWidth?: number;
29
+ responsive?: number;
20
30
  title: string;
21
- widthGrow: number;
31
+ width?: number;
32
+ widthGrow?: number;
22
33
  };
23
- export declare const codeColumns: ({
24
- field: string;
25
- headerHozAlign: string;
26
- headerSort: boolean;
27
- hozAlign: string;
28
- minWidth: number;
29
- title: string;
30
- responsive?: undefined;
31
- widthGrow?: undefined;
32
- } | {
33
- field: string;
34
- headerHozAlign: string;
35
- headerSort: boolean;
36
- hozAlign: string;
37
- responsive: number;
38
- title: string;
39
- widthGrow: number;
40
- minWidth?: undefined;
41
- })[];
42
- export declare const copyableCodeColumns: (localize: LocalizeController, palette: string) => ({
43
- field: string;
44
- formatter: (cell: any) => HTMLElement | null;
45
- headerHozAlign: string;
46
- headerSort: boolean;
47
- hozAlign: string;
48
- minWidth: number;
49
- title: string;
50
- widthGrow?: undefined;
51
- } | {
52
- field: string;
53
- formatter: (cell: any) => HTMLElement | null;
54
- headerHozAlign: string;
55
- headerSort: boolean;
56
- hozAlign: string;
57
- title: string;
58
- widthGrow: number;
59
- minWidth?: undefined;
60
- })[];
34
+ /**
35
+ * A single "Name" column that renders the color swatch and the name together,
36
+ * so the "Name" header spans the whole column instead of truncating inside a
37
+ * narrow swatch-only column.
38
+ */
39
+ export declare const nameColumn: ColorSwatchColumn;
40
+ export declare const codeColumns: ColorSwatchColumn[];
41
+ export declare const copyableCodeColumns: (localize: LocalizeController, palette: string) => ColorSwatchColumn[];
42
+ /**
43
+ * The `cx-table` column for one author-declared custom column.
44
+ *
45
+ * Reads a flat field rather than `metadata.<id>`: the component flattens each
46
+ * row first, keeping Tabulator away from nested-path lookups. Font overrides
47
+ * fall back to the block's Content group, so a column created without
48
+ * presentation settings matches the built-in code columns.
49
+ */
50
+ export declare function customColumn(column: ColorSwatchCustomColumn): ColorSwatchColumn;
51
+ /** The flat row key a custom column's value is copied to before rendering. */
52
+ export declare function customColumnField(id: string): string;
@@ -3,21 +3,56 @@ import { default as CxTypography } from '../../../atoms/src/components/typograph
3
3
  import { default as CortexElement } from '../../../base/src/cortex-element.ts';
4
4
  import { default as CxColorSwatch } from '../../../molecules/src/color-swatch/color-swatch.ts';
5
5
  import { default as CxTable } from '../../../hybrid/table-core/src/index.ts';
6
- import { ColorSwatchData } from '../../../types/src/color-swatch';
7
- import { CxColorSwatchGroupVariant } from '../../../types/src/color-swatch-group';
8
- import { CSSResultGroup } from 'lit';
6
+ import { ColorSwatchData, CxColorSwatchCodeAlignment, CxColorSwatchCodeSeparator, CxColorSwatchHexFormat } from '../../../types/src/color-swatch';
7
+ import { ColorSwatchCustomColumn, CxColorSwatchGroupColumnAlignment, CxColorSwatchGroupColumnWidthMode, CxColorSwatchGroupElement, CxColorSwatchGroupVariant } from '../../../types/src/color-swatch-group';
8
+ import { CSSResultGroup, PropertyValues } from 'lit';
9
9
 
10
10
  /**
11
11
  * @summary Color Swatch Group is used to display a group of color swatches.
12
12
  *
13
13
  * @cssproperty [--padding=0] - Padding of the container
14
- * @cssproperty [--grid-gap=var(--cx-spacing-medium)] - Gap size for Grid variant (horizontal & vertical)
15
- * @cssproperty [--swatch-group-horizontal-gap=-50px] - Gap size for Circle variant (horizontal) (use negative value for overlapping)
14
+ * @cssproperty [--grid-gap=var(--cx-spacing-medium)] - Gap size for Grid variant, used as the fallback for both axes below
15
+ * @cssproperty [--grid-column-gap=var(--grid-gap)] - Horizontal gap between cards in the Grid variant
16
+ * @cssproperty [--grid-row-gap=var(--grid-gap)] - Vertical gap between cards in the Grid variant
17
+ * @cssproperty [--swatch-min-height=50px] - Minimum height of a Grid variant card
18
+ * @cssproperty [--swatch-border=light-dark(transparent, transparent) 0px] - Border of a Grid variant card
19
+ * @cssproperty [--swatch-border-radius=var(--cx-border-radius-x-large)] - Corner radius of a Grid variant card
20
+ * @cssproperty [--swatch-box-shadow=0px 0px 0px 0px light-dark(transparent, transparent)] - Shadow of a Grid variant card
21
+ * @cssproperty [--swatch-content-justify=space-between] - Vertical alignment of the content inside a Grid variant card
22
+ * @cssproperty [--swatch-content-margin=var(--cx-spacing-medium)] - Padding around the content inside a Grid variant card
23
+ * @cssproperty [--swatch-group-horizontal-gap=-100px] - Gap size for Circle variant (horizontal) (use negative value for overlapping)
24
+ * @cssproperty [--swatch-circle-size=350px] - Size of a Circle variant swatch
25
+ * @cssproperty [--swatch-circle-border-radius=1000px] - Corner radius of a Circle variant swatch
26
+ * @cssproperty [--swatch-circle-content-align=center] - Horizontal alignment of the content inside a Circle variant swatch
27
+ * @cssproperty [--swatch-circle-content-justify=center] - Vertical alignment of the content inside a Circle variant swatch
28
+ * @cssproperty [--swatch-circle-content-margin=0px] - Margin around the content inside a Circle variant swatch
16
29
  * @cssproperty [--swatch-group-vertical-gap=-50px] - Gap size for Circle variant (vertical) (use negative value for overlapping)
17
- * @cssproperty --swatch-font-family - Font family for swatch names/keys/values and, in table mode, the palette title
18
- * @cssproperty [--swatch-font-style=normal] - Font style for swatch names/keys/values and, in table mode, the palette title
19
- * @cssproperty --swatch-font-weight - Font weight for swatch names/keys/values and, in table mode, the palette title
20
- * @cssproperty [--swatch-font-size=var(--cx-font-size-medium)] - Font size for swatch names/keys/values and, in table mode, the palette title
30
+ * @cssproperty --swatch-font-family - Font family for swatch names/keys/values and, in table mode, the cell content
31
+ * @cssproperty [--swatch-font-style=normal] - Font style for swatch names/keys/values and, in table mode, the cell content
32
+ * @cssproperty --swatch-font-weight - Font weight for swatch names/keys/values and, in table mode, the cell content
33
+ * @cssproperty [--swatch-font-size=var(--cx-font-size-large)] - Font size for swatch names/keys/values and, in table mode, the cell content
34
+ * @cssproperty [--swatch-text-color=light-dark(#000000, #ffffff)] - Text color of the table cell content (Table variant only; grid/circle swatches derive their text color from the swatch color)
35
+ * @cssproperty [--table-width=100%] - Width of the tables in the Table variant
36
+ * @cssproperty --row-padding - Padding shorthand for table rows. Split into the four longhands below by the block settings
37
+ * @cssproperty [--row-padding-top=var(--cx-spacing-2x-small)] - Top padding of table rows
38
+ * @cssproperty [--row-padding-right=var(--cx-spacing-2x-small)] - Right padding of table rows
39
+ * @cssproperty [--row-padding-bottom=var(--cx-spacing-2x-small)] - Bottom padding of table rows
40
+ * @cssproperty [--row-padding-left=var(--cx-spacing-2x-small)] - Left padding of table rows, also used as the column-title padding so titles line up with their cells
41
+ * @cssproperty [--name-swatch-width=64px] - Width of the color chip inside the Name cell (Table variant)
42
+ * @cssproperty [--name-swatch-height=32px] - Height of the color chip inside the Name cell (Table variant)
43
+ * @cssproperty [--name-swatch-border-radius=0] - Corner radius of the color chip inside the Name cell (Table variant)
44
+ * @cssproperty [--table-row-gap=0] - Vertical space between table rows
45
+ * @cssproperty [--table-column-gap=0px] - Horizontal space between table columns
46
+ * @cssproperty --palette-title-font-family - Font family of the palette titles (Table variant)
47
+ * @cssproperty --palette-title-font-style - Font style of the palette titles (Table variant)
48
+ * @cssproperty --palette-title-font-weight - Font weight of the palette titles (Table variant)
49
+ * @cssproperty [--palette-title-font-size=var(--cx-font-size-x-large)] - Font size of the palette titles (Table variant)
50
+ * @cssproperty [--palette-title-color=light-dark(#000000, #ffffff)] - Text color of the palette titles (Table variant)
51
+ * @cssproperty --column-title-font-family - Font family of the column titles (Table variant)
52
+ * @cssproperty --column-title-font-style - Font style of the column titles (Table variant)
53
+ * @cssproperty --column-title-font-weight - Font weight of the column titles (Table variant)
54
+ * @cssproperty [--column-title-font-size=var(--cx-font-size-large)] - Font size of the column titles (Table variant)
55
+ * @cssproperty [--column-title-color=light-dark(#000000, #ffffff)] - Text color of the column titles (Table variant)
21
56
  *
22
57
  * @csspart base - The component's base wrapper.
23
58
  *
@@ -45,6 +80,10 @@ export default class CxColorSwatchGroup extends CortexElement {
45
80
  */
46
81
  containerEl: HTMLDivElement;
47
82
  tableEls: NodeListOf<CxTable>;
83
+ /**
84
+ * Off-screen element used to size "Hug contents" columns from the data.
85
+ */
86
+ private readonly measureEl?;
48
87
  /**
49
88
  * Color swatch group variant
50
89
  */
@@ -67,6 +106,70 @@ export default class CxColorSwatchGroup extends CortexElement {
67
106
  */
68
107
  showCodes: string[];
69
108
  multiLanguage: boolean;
109
+ /**
110
+ * Whether a code's label and value share a line or stack on separate lines
111
+ */
112
+ codeAlignment: CxColorSwatchCodeAlignment;
113
+ /**
114
+ * Separator between the numeric parts of the RGB and CMYK codes
115
+ */
116
+ codeSeparator: CxColorSwatchCodeSeparator;
117
+ /**
118
+ * Which prefix the HEX code carries: `#`, `0x`, or none
119
+ */
120
+ hexFormat: CxColorSwatchHexFormat;
121
+ /**
122
+ * Optional table chrome to render (palette name, column titles, separator
123
+ * line). Table variant only; anything omitted from the list is hidden.
124
+ */
125
+ showElements: CxColorSwatchGroupElement[];
126
+ /**
127
+ * Whether the name column shares the table's free space or hugs its content
128
+ */
129
+ nameColumnWidthMode: CxColorSwatchGroupColumnWidthMode;
130
+ /**
131
+ * Applies the name column's min/max width constraints
132
+ */
133
+ nameColumnConstraints: boolean;
134
+ /**
135
+ * Minimum width (px) of the name column, applied while `name-column-constraints` is set
136
+ */
137
+ nameColumnMinWidth?: number;
138
+ /**
139
+ * Maximum width (px) of the name column, applied while `name-column-constraints` is set
140
+ */
141
+ nameColumnMaxWidth?: number;
142
+ /**
143
+ * Horizontal alignment of the name column. Unset keeps the built-in default.
144
+ */
145
+ nameColumnAlignment?: CxColorSwatchGroupColumnAlignment;
146
+ /**
147
+ * Whether the code columns share the table's free space or hug their content
148
+ */
149
+ codeColumnWidthMode: CxColorSwatchGroupColumnWidthMode;
150
+ /**
151
+ * Applies the code columns' min/max width constraints
152
+ */
153
+ codeColumnConstraints: boolean;
154
+ /**
155
+ * Minimum width (px) of each code column, applied while `code-column-constraints` is set
156
+ */
157
+ codeColumnMinWidth?: number;
158
+ /**
159
+ * Maximum width (px) of each code column, applied while `code-column-constraints` is set
160
+ */
161
+ codeColumnMaxWidth?: number;
162
+ /**
163
+ * Horizontal alignment of the code columns. Unset keeps the built-in default.
164
+ */
165
+ codeColumnAlignment?: CxColorSwatchGroupColumnAlignment;
166
+ /**
167
+ * Extra table columns, after the code columns. Each color holds its value in
168
+ * `metadata[column.id]`. Table variant only.
169
+ */
170
+ customColumns: ColorSwatchCustomColumn[];
171
+ /** Paints the Grid variant's cards as one color ramp across the row. */
172
+ gradientEffect: boolean;
70
173
  /**
71
174
  * Breakpoints for responsive design
72
175
  */
@@ -79,12 +182,30 @@ export default class CxColorSwatchGroup extends CortexElement {
79
182
  * Current total grid column
80
183
  */
81
184
  private currentCol;
185
+ /**
186
+ * `showElements` indexed for lookup: the template asks about each element
187
+ * once per render, so it is scanned once here instead.
188
+ */
189
+ private visibleElements;
190
+ /**
191
+ * Measured content width per field, used by columns set to "Hug contents".
192
+ *
193
+ * Only hugging fields are carried: a column set to fill never reads this, so
194
+ * measuring it would cost a layout pass for a width nothing applies.
195
+ *
196
+ * cx-table cannot supply this: its fit-content layouts (`fitData*`) size a
197
+ * column to its *header title* only — `Column.fitToData()` measures cells that
198
+ * have already collapsed inside the flex row — and they are table-wide, so
199
+ * they cannot be mixed with a column that fills. Measuring from the data here
200
+ * keeps hug honest, per column, and free of any feedback loop.
201
+ */
202
+ private hugWidths;
82
203
  private isFocused;
83
204
  canFocusContainer: boolean;
84
205
  isContainerFocused: boolean;
85
206
  constructor();
86
207
  runFirstUpdated(): void;
87
- runConnectedCallback(): void;
208
+ connectedCallback(): void;
88
209
  disconnectedCallback(): void;
89
210
  private handleWindowResize;
90
211
  /**
@@ -94,14 +215,93 @@ export default class CxColorSwatchGroup extends CortexElement {
94
215
  private handleKeyDown;
95
216
  private handleFocusIn;
96
217
  private handleFocusOut;
218
+ updated(changedProperties: PropertyValues<this>): void;
219
+ /**
220
+ * Re-measure after every render rather than from a `@watch`: the fonts and row
221
+ * paddings that decide a hug width arrive as CSS custom properties, which
222
+ * never appear in Lit's changed properties. Assigning only on a real change
223
+ * keeps the extra render from looping.
224
+ */
225
+ private syncHugWidths;
226
+ /** Whether a built-in column's shared width mode is "Hug contents". */
227
+ private hugsBuiltInColumn;
228
+ /**
229
+ * Widest rendered width per field, measured off-screen from the data: the
230
+ * column title in the header font, and every cell value in the content font,
231
+ * each inside a box that mirrors the real cell's padding and column gap.
232
+ *
233
+ * Skips columns set to fill: one hugging column used to drag every other
234
+ * column through a full measurement pass whose width nothing then read.
235
+ */
236
+ private measureHugWidths;
237
+ /**
238
+ * Lays one string out in the probe and returns its width. `inlineStyles`
239
+ * carries a custom column's own font, which no class can express.
240
+ */
241
+ private measureProbe;
242
+ /** Widest of the title and every stored value for a built-in column. */
243
+ private measureBuiltInColumn;
244
+ /**
245
+ * Widest of the title and every stored metadata value for a custom column.
246
+ * The title uses the shared column-title font: a column's own font styles its
247
+ * cells, not its header.
248
+ */
249
+ private measureCustomColumn;
250
+ /**
251
+ * A zero measurement means nothing was laid out (the block is hidden, or this
252
+ * is the render that created the probe). Leaving the field out keeps the
253
+ * column flexible for now instead of pinning it to a bogus width; the next
254
+ * render measures again.
255
+ */
256
+ private recordHugWidth;
257
+ /**
258
+ * The card at `index`'s slice of one ramp spanning the whole row.
259
+ *
260
+ * The ramp belongs to the row, not to each card: first color on the row's
261
+ * left edge, last on its right, the rest spread evenly between. A card
262
+ * reports the ramp at its own two edges plus any color falling inside it, so
263
+ * two cards at a seam sample the same position and agree on the color there.
264
+ *
265
+ * Anchoring colors to card centers instead leaves the halves before the first
266
+ * and after the last color flat, so the band stops short of the block's edges.
267
+ */
268
+ private gradientStopsFor;
269
+ /**
270
+ * The ramp's color at `position`, a fraction of the row. Both cards at a seam
271
+ * pass the same fraction, so they get the same string and the seam cannot show.
272
+ */
273
+ private sampleGradient;
274
+ /**
275
+ * Copies a color's metadata onto flat row keys so the table reads plain
276
+ * fields instead of a nested path. Columns with no value still get a key,
277
+ * which keeps the cell empty instead of showing the previous row's data.
278
+ */
279
+ private flattenMetadata;
280
+ /**
281
+ * Renders one stored code the way it is displayed. Used for the table cells,
282
+ * the text their copy buttons put on the clipboard, and the hug measurement,
283
+ * so all three stay in step.
284
+ */
285
+ private formatCode;
286
+ /**
287
+ * Overlay the block's width/constraint/alignment settings onto one of the
288
+ * built-in column definitions.
289
+ */
290
+ private applyColumnSettings;
97
291
  /**
98
292
  * Filter out the columns that are not in the showCodes
99
293
  */
100
294
  private getTableColumns;
295
+ /**
296
+ * Every input that feeds `getTableColumns`. Used as the `guard` dependency
297
+ * list so the cached table template is rebuilt whenever one of them changes.
298
+ */
299
+ private get columnGuardDependencies();
101
300
  /**
102
301
  * Categorize the color swatches by palette
103
302
  */
104
303
  private categorizeByPalette;
304
+ handleShowElementsChange(): void;
105
305
  handleIsFocusedChange(): void;
106
306
  /**
107
307
  * Get current direction of the color swatch group