@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
@@ -110,6 +110,7 @@
110
110
  --cx-input-height-small : 24px;
111
111
  --cx-input-letter-spacing : var(--cx-letter-spacing-normal);
112
112
  --cx-input-required-content : '*';
113
+ --cx-input-required-content-display: inline;
113
114
  --cx-input-required-content-offset: -2px;
114
115
  --cx-input-spacing-large : var(--cx-spacing-medium);
115
116
  --cx-input-spacing-medium : var(--cx-spacing-medium);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "4.2.0",
4
+ "version": "4.3.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -0,0 +1,26 @@
1
+ import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
2
+ import { CSSResultGroup } from 'lit';
3
+
4
+ /**
5
+ * @summary A generic layout container. Style it with ordinary CSS (`display: grid`,
6
+ * `grid-template-columns`, `gap`, …) and its slotted children become the layout items.
7
+ *
8
+ * @description The box renders a single default slot and no layout of its own beyond
9
+ * `display: block`. Because a slot is `display: contents`, whatever layout the consumer puts on
10
+ * the element applies to the light-DOM children directly, so a `cx-box` can be a CSS grid whose
11
+ * children place themselves with `grid-column` / `grid-area`, or a grid nested in another grid with
12
+ * the same track list (grid-in-grid). Use `cx-space` when you only need evenly spaced items.
13
+ *
14
+ * @slot - The children to lay out.
15
+ *
16
+ * @csspart base - The slot that holds the children.
17
+ */
18
+ export default class CxBox extends CortexElement {
19
+ static readonly styles: CSSResultGroup;
20
+ render(): import('lit').TemplateResult<1>;
21
+ }
22
+ declare global {
23
+ interface HTMLElementTagNameMap {
24
+ 'cx-box': CxBox;
25
+ }
26
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The host is the layout container: slotted children are its flow/flex/grid items in the flat tree,
3
+ * so consumers set `display`, tracks, gaps and alignment on the element itself with ordinary CSS.
4
+ * Nothing here should get in the way of that.
5
+ */
6
+ declare const _default: import('lit').CSSResult;
7
+ export default _default;
@@ -27,6 +27,10 @@ import { default as CxSpinner } from '../spinner/spinner';
27
27
  * @cssproperty [--justify-content] - Flex alignment along the main axis (defaults to `center`).
28
28
  * @cssproperty [--gap] - Gap between flex items in the button (defaults to `0`).
29
29
  * @cssproperty [--label-line-height] - Line-height of the label (defaults to `1.15`).
30
+ * @cssproperty [--button-custom-hover-shift] - OKLCH lightness step for the Custom appearance's derived hover
31
+ * background (defaults to `0.06`). Ignored when `--background-color-focus` is set.
32
+ * @cssproperty [--button-custom-active-shift] - OKLCH lightness step for the Custom appearance's derived active
33
+ * background (defaults to `0.12`). Ignored when `--background-color-active` is set.
30
34
  * @cssproperty [--caret-font-size] - Overrides the caret icon's font size (defaults to `--cx-font-size-large`, or
31
35
  * `--cx-font-size-medium` when `size="small"`). Useful when embedding the button somewhere it must match a
32
36
  * smaller surrounding line-height.
@@ -22,6 +22,7 @@ import { CSSResultGroup } from 'lit';
22
22
  * @cssproperty --padding - The padding to use for the card's sections.
23
23
  * @cssproperty [--card-width=auto] - The width of the card.
24
24
  * @cssproperty [--card-height=auto] - The height of the card.
25
+ * @cssproperty [--card-overflow=auto] - How the card's base handles overflowing content. Set to `clip` for cards that must never scroll.
25
26
  */
26
27
  export default class CxCard extends CortexElement {
27
28
  static readonly styles: CSSResultGroup;
@@ -120,6 +120,13 @@ export default class CxColorPicker extends CortexElement implements CortexFormCo
120
120
  private saturation;
121
121
  private brightness;
122
122
  private alpha;
123
+ /**
124
+ * The alpha carried by the color most recently loaded, kept even while `opacity` is off.
125
+ * With opacity disabled, `alpha` collapses to 100 and `syncValues()` rewrites `value` to an
126
+ * alpha-less string, so the original transparency is otherwise unrecoverable once opacity is
127
+ * switched back on.
128
+ */
129
+ private lastParsedAlpha;
123
130
  /** The gradient being edited in the Gradient tab. */
124
131
  private gradientValue;
125
132
  /** The id of the gradient stop that the color controls currently edit. */
@@ -337,6 +344,10 @@ export default class CxColorPicker extends CortexElement implements CortexFormCo
337
344
  private handleGradientTypeChange;
338
345
  private handleGradientAngleInput;
339
346
  handleFormatChange(): void;
347
+ /**
348
+ * Keeps `alpha` in step when the opacity slider is toggled. Disabling opacity collapses the
349
+ * color to fully opaque; enabling it restores `lastParsedAlpha` instead of resetting to 100.
350
+ */
340
351
  handleOpacityChange(): void;
341
352
  /**
342
353
  * Parses a swatch list once per change rather than on every render. `render()` used to
@@ -32,6 +32,7 @@ import { default as CxTooltip } from '../tooltip/tooltip';
32
32
  * @cssproperty --button-font-weight - The font weight to use for the button.
33
33
  * @cssproperty --button-padding - The padding to use for the button.
34
34
  * @cssproperty --button-background-color - The background color to use for the button.
35
+ * @cssproperty [--button-text-color=var(--cx-color-neutral)] - The text color to use for the button's label, including its hover and active states.
35
36
  *
36
37
  * @animation copy.in - The animation to use when feedback icons animate in.
37
38
  * @animation copy.out - The animation to use when feedback icons animate out.
@@ -16,7 +16,8 @@ import { default as CxIcon } from '../icon/icon';
16
16
  * @event cx-after-hide - Emitted after the details closes and all animations are complete.
17
17
  *
18
18
  * @csspart base - The component's base wrapper.
19
- * @csspart header - The header that wraps both the summary and the expand/collapse icon.
19
+ * @csspart header - The bar around the summary row: background, border and padding.
20
+ * @csspart header-content - The row holding the summary and the expand/collapse icon. Constrain this — with a max-width, say — to inset the title while the header keeps spanning the section.
20
21
  * @csspart summary - The container that wraps the summary.
21
22
  * @csspart summary-icon - The container that wraps the expand/collapse icons. Use `icon-start` to place this before the summary.
22
23
  * @csspart content - The details content.
@@ -27,6 +28,10 @@ import { default as CxIcon } from '../icon/icon';
27
28
  * @cssproperty --details-background-color - The background color of the details.
28
29
  * @cssproperty --details-border - The border of the details.
29
30
  * @cssproperty --expand-icon-size - The size of the expand/collapse icon.
31
+ * @cssproperty [--header-hover-background-color=var(--header-background-color)] - The header's background color while hovered and closed.
32
+ * @cssproperty [--header-hover-color=var(--header-color)] - The header's text color while hovered and closed.
33
+ * @cssproperty [--header-hover-border=var(--header-border)] - The header's border while hovered and closed.
34
+ * @cssproperty [--summary-icon-open-rotate=90deg] - How far the expand/collapse icon rotates when open; set to `0deg` when supplying an icon that already points the right way.
30
35
  */
31
36
  export default class CxDetails extends CortexElement {
32
37
  static styles: CSSResultGroup;
@@ -1,5 +1,6 @@
1
1
  import { default as CxCopyButton } from '../copy-button/copy-button.ts';
2
2
  import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
3
+ import { DeviceType } from '../../../../types/src/content-builder';
3
4
  import { Alignment, Variant } from '../../../../types/src/header';
4
5
  import { CSSResultGroup, TemplateResult } from 'lit';
5
6
 
@@ -17,9 +18,30 @@ export default class CxHeader extends CortexElement {
17
18
  variant: Variant;
18
19
  /**
19
20
  * The font size of the heading.
20
- * Will override the default font size by the variant if provided
21
+ * Will override the default font size by the variant if provided.
22
+ * Applied on mobile, and on tablet/desktop when they have no size of their own.
21
23
  */
22
24
  fontSize: string | undefined;
25
+ /**
26
+ * The font size of the heading on tablet. Falls back to the base font size
27
+ * when unset.
28
+ */
29
+ fontSizeTablet: string | undefined;
30
+ /**
31
+ * The font size of the heading on desktop. Falls back to the base font size
32
+ * when unset.
33
+ */
34
+ fontSizeDesktop: string | undefined;
35
+ /**
36
+ * Device type.
37
+ * Don't use this prop since it is controlled by the window resize event.
38
+ * Picks which of the three font sizes applies.
39
+ */
40
+ deviceType: DeviceType;
41
+ /**
42
+ * Breakpoints for responsive design.
43
+ */
44
+ breakpoints: [number, number, number];
23
45
  /**
24
46
  * Enables the anchor link for the header.
25
47
  */
@@ -52,16 +74,23 @@ export default class CxHeader extends CortexElement {
52
74
  * Otherwise, it generates an anchor based on the text content of the header,
53
75
  */
54
76
  get anchorID(): string;
77
+ /**
78
+ * The font size for the current device. The base font size is the fallback,
79
+ * so a heading with no tablet/desktop size of its own keeps the same size on
80
+ * every breakpoint.
81
+ */
82
+ private get currentFontSize();
55
83
  scrollToAnchor: () => void;
56
84
  constructor();
57
85
  runFirstUpdated(): void;
58
- runConnectedCallback(): void;
86
+ connectedCallback(): void;
59
87
  disconnectedCallback(): void;
60
88
  /**
61
89
  * Scroll to anchor after CMS5 page is ready
62
90
  * Wait 100ms for repaint reflow shift layout (not affect by fetching api in web component)
63
91
  */
64
92
  handleCMS5PageReady(): void;
93
+ private handleWindowResize;
65
94
  private handleClick;
66
95
  getAnchorID(): string;
67
96
  /**
@@ -69,6 +98,13 @@ export default class CxHeader extends CortexElement {
69
98
  * This method is used to re-add the slot element.
70
99
  */
71
100
  addSlotElement(): void;
101
+ /**
102
+ * `device-type` is runtime state, not one of the block's saved attributes, so the
103
+ * content builder drops it whenever it re-applies its own attribute set to the
104
+ * element and Lit turns the removed attribute into `null`. Re-derive it so the
105
+ * heading keeps the size of the device it is actually viewed at.
106
+ */
107
+ handleDeviceTypeChange(): void;
72
108
  handleHeadingChange(): void;
73
109
  private handleCopyButtonClick;
74
110
  renderHeading(): TemplateResult;
@@ -1,6 +1,7 @@
1
1
  import { default as ResizableElement } from '../../../../base/src/resizable-element.ts';
2
2
  import { ObjectFit } from '../../../../types/src/index.ts';
3
3
  import { ClickHandlerType } from '../../../../types/src/image';
4
+ import { PositionPickerValue } from '../../../../types/src/position-picker';
4
5
  import { LocalizeController } from '../../../../utils/src/custom-element/i18n';
5
6
  import { nothing, TemplateResult } from 'lit';
6
7
  import { Zoom } from 'medium-zoom';
@@ -95,6 +96,11 @@ export default class CxImage extends ResizableElement {
95
96
  * The object-fit property of the image.
96
97
  */
97
98
  objectFit: ObjectFit;
99
+ /**
100
+ * The focal point used to position the image within its container
101
+ * (applies whenever object-fit leaves free space to position within: cover, contain, none, scale-down).
102
+ */
103
+ cropFocus: PositionPickerValue;
98
104
  /**
99
105
  * Should the skeleton be shown when the image is loading.
100
106
  */
@@ -160,6 +166,14 @@ export default class CxImage extends ResizableElement {
160
166
  get currentSrc(): string;
161
167
  get highlighterTabindex(): "0" | undefined;
162
168
  get highlighterRole(): "button" | "img";
169
+ /**
170
+ * `object-position` only shifts content already stretched to fill the `<img>` box, so
171
+ * under `contain` (where the image shrinks to fit and never fills that box on both axes)
172
+ * the focal point must instead be applied by aligning the `<img>` within this flex parent.
173
+ */
174
+ get highlighterCropFocusClass(): {
175
+ [x: string]: boolean;
176
+ };
163
177
  get highlighterClass(): {
164
178
  [x: string]: boolean;
165
179
  'highlightable-item': boolean;
@@ -14,7 +14,7 @@ import { CSSResultGroup } from 'lit';
14
14
  */
15
15
  export default class CxMutationObserver extends CortexElement {
16
16
  static styles: CSSResultGroup;
17
- private mutationObserver;
17
+ private mutationObserver?;
18
18
  mutationSlot: HTMLSlotElement;
19
19
  /**
20
20
  * Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.
@@ -24,6 +24,7 @@ import { default as CxRadio } from '../radio/radio';
24
24
  * @cssproperty [--description-color=var(--cx-input-label-color)] - The color of the description text.
25
25
  * @cssproperty [--card-width=auto] - The width of the radio card.
26
26
  * @cssproperty [--card-height=auto] - The height of the radio card.
27
+ * @cssproperty [--radio-card-overflow=auto] - How the radio card handles overflowing content. Set to `clip` for tiles that must never scroll.
27
28
  *
28
29
  * @slot - The radio’s label.
29
30
  * @slot image - The radio’s image.
@@ -14,6 +14,23 @@ import { default as CxLineClamp } from '../line-clamp/line-clamp';
14
14
  * @csspart label - The tab's label wrapper (cx-line-clamp).
15
15
  * @csspart close-button - The close button, an `<cx-icon-button>`.
16
16
  * @csspart close-button__base - The close button's exported `base` part.
17
+ *
18
+ * @cssproperty [--tab-padding=var(--cx-spacing-x-small)] - The tab's padding.
19
+ * @cssproperty --tab-color - The tab's text color.
20
+ * @cssproperty --tab-active-color - The tab's text color when active.
21
+ * @cssproperty --tab-background-color - The tab's background color.
22
+ * @cssproperty --tab-active-background-color - The tab's background color when active.
23
+ * @cssproperty --tab-border-radius - The tab's border radius (button variant).
24
+ * @cssproperty [--tab-border=transparent 0] - The tab's border, as a `<color> <width>` pair.
25
+ * @cssproperty [--tab-border-top-style=solid] - The style of the tab's top border; `none` hides that side.
26
+ * @cssproperty [--tab-border-right-style=solid] - The style of the tab's right border; `none` hides that side.
27
+ * @cssproperty [--tab-border-bottom-style=solid] - The style of the tab's bottom border; `none` hides that side.
28
+ * @cssproperty [--tab-border-left-style=solid] - The style of the tab's left border; `none` hides that side.
29
+ * @cssproperty [--tab-label-font-family=var(--cx-font-sans)] - The tab label's font family.
30
+ * @cssproperty [--tab-label-font-style=normal] - The tab label's font style.
31
+ * @cssproperty [--tab-label-font-size=var(--cx-font-size-small)] - The tab label's font size.
32
+ * @cssproperty [--tab-label-font-weight=var(--cx-font-weight-medium)] - The tab label's font weight.
33
+ * @cssproperty [--tab-max-width=none] - The tab's maximum width.
17
34
  */
18
35
  export default class CxTab extends CortexElement {
19
36
  static styles: CSSResultGroup;
@@ -5,6 +5,10 @@ import { CSSResultGroup, TemplateResult } from 'lit';
5
5
  /**
6
6
  * @summary Use headings for page titles or subheadings to introduce content.
7
7
  * Headings are sized to contrast with content, increase visual hierarchy, and help readers easily understand the structure of content.
8
+ * @description With `editable`, the text can be changed in place: the element becomes a plain-text
9
+ * editor, Enter or leaving it commits, Escape restores the previous text.
10
+ *
11
+ * @event cx-change - Emitted after an inline edit changed the text and was committed; read the new text from `value`.
8
12
  *
9
13
  * @csspart base - The component’s base wrapper.
10
14
  *
@@ -13,7 +17,34 @@ import { CSSResultGroup, TemplateResult } from 'lit';
13
17
  */
14
18
  export default class CxTypography extends CortexElement {
15
19
  static readonly styles: CSSResultGroup;
20
+ /** Text when the current inline edit started: restored on Escape, compared against on commit. */
21
+ private valueBeforeEdit;
16
22
  variant: TypographyVariant;
23
+ /**
24
+ * Lets the reader edit the text in place. The element itself becomes a plain-text
25
+ * `contenteditable`, so the slotted text stays the single source of truth: Enter commits,
26
+ * Escape restores the text from before the edit, and focus leaving the element commits too.
27
+ * A commit that changed the text emits `cx-change`; an emptied text is restored instead.
28
+ */
29
+ editable: boolean;
30
+ /**
31
+ * The current text, trimmed. Assigning replaces the slotted text, so a host can read back an
32
+ * inline edit or reset it. Declared on the setter so the wrapper generators see the property.
33
+ */
34
+ set value(text: string);
35
+ get value(): string;
36
+ constructor();
37
+ connectedCallback(): void;
38
+ disconnectedCallback(): void;
39
+ handleEditableChange(): void;
40
+ private handleFocusIn;
41
+ private handleFocusOut;
42
+ private handleKeyDown;
43
+ /**
44
+ * Normalises the edited text and reports it. Runs from focusout, so both Enter and clicking
45
+ * away end up here exactly once per edit.
46
+ */
47
+ private commitEdit;
17
48
  render(): TemplateResult;
18
49
  }
19
50
  declare global {
@@ -1,6 +1,8 @@
1
1
  import { default as CxImage } from '../image/image.ts';
2
2
  import { default as CxResizeObserver } from '../resize-observer/resize-observer.ts';
3
3
  import { default as ResizableElement } from '../../../../base/src/resizable-element.ts';
4
+ import { ObjectFit } from '../../../../types/src/index.ts';
5
+ import { PositionPickerValue } from '../../../../types/src/position-picker';
4
6
  import { LocalizeController } from '../../../../utils/src/custom-element/i18n';
5
7
  import { TemplateResult } from 'lit';
6
8
  import { VideoJsPlayer } from './videojs/index.js';
@@ -14,6 +16,7 @@ import { VideoJsPlayer } from './videojs/index.js';
14
16
  * @cssproperty [--padding=0] - The padding of the image.
15
17
  * @cssproperty --border-radius - The border-radius of the video container.
16
18
  * @cssproperty --border - The border of the video container.
19
+ * @cssproperty [--empty-aspect-ratio=16 / 9] - The aspect ratio held by the empty state (no `src`, no `poster`) when `height-mode` is `auto`.
17
20
  *
18
21
  * @event cx-play - Emitted when playback starts.
19
22
  * @event cx-pause - Emitted when playback pauses.
@@ -26,6 +29,13 @@ import { VideoJsPlayer } from './videojs/index.js';
26
29
  *
27
30
  * @slot placeholder - The placeholder element, shown while the `src` is not set.
28
31
  */
32
+ /**
33
+ * `background-size` only accepts `cover`/`contain` — map the crop-style
34
+ * options exposed by the video config (Fit/Fill) to their closest
35
+ * `background-size` equivalent for VideoJS's native `.vjs-poster` layer,
36
+ * which is a CSS background-image, not an `<img>` that supports `object-fit`.
37
+ */
38
+ export declare const VIDEO_BACKGROUND_SIZE_BY_OBJECT_FIT: Record<ObjectFit, string>;
29
39
  export default class CxVideo extends ResizableElement {
30
40
  static readonly styles: import('lit').CSSResult[];
31
41
  static readonly dependencies: {
@@ -60,6 +70,14 @@ export default class CxVideo extends ResizableElement {
60
70
  * The poster image to show before the video loads.
61
71
  */
62
72
  poster: string;
73
+ /**
74
+ * The object-fit style applied to both the video and its poster.
75
+ */
76
+ objectFit: ObjectFit;
77
+ /**
78
+ * The focal point used to position the video/poster within their container.
79
+ */
80
+ cropFocus: PositionPickerValue;
63
81
  /**
64
82
  * Determines if the video should autoplay.
65
83
  */
@@ -6,6 +6,7 @@ export { default as CxArrayLineClamp } from './components/array-line-clamp/array
6
6
  export { default as CxAudio } from './components/audio/audio';
7
7
  export { default as CxAvatar } from './components/avatar/avatar';
8
8
  export { default as CxBadge } from './components/badge/badge';
9
+ export { default as CxBox } from './components/box/box';
9
10
  export { default as CxBreadcrumb } from './components/breadcrumb/breadcrumb';
10
11
  export { default as CxBreadcrumbItem } from './components/breadcrumb-item/breadcrumb-item';
11
12
  export { default as CxButton } from './components/button/button';
@@ -0,0 +1,15 @@
1
+ import { ColorSwatchCustomColumn } from '../../types/src/color-swatch-group';
2
+
3
+ /**
4
+ * The full custom-column list after the color dialog added a free-form
5
+ * metadata field. Adding a field on one color declares a column for every
6
+ * color, so the picker hands the merged list back to be stored on the block.
7
+ */
8
+ export type CxColorSwatchPickerColumnsChangeEvent = CustomEvent<{
9
+ columns: ColorSwatchCustomColumn[];
10
+ }>;
11
+ declare global {
12
+ interface GlobalEventHandlersEventMap {
13
+ 'cx-color-swatch-picker-columns-change': CxColorSwatchPickerColumnsChangeEvent;
14
+ }
15
+ }
@@ -42,6 +42,7 @@ export * from './cx-close';
42
42
  export * from './cx-code-block-language-change';
43
43
  export * from './cx-collapse';
44
44
  export * from './cx-color-swatch-picker-add';
45
+ export * from './cx-color-swatch-picker-columns-change';
45
46
  export * from './cx-color-swatch-picker-edit';
46
47
  export * from './cx-column-group-scroll';
47
48
  export * from './cx-column-resizable-change';
@@ -40,8 +40,11 @@ import { CxTableColumnEditor, CxTableFooter, CxTableHeaderMenu, CxTableRowAction
40
40
  * @cssproperty [--row-hover-background-color=var(--cx-color-neutral-50)] - The background color of the table rows on hover.
41
41
  * @cssproperty [--row-even-hover-background-color=var(--cx-color-neutral-100)] - The background color of the even table rows on hover.
42
42
  * @cssproperty [--frozen-border-color=var(--cx-color-neutral-300)] - The color of the frozen table rows border.
43
+ * @cssproperty [--row-gap=0] - Vertical space between consecutive rows. Rendered as a transparent border so it is included in the row height the renderer measures.
43
44
  * @cssproperty [--header-background-color=var(--cx-color-neutral-50)] - The background color of the table header.
44
45
  * @cssproperty [--header-hover-background-color=var(--cx-color-neutral-200)] - The background color of the table header on hover.
46
+ * @cssproperty [--header-font-family=var(--cx-font-sans)] - The font family of the table header.
47
+ * @cssproperty [--header-font-style=normal] - The font style of the table header.
45
48
  * @cssproperty [--header-font-weight=var(--cx-font-weight-regular)] - The font weight of the table header.
46
49
  * @cssproperty [--header-font-size=var(--cx-font-size-small)] - The font size of the table header.
47
50
  * @cssproperty [--header-color=var(--cx-color-neutral-800)] - The color of the table header.
@@ -49,7 +52,13 @@ import { CxTableColumnEditor, CxTableFooter, CxTableHeaderMenu, CxTableRowAction
49
52
  * @cssproperty [--header-height=var(--cx-spacing-3x-large)] - The height of the table header.
50
53
  * @cssproperty [--header-horizontal-padding=var(--cx-spacing-2x-small)] - The horizontal padding of the table header.
51
54
  * @cssproperty [--cell-border-color=var(--cx-color-neutral-200)] - The color of the table cell border.
52
- * @cssproperty [--cell-horizontal-padding=var(--cx-spacing-2x-small)] - The horizontal padding of the table cell.
55
+ * @cssproperty [--cell-horizontal-padding=var(--cx-spacing-2x-small)] - The horizontal padding of the table cell. Used as the default for `--cell-padding-left` / `--cell-padding-right`.
56
+ * @cssproperty [--cell-padding-top=var(--cx-spacing-2x-small)] - The top padding of the table cell.
57
+ * @cssproperty [--cell-padding-right=var(--cell-horizontal-padding)] - The right padding of the table cell.
58
+ * @cssproperty [--cell-padding-bottom=var(--cx-spacing-2x-small)] - The bottom padding of the table cell.
59
+ * @cssproperty [--cell-padding-left=var(--cell-horizontal-padding)] - The left padding of the table cell.
60
+ * @cssproperty [--cell-font-family=var(--cx-font-sans)] - The font family of the table cell.
61
+ * @cssproperty [--column-gap=0px] - Extra horizontal space between columns, added after every column but the last (header and cells alike).
53
62
  * @cssproperty [--group-count-color=var(--cx-color-danger-500)] - The color of the table group count.
54
63
  * @cssproperty [--group-row-background-color=var(--cx-color-neutral-300)] - The background color of the table group row.
55
64
  * @cssproperty [--group-row-hover-background-color=var(--cx-color-neutral-400)] - The background color of the table group row on hover.
@@ -4,7 +4,7 @@ import { default as CxResizeObserver } from '../../../atoms/src/components/resiz
4
4
  import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
5
5
  import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
6
6
  import { default as CortexElement } from '../../../base/src/cortex-element.ts';
7
- import { CxColorSwatchVariant } from '../../../types/src/color-swatch';
7
+ import { CxColorSwatchCodeAlignment, CxColorSwatchCodeSeparator, CxColorSwatchHexFormat, CxColorSwatchVariant } from '../../../types/src/color-swatch';
8
8
  import { CSSResultGroup } from 'lit';
9
9
 
10
10
  /**
@@ -14,6 +14,13 @@ import { CSSResultGroup } from 'lit';
14
14
  * @cssproperty --swatch-size - Size of color swatch container (Circle will use as width for aspect ratio, Oval & Gird will use as height)
15
15
  * @cssproperty --swatch-content-padding - Padding of color swatch content
16
16
  * @cssproperty --swatch-grid-min-width - Minimum width of color swatch container
17
+ * @cssproperty [--swatch-circle-size=var(--swatch-size, 350px)] - Size of a circle/oval swatch (kept apart from --swatch-size, which the grid variant reads as its min-height floor)
18
+ * @cssproperty --swatch-circle-border-radius - Corner radius of a circle/oval swatch
19
+ * @cssproperty [--swatch-circle-content-align=center] - Horizontal alignment of the content inside a circle/oval swatch
20
+ * @cssproperty [--swatch-circle-content-justify=center] - Vertical alignment of the content inside a circle/oval swatch
21
+ * @cssproperty [--swatch-circle-content-margin=0] - Margin around the content inside a circle/oval swatch
22
+ * @cssproperty [--swatch-content-justify=space-between] - Vertical distribution of the content inside a grid-variant card
23
+ * @cssproperty [--swatch-content-margin=var(--cx-spacing-medium)] - Padding around the content inside a grid-variant card
17
24
  *
18
25
  * @csspart base - The component's base wrapper.
19
26
  * @csspart name - The color swatch's name wrapper.
@@ -24,6 +31,9 @@ import { CSSResultGroup } from 'lit';
24
31
  * @csspart value - Value in information row.
25
32
  *
26
33
  * @typedef CxColorSwatchVariant - 'circle' | 'grid-item' | 'oval'
34
+ * @typedef CxColorSwatchCodeAlignment - 'same-line' | 'separate-line'
35
+ * @typedef CxColorSwatchCodeSeparator - 'comma' | 'slash'
36
+ * @typedef CxColorSwatchHexFormat - 'leading-hash' | 'leading-hex' | 'none'
27
37
  */
28
38
  export default class CxColorSwatch extends CortexElement {
29
39
  static readonly styles: CSSResultGroup;
@@ -83,6 +93,24 @@ export default class CxColorSwatch extends CortexElement {
83
93
  * No auto convert color codes
84
94
  */
85
95
  noAutoConvert: boolean;
96
+ /**
97
+ * Whether a code's label and value share a line or stack on separate lines
98
+ */
99
+ codeAlignment: CxColorSwatchCodeAlignment;
100
+ /**
101
+ * Separator between the numeric parts of the RGB and CMYK codes
102
+ */
103
+ codeSeparator: CxColorSwatchCodeSeparator;
104
+ /**
105
+ * Which prefix the HEX code carries: `#`, `0x`, or none
106
+ */
107
+ hexFormat: CxColorSwatchHexFormat;
108
+ /**
109
+ * This swatch's slice of a row-wide ramp, as `linear-gradient` stops
110
+ * (`"#000 0%, #888 100%"`). The group works them out — only it knows where
111
+ * this swatch sits. Empty leaves the flat swatch color showing.
112
+ */
113
+ gradientStops: string;
86
114
  /**
87
115
  * Text color that contrast to the background
88
116
  * Using black and white so as not to be affected by theme switching
@@ -98,6 +126,12 @@ export default class CxColorSwatch extends CortexElement {
98
126
  canFocusContainer: boolean;
99
127
  isContainerFocused: boolean;
100
128
  runFirstUpdated(): void;
129
+ /**
130
+ * `gradientStops` as a paintable image. Horizontal so the slice hands off
131
+ * along a shared edge; a diagonal ramp meets the next color in one corner
132
+ * only, leaving a visible break at the seam.
133
+ */
134
+ private get gradientImage();
101
135
  /**
102
136
  * Change to default color
103
137
  */
@@ -7,7 +7,29 @@ import { TabGroupAlignment, TabGroupHidePanelVariant, TabGroupOverflowVariant }
7
7
  import { CSSResultGroup } from 'lit';
8
8
 
9
9
  /**
10
- * @summary CxDataTabGroup
10
+ * @summary Renders a tab group from a list of items, exposing the tabs' look as CSS custom properties.
11
+ *
12
+ * @slot slot-{id} - The panel content for the item with the matching `id`.
13
+ *
14
+ * @cssproperty [--tab-gap=0px] - The gap between tabs.
15
+ * @cssproperty [--tab-padding=var(--cx-spacing-x-small)] - A tab's padding.
16
+ * @cssproperty [--tab-panel-padding] - The panel's padding.
17
+ * @cssproperty [--tab-border-radius=var(--cx-border-radius-small)] - A tab's border radius.
18
+ * @cssproperty [--tab-color] - A tab's text color.
19
+ * @cssproperty [--tab-hover-color=var(--tab-color)] - A tab's text color on hover.
20
+ * @cssproperty [--tab-active-color=#fff] - A tab's text color when active.
21
+ * @cssproperty [--tab-background-color] - A tab's background color.
22
+ * @cssproperty [--tab-hover-background-color=var(--tab-background-color)] - A tab's background color on hover.
23
+ * @cssproperty [--tab-active-background-color=var(--cx-color-primary)] - A tab's background color when active.
24
+ * @cssproperty [--tab-border=transparent 0px] - A tab's border, as a `<color> <width>` pair.
25
+ * @cssproperty [--tab-hover-border=var(--tab-border)] - A tab's border on hover.
26
+ * @cssproperty [--tab-active-border=var(--tab-border)] - A tab's border when active.
27
+ * @cssproperty [--tab-label-font-family] - The tab label's font family.
28
+ * @cssproperty [--tab-label-font-style] - The tab label's font style.
29
+ * @cssproperty [--tab-label-font-weight] - The tab label's font weight.
30
+ * @cssproperty [--tab-label-font-size=var(--cx-font-size-small)] - The tab label's font size.
31
+ * @cssproperty [--bottom-line=var(--cx-color-neutral-200) 1px] - The line under the tabs, as a `<color> <width>` pair; only drawn when `show-bottom-line` is set.
32
+ * @cssproperty [--min-height=200px] - The height reserved when there are no tabs.
11
33
  */
12
34
  export default class CxDataTabGroup extends CortexElement {
13
35
  static readonly styles: CSSResultGroup;
@@ -26,6 +48,13 @@ export default class CxDataTabGroup extends CortexElement {
26
48
  hidePanelVariant: TabGroupHidePanelVariant;
27
49
  /** Use max panel height. */
28
50
  useMaxPanelHeight: boolean;
51
+ /** Draws the line that separates the tabs from the panel. */
52
+ showBottomLine: boolean;
53
+ /**
54
+ * The tab border sides to draw, as a space-separated list of
55
+ * `top` / `right` / `bottom` / `left` (e.g. `"top bottom"`).
56
+ */
57
+ tabBorderSides: string;
29
58
  multiLanguage: boolean;
30
59
  render(): import('lit').TemplateResult<1>;
31
60
  }