@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
@@ -0,0 +1,1126 @@
1
+ import { C as z } from "./typography.BLYdTF0n.js";
2
+ import { n, C as N } from "./lib-cortex-element.CVMmyPMC.js";
3
+ import { c as O } from "./component.styles.CAS3c9pM.js";
4
+ import { s as M } from "./folder-select.BWeanVkA.js";
5
+ import { E as A, B as H } from "./content-builder.CBBdfVOl.js";
6
+ import { c as V } from "./custom-element.L4WJXn1j.js";
7
+ import { L as _ } from "./i18n.Q5_2aVLU.js";
8
+ import { w as k } from "./watch.DJF5K-8U.js";
9
+ import { B as U, E as F, i as j, x as h } from "./lit-element.jLBm65_O.js";
10
+ import { r as g } from "./state.CSDxrqLd.js";
11
+ import { e as $ } from "./query.BBf1UFkC.js";
12
+ import { b as G } from "./_baseIteratee.sC2wLi2m.js";
13
+ import { a as J } from "./toString.B1zKIiZc.js";
14
+ import { b as X } from "./cloneDeep.tKGbEwzn.js";
15
+ import { c as Y } from "./_baseClone.ipmFlCAx.js";
16
+ import { F as P, a as Q, C as Z, I as tt, t as et, c as ot, b as st, d as rt, e as it, f as at, g as nt, h as lt, i as ct, j as pt, k as ht, l as dt, m as ut, n as mt, o as ft, p as gt, q as bt, r as yt, s as xt, O as Ct } from "./types.BW36Gr9c.js";
17
+ import { C as wt } from "./button.DbAUlIXG.js";
18
+ import vt from "../components/button-group.js";
19
+ import kt from "../components/card.js";
20
+ import $t from "../components/checkbox.js";
21
+ import { C as Tt, D as R } from "./dialog.CXphbq8N.js";
22
+ import St from "../components/divider.js";
23
+ import At from "../components/dropdown.js";
24
+ import Ft from "../components/grid.js";
25
+ import Pt from "../components/grid-item.js";
26
+ import { C as _t } from "./icon.BLXWp6CU.js";
27
+ import { C as Rt } from "./input.ftEf4GS6.js";
28
+ import Dt from "../components/line-clamp.js";
29
+ import It from "../components/menu.js";
30
+ import { C as qt } from "./menu-item.BNs1Ji48.js";
31
+ import { C as Lt } from "./option.C8IEnv5Q.js";
32
+ import Bt from "../components/radio.js";
33
+ import Et from "../components/radio-card.js";
34
+ import zt from "../components/radio-group.js";
35
+ import Nt from "../components/select.js";
36
+ import Ot from "../components/space.js";
37
+ import Mt from "../components/switch.js";
38
+ import Vt from "../components/tab.js";
39
+ import { C as jt } from "./tab-group.DZ32f41G.js";
40
+ import Gt from "../components/tab-panel.js";
41
+ import Wt from "../components/textarea.js";
42
+ import Kt from "../components/tooltip.js";
43
+ import Ht from "../components/visually-hidden.js";
44
+ import Ut from "../components/bicolor-picker.js";
45
+ import Jt from "../components/border-input-group.js";
46
+ import { C as Xt, a as Yt } from "./confirm-popover.Cd4HM5-B.js";
47
+ import Qt from "../components/corner-position-input-group.js";
48
+ import Zt from "../components/dynamic-select.js";
49
+ import te from "../components/padding-input-group.js";
50
+ import ee from "../components/position-picker.js";
51
+ import oe from "../components/shadow-input-group.js";
52
+ import se from "../components/size-input-group.js";
53
+ import { isFormInteracted as re } from "../utils.js";
54
+ import { e as ie, i as ae } from "./directive.oAbCiebi.js";
55
+ import { e as D, p as I, m as q, s as L, h as ne, l as le } from "./directive-helpers.DEDMV45_.js";
56
+ import { i as ce } from "./keyed.DdOUTIg-.js";
57
+ import { c as S } from "./repeat.CFjcER6_.js";
58
+ import { n as y } from "./when.Dr1es41R.js";
59
+ import { b as pe } from "./_baseXor.BCxbgizO.js";
60
+ import { a as he, i as B, b as de } from "./isArrayLikeObject.D7afXo-f.js";
61
+ import { i as ue } from "./isEmpty.DtTJTUcf.js";
62
+ import { u as W } from "./asset-link-format.C5Ue4EGP.js";
63
+ import { r as me } from "./choose.BTbF6BAn.js";
64
+ import { o as T } from "./if-defined.BRoBj_Rp.js";
65
+ import { o as fe } from "./map.D8heArFD.js";
66
+ import { e as ge, n as be } from "./ref.DktKp7fP.js";
67
+ import { o as ye } from "./style-map.llVFPd__.js";
68
+ var xe = "Expected a function";
69
+ function Ce(t) {
70
+ if (typeof t != "function")
71
+ throw new TypeError(xe);
72
+ return function() {
73
+ var e = arguments;
74
+ switch (e.length) {
75
+ case 0:
76
+ return !t.call(this);
77
+ case 1:
78
+ return !t.call(this, e[0]);
79
+ case 2:
80
+ return !t.call(this, e[0], e[1]);
81
+ case 3:
82
+ return !t.call(this, e[0], e[1], e[2]);
83
+ }
84
+ return !t.apply(this, e);
85
+ };
86
+ }
87
+ function we(t, e) {
88
+ if (t == null)
89
+ return {};
90
+ var o = J(Y(t), function(a) {
91
+ return [a];
92
+ });
93
+ return e = G(e), X(t, o, function(a, i) {
94
+ return e(a, i[0]);
95
+ });
96
+ }
97
+ function ve(t, e) {
98
+ return we(t, Ce(G(e)));
99
+ }
100
+ const ke = /* @__PURE__ */ new Map([
101
+ ["100", "Thin"],
102
+ ["200", "Extra Light"],
103
+ ["300", "Light"],
104
+ ["400", "Regular"],
105
+ ["500", "Medium"],
106
+ ["600", "Semi Bold"],
107
+ ["700", "Bold"],
108
+ ["800", "Extra Bold"],
109
+ ["900", "Black"]
110
+ ]);
111
+ P.Cff, P.TrueType;
112
+ new Set(Object.values(P));
113
+ new RegExp(
114
+ `\\$\\{(${Object.values(Q).join("|")})\\}`,
115
+ "g"
116
+ );
117
+ function $e(t) {
118
+ return /italic/i.test(t) ? "italic" : "normal";
119
+ }
120
+ function Te(t) {
121
+ return ke.get(t.trim()) ?? t;
122
+ }
123
+ function Se(t) {
124
+ const e = /* @__PURE__ */ new Map();
125
+ for (const o of t) {
126
+ const a = $e(o.fontStyle), i = Number(o.fontWeight) || 400, r = `${i}:${a}`;
127
+ e.has(r) || e.set(r, {
128
+ fontStyle: a,
129
+ fontWeight: i,
130
+ name: `${Te(String(i))}${a === "italic" ? " Italic" : ""}`
131
+ });
132
+ }
133
+ return [...e.values()].sort(
134
+ (o, a) => (o.fontWeight ?? 400) - (a.fontWeight ?? 400) || (o.fontStyle ?? "").localeCompare(a.fontStyle ?? "")
135
+ );
136
+ }
137
+ /**
138
+ * @license
139
+ * Copyright 2017 Google LLC
140
+ * SPDX-License-Identifier: BSD-3-Clause
141
+ */
142
+ const E = (t) => le(t) ? t._$litType$.h : t.strings, Ae = ie(class extends ae {
143
+ constructor(t) {
144
+ super(t), this.et = /* @__PURE__ */ new WeakMap();
145
+ }
146
+ render(t) {
147
+ return [t];
148
+ }
149
+ update(t, [e]) {
150
+ const o = D(this.it) ? E(this.it) : null, a = D(e) ? E(e) : null;
151
+ if (o !== null && (a === null || o !== a)) {
152
+ const i = I(t).pop();
153
+ let r = this.et.get(o);
154
+ if (r === void 0) {
155
+ const s = document.createDocumentFragment();
156
+ r = U(F, s), r.setConnected(!1), this.et.set(o, r);
157
+ }
158
+ q(r, [i]), L(r, void 0, i);
159
+ }
160
+ if (a !== null) {
161
+ if (o === null || o !== a) {
162
+ const i = this.et.get(a);
163
+ if (i !== void 0) {
164
+ const r = I(i).pop();
165
+ ne(t), L(t, void 0, r), q(t, [r]);
166
+ }
167
+ }
168
+ this.it = e;
169
+ } else this.it = void 0;
170
+ return this.render(e);
171
+ }
172
+ });
173
+ var Fe = he(function(t, e) {
174
+ return B(t) ? pe(t, de(e, 1, B, !0)) : [];
175
+ });
176
+ const Pe = j`:host{display:block}.config-form{--body-spacing:0;--header-spacing:var(--cx-spacing-small) var(--cx-spacing-large) 0;--width:680px;--cx-input-required-content-display:none;color:var(--cx-color-neutral)}.config-form__dropdown{text-align:left}.config-form__checkbox-group-item{--item-padding:0;--selected-background-color:transparent}.config-form__radio-card{--radio-card-overflow:clip}.config-form__dropdown-menu{--checked-icon-display:none}.config-form__confirm-popover{--confirm-popover-dialog-width:fit-content;--confirm-button-background-color:var(--cx-color-danger-500);--cancel-button-background-color:var(--cx-color-neutral-100);--cancel-button-color:var(--cx-color-neutral-700)}.config-form__tab-group{--padding:0;--tab-group-nav-padding:0 var(--cx-spacing-large);--tab-group-top-gap:0}.config-form__tab-group::part(nav){background-color:var(--cx-color-neutral-0);z-index:1;position:sticky;top:0}`;
177
+ class _e {
178
+ constructor(e) {
179
+ this.host = e, this.localize = new _(this.host), this.controlRenderer = new Z(this.host, {
180
+ commit: async ({ callback: o, immediate: a, key: i, type: r, value: s }) => {
181
+ if (a && r === "attribute") {
182
+ this.handleAttributeChange(i, s, o);
183
+ return;
184
+ }
185
+ await this.handleConfigChange(i, s, r, o);
186
+ },
187
+ getContext: () => ({
188
+ allowedFolders: this.host.allowedFolders,
189
+ baseUrl: this.host.baseUrl,
190
+ blockAttributes: this.host.blockAttributes,
191
+ blockStyles: this.host.blockStyles,
192
+ boundary: this.host.boundary,
193
+ defaultLanguage: this.host.defaultLanguage,
194
+ isAfterShow: this.host.isAfterShow,
195
+ onConfigureWorkflow: this.host.onConfigureWorkflow,
196
+ onRequestAsset: this.host.onRequestAsset,
197
+ onRequestAssetFormat: this.host.onRequestAssetFormat,
198
+ onRequestDownloadFormat: this.host.onRequestDownloadFormat,
199
+ sortedLanguages: this.host.sortedLanguages,
200
+ token: this.host.token,
201
+ traits: this.host.traits
202
+ }),
203
+ renderChildren: (o, a) => this.renderBasicControls(o, a)
204
+ });
205
+ }
206
+ hostConnected() {
207
+ this.host.addController(this);
208
+ }
209
+ handleStyleChange(e, o, a) {
210
+ let i = { ...this.host.blockStyles };
211
+ a && (i = a({
212
+ record: i,
213
+ value: o
214
+ })), i = {
215
+ ...i,
216
+ [e]: o
217
+ }, this.host.emit("cx-content-builder-form-change", {
218
+ detail: {
219
+ type: "style",
220
+ value: i
221
+ }
222
+ });
223
+ }
224
+ handleAttributeChange(e, o, a) {
225
+ let i = { ...this.host.blockAttributes };
226
+ a && (i = a({
227
+ record: i,
228
+ value: o
229
+ })), i = {
230
+ ...i,
231
+ [e]: o
232
+ }, this.host.emit("cx-content-builder-form-change", {
233
+ detail: {
234
+ type: "attribute",
235
+ value: i
236
+ }
237
+ });
238
+ }
239
+ handlePropertyChange(e, o, a) {
240
+ let i = { ...this.host.blockProperties };
241
+ a && (i = a({
242
+ record: i,
243
+ value: o
244
+ })), i = {
245
+ ...i,
246
+ [e]: o
247
+ }, this.host.emit("cx-content-builder-form-change", {
248
+ detail: {
249
+ type: "property",
250
+ value: i
251
+ }
252
+ });
253
+ }
254
+ async handleConfigChange(e, o, a, i) {
255
+ if (await this.host.updateComplete, a === "attribute") {
256
+ let r;
257
+ typeof o == "boolean" ? r = o : typeof o == "object" || Array.isArray(o) ? r = JSON.stringify(o) : r = String(o), this.handleAttributeChange(e, r, i);
258
+ } else a === "style" ? this.handleStyleChange(e, String(o), i) : a === "property" && this.handlePropertyChange(e, o, i);
259
+ }
260
+ renderInfoText(e) {
261
+ let o = "";
262
+ typeof e.helpText == "function" ? o = e.helpText(this.host.blockAttributes) : e.helpText && (o = e.helpText);
263
+ const a = e.infoTextConfigs?.color, i = ye(a ? { "--color": a } : {});
264
+ return h`<cx-space class="config-form__info-text" direction="vertical" spacing="x-small" wrap="nowrap">${y(
265
+ e.label,
266
+ () => h`<cx-typography variant="body3" style=${i}>${e.label}</cx-typography>`
267
+ )}
268
+ ${y(
269
+ o,
270
+ () => h`<cx-typography variant="body3" class="config-form__help-text" style=${i}>${o}</cx-typography>`
271
+ )}</cx-space>`;
272
+ }
273
+ renderBasicControl({
274
+ container: e = void 0,
275
+ currentValue: o,
276
+ disabled: a,
277
+ key: i,
278
+ trait: r,
279
+ type: s
280
+ }) {
281
+ const u = r.label;
282
+ let m = "";
283
+ typeof r.helpText == "function" ? m = r.helpText(this.host.blockAttributes) : r.helpText && (m = r.helpText);
284
+ const x = this.controlRenderer.createChangeHandler({ key: i, trait: r, type: s });
285
+ return h`<cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.controlRenderer.renderControl({
286
+ blockAttributes: this.host.blockAttributes,
287
+ container: e,
288
+ currentValue: o,
289
+ disabled: a,
290
+ handleChange: x,
291
+ key: i,
292
+ label: u,
293
+ trait: {
294
+ ...r,
295
+ controlType: r.controlType ? r.controlType : "input"
296
+ }
297
+ })}
298
+ ${y(m, () => h`<cx-typography variant="body3" class="config-form__help-text">${m}</cx-typography>`)}</cx-space>`;
299
+ }
300
+ renderBasicControls(e, o, a) {
301
+ const i = ge(), r = h`
302
+ ${S(
303
+ e.filter((s) => {
304
+ const u = !a || s.name && this.host.tabMap[s.name] === a || o?.name && this.host.tabMap[o.name] === a;
305
+ let m = !1;
306
+ return s.controlType === "placeholder" ? m = !0 : (!this.host.skipShowCheck || !s.skipShowCheck) && (typeof s.show == "boolean" ? m = !s.show : typeof s.show == "function" ? m = !s.show(this.host.blockAttributes) : o && typeof o.show == "boolean" ? m = !o.show : o && typeof o.show == "function" && (m = !o.show(this.host.blockAttributes))), s.id && u && s.show !== !1 && !m;
307
+ }),
308
+ (s) => s.id,
309
+ (s) => {
310
+ const u = s.id;
311
+ let m = s.label;
312
+ const x = s.type ?? "attribute";
313
+ let f = !1;
314
+ typeof s.disabled == "boolean" ? f = s.disabled : typeof s.disabled == "function" && (f = s.disabled(this.host.blockAttributes)), s.controlType === "checkbox" && (m = "");
315
+ let b = "";
316
+ switch (x) {
317
+ case "style":
318
+ this.host.blockStyles[u] !== void 0 && (typeof this.host.blockStyles[u] == "string" && this.host.blockStyles[u].includes("url(") ? b = this.host.blockStyles[u].replace(
319
+ /url\(["']?(.*?)["']?\)/,
320
+ "$1"
321
+ ) : this.host.blockStyles[u] === "none" ? b = "" : b = this.host.blockStyles[u]);
322
+ break;
323
+ case "attribute":
324
+ this.host.blockAttributes[u] !== void 0 ? b = this.host.blockAttributes[u] : s.controlType === "size-input-group" && (b = `${this.host.blockAttributes.width} ${this.host.blockAttributes.height}`);
325
+ break;
326
+ case "property":
327
+ this.host.blockProperties[u] !== void 0 && (b = this.host.blockProperties[u]);
328
+ break;
329
+ }
330
+ if (x === "decorative")
331
+ return me(
332
+ s.controlType,
333
+ [
334
+ [
335
+ "group-heading",
336
+ () => h`<cx-typography variant="h5">${m}</cx-typography>`
337
+ ],
338
+ [
339
+ "info-text",
340
+ () => this.renderInfoText(s)
341
+ ]
342
+ ],
343
+ () => h`<cx-typography variant="h5">${m}</cx-typography>`
344
+ );
345
+ if (o) {
346
+ const w = this.renderBasicControl({
347
+ container: i,
348
+ currentValue: b,
349
+ disabled: f,
350
+ key: u,
351
+ trait: s,
352
+ type: x
353
+ });
354
+ if (o.controlType === "group" && o.groupConfigs?.direction === "horizontal") {
355
+ let C = s.width;
356
+ if (typeof s.width == "function" && (C = s.width(this.host.blockAttributes)), typeof C == "string" && (C = Number.parseInt(C)), C)
357
+ return h`<cx-grid-item xs=${C}>${w}</cx-grid-item>`;
358
+ }
359
+ return w;
360
+ }
361
+ const v = s.direction === "vertical" || s.groupConfigs?.direction === "horizontal" && m === void 0;
362
+ return h`<cx-grid columns="4" spacing="var(--cx-spacing-small)" column-spacing="0" use-flex-gap row-spacing=${s.direction === "vertical" ? "var(--cx-spacing-small)" : "0"} wrap="wrap">${y(
363
+ s.direction === "horizontal" || m !== void 0,
364
+ () => h`<cx-grid-item xs="4" sm=${s.direction === "vertical" ? "4" : "1"}><cx-typography variant="body2">${m}</cx-typography></cx-grid-item>`
365
+ )}<cx-grid-item xs="4" sm=${v ? "4" : "3"}><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.renderBasicControl({
366
+ currentValue: b,
367
+ disabled: f,
368
+ key: u,
369
+ trait: s,
370
+ type: x
371
+ })}</cx-space></cx-grid-item></cx-grid>`;
372
+ }
373
+ )}
374
+ `;
375
+ if (o) {
376
+ const { controlType: s, groupConfigs: u } = o;
377
+ if (s === "group" && u?.direction === "horizontal") {
378
+ const { columnGap: m, gap: x, rowGap: f, wrap: b } = u;
379
+ return h`<cx-grid columns="100" use-flex-gap spacing=${T(x)} column-spacing=${T(m)} row-spacing=${T(f)} wrap=${T(b)} ${be(i)}>${r}</cx-grid>`;
380
+ }
381
+ }
382
+ return h`<cx-space direction="vertical" wrap="nowrap">${r}</cx-space>`;
383
+ }
384
+ renderTranslationControls() {
385
+ const e = W(
386
+ this.host.translatableControls.map((a) => a.translateGroup)
387
+ ), o = h`${S(e, (a) => {
388
+ const i = this.host.translatableControls.filter((r) => {
389
+ let s = !1;
390
+ return (!this.host.skipShowCheck || !r.skipShowCheck) && (typeof r.show == "boolean" ? s = !r.show : typeof r.show == "function" && (s = !r.show(this.host.blockAttributes))), r.translateGroup === a && !s;
391
+ });
392
+ return i.length === 0 ? F : h`<cx-typography variant="h5">${a}</cx-typography>${S(
393
+ i,
394
+ (r) => r.id,
395
+ (r) => r.controlType === "info-text" ? this.renderInfoText(r) : h`<cx-grid columns="4" spacing="var(--cx-spacing-small)" column-spacing="0" use-flex-gap row-spacing="0" wrap="wrap"><cx-grid-item xs="4" sm="1"><cx-typography variant="body2">${r.label}</cx-typography></cx-grid-item><cx-grid-item xs="4" sm="3"><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${fe(this.host.sortedLanguages, (s) => {
396
+ const u = this.localize.languageName(s) || tt.getName(s) || s;
397
+ let m = "";
398
+ r.id && (s === this.host.defaultLanguage ? m = this.host.blockAttributes[r.id] ?? "" : m = this.host.translatableControlValues[s]?.[r.id] ?? this.host.translatableControlValues[this.host.defaultLanguage]?.[r.id] ?? this.host.blockAttributes[r.id]);
399
+ let x;
400
+ switch (r.controlType) {
401
+ case "image-picker": {
402
+ x = async (f) => {
403
+ if (typeof f == "object" && f !== null) {
404
+ const { id: b, src: v } = f, w = r.pickerConfigs?.recordIdKey ?? "record-id";
405
+ this.host.emit("cx-content-builder-translatable-value-change", {
406
+ detail: {
407
+ language: s,
408
+ values: [{
409
+ attribute: r.id,
410
+ type: "attribute",
411
+ value: v
412
+ }, {
413
+ attribute: w,
414
+ type: "attribute",
415
+ value: b
416
+ }]
417
+ }
418
+ });
419
+ }
420
+ };
421
+ break;
422
+ }
423
+ case "audio-picker":
424
+ case "video-picker": {
425
+ x = async (f) => {
426
+ if (typeof f == "object" && f !== null) {
427
+ const { id: b, name: v, src: w } = f, C = r.pickerConfigs?.recordIdKey ?? "record-id", K = r.pickerConfigs?.nameKey ?? "name";
428
+ this.host.emit("cx-content-builder-translatable-value-change", {
429
+ detail: {
430
+ language: s,
431
+ values: [{
432
+ attribute: r.id,
433
+ type: "attribute",
434
+ value: w
435
+ }, {
436
+ attribute: C,
437
+ type: "attribute",
438
+ value: b
439
+ }, {
440
+ attribute: K,
441
+ type: "attribute",
442
+ value: v
443
+ }]
444
+ }
445
+ });
446
+ }
447
+ };
448
+ break;
449
+ }
450
+ default:
451
+ x = async (f) => {
452
+ typeof f == "string" && this.host.emit("cx-content-builder-translatable-value-change", {
453
+ detail: {
454
+ language: s,
455
+ values: [{
456
+ attribute: r.id,
457
+ type: "attribute",
458
+ value: f
459
+ }]
460
+ }
461
+ });
462
+ };
463
+ }
464
+ return h`
465
+ ${y(
466
+ r.controlType && r.controlType !== "input",
467
+ () => h`<cx-typography variant="body3">${u}</cx-typography>`,
468
+ () => F
469
+ )}
470
+ ${this.controlRenderer.renderControl({
471
+ blockAttributes: {
472
+ ...this.host.blockAttributes,
473
+ ...this.host.translatableControlValues[s]
474
+ },
475
+ container: void 0,
476
+ currentValue: m,
477
+ disabled: s.toLowerCase() === this.host.defaultLanguage.toLowerCase(),
478
+ handleChange: x,
479
+ key: r.id,
480
+ label: u,
481
+ trait: {
482
+ ...r,
483
+ inputConfigs: {
484
+ ...r.inputConfigs,
485
+ label: u
486
+ }
487
+ }
488
+ })}
489
+ `;
490
+ })}</cx-space></cx-grid-item></cx-grid>`
491
+ )}`;
492
+ })}`;
493
+ return h`<cx-space direction="vertical" wrap="nowrap">${o}</cx-space>`;
494
+ }
495
+ }
496
+ var Re = Object.defineProperty, De = Object.getOwnPropertyDescriptor, c = (t, e, o, a) => {
497
+ for (var i = a > 1 ? void 0 : a ? De(e, o) : e, r = t.length - 1, s; r >= 0; r--)
498
+ (s = t[r]) && (i = (a ? s(e, o, i) : s(i)) || i);
499
+ return a && i && Re(e, o, i), i;
500
+ };
501
+ let l = class extends N {
502
+ constructor() {
503
+ super(...arguments), this.localize = new _(this), this.configFormController = new _e(this), this.loading = !1, this.mode = A.Template, this.adhocProperties = [], this.templateName = "", this.templateId = "", this.supportedLanguages = ["en"], this.translatableControlValues = {}, this.defaultLanguage = "en", this.boundary = document.body, this.baseUrl = "", this.token = "", this.onRequestAsset = void 0, this.onRequestDownloadFormat = void 0, this.onRequestAssetFormat = void 0, this.onConfigureWorkflow = void 0, this.blockAttributes = {}, this.blockProperties = {}, this.blockStyles = {}, this.traits = [], this.translatableControls = [], this.blockName = "", this.name = "", this.description = "", this.showTemplateTab = !1, this.dialogTitle = "", this.skipShowCheck = !1, this.enableAssetFormatControls = !1, this.allowedFolders = [], this.isEditingTemplateSettings = !1, this.disableCloseConfigDialog = !1, this.isAfterShow = !1, this.sortedLanguages = [], this.formKey = 0;
504
+ }
505
+ /**
506
+ * Whether the template is editable.
507
+ * This is used to determine if the user can save the settings as a template.
508
+ * If the mode is EditorMode.Template, the template is editable.
509
+ * If the mode is EditorMode.Content, the template is not editable.
510
+ * @default true
511
+ */
512
+ get isTemplateEditable() {
513
+ return this.mode === A.Template;
514
+ }
515
+ /**
516
+ * Returns the list of tabs available in the configuration manager.
517
+ * This is derived from the tabMap property, which maps trait IDs to their corresponding tab names.
518
+ * It returns a unique list of trait tabs.
519
+ * @returns {string[]} An array of unique trait tabs.
520
+ */
521
+ get tabs() {
522
+ const t = [
523
+ "content",
524
+ "sidePanels",
525
+ "appearance",
526
+ "styling",
527
+ "effects"
528
+ /* Effects */
529
+ ], e = W(Object.values(this.tabMap)).sort(
530
+ (o, a) => t.indexOf(o) - t.indexOf(a)
531
+ );
532
+ return this.isTemplateEditable ? e : e.filter(
533
+ (o) => o !== "styling"
534
+ /* Styling */
535
+ );
536
+ }
537
+ /**
538
+ * A map of trait IDs to their corresponding tab names.
539
+ * This is used to determine which tab a trait belongs to.
540
+ * It is derived from the traits of the component and adhoc properties and is used to render the tabs in the configuration manager.
541
+ * @return {Record<string, string>} A record mapping trait IDs to tab names.
542
+ */
543
+ get tabMap() {
544
+ const t = this.traits.map((s) => s.name).filter(Boolean), e = Fe(t, this.adhocProperties), o = this.traits.filter(
545
+ (s) => s.tab === "sidePanels"
546
+ /* SidePanels */
547
+ ).map((s) => s.name).filter(Boolean), a = this.traits.filter(
548
+ (s) => s.tab === "appearance"
549
+ /* Appearance */
550
+ ).map((s) => s.name).filter(Boolean), i = this.traits.filter(
551
+ (s) => s.tab === "effects"
552
+ /* Effects */
553
+ ).map((s) => s.name).filter(Boolean), r = {};
554
+ for (const s of t)
555
+ r[s] = "content";
556
+ for (const s of e)
557
+ r[s] = "styling";
558
+ for (const s of o)
559
+ r[s] = "sidePanels";
560
+ for (const s of a)
561
+ r[s] = "appearance";
562
+ for (const s of i)
563
+ r[s] = "effects";
564
+ return r;
565
+ }
566
+ async handleSupportedLanguagesChange() {
567
+ await this.updateComplete, this.sortedLanguages = this.supportedLanguages.toSorted((t, e) => t === this.defaultLanguage ? -1 : e === this.defaultLanguage ? 1 : 0);
568
+ }
569
+ handleClose() {
570
+ this.isEditingTemplateSettings = !1;
571
+ }
572
+ handleAfterShow() {
573
+ this.isAfterShow = !0;
574
+ }
575
+ handleAfterHide(t) {
576
+ t?.target !== this.dialog || t.detail.source === "overlay" || (this.handleClose(), this.isAfterShow = !1, this.disableCloseConfigDialog = !1);
577
+ }
578
+ handleRequestClose(t) {
579
+ t?.target === this.dialog && (this.disableCloseConfigDialog ? t.preventDefault() : re(this.form) ? (t.preventDefault(), this.confirmPopover.show()) : this.hide());
580
+ }
581
+ handleNameInputChange(t) {
582
+ this.emit("cx-content-builder-form-field-change", {
583
+ detail: {
584
+ field: "name",
585
+ value: t.target.value
586
+ }
587
+ });
588
+ }
589
+ handleDescriptionInputChange(t) {
590
+ this.emit("cx-content-builder-form-field-change", {
591
+ detail: {
592
+ field: "description",
593
+ value: t.target.value
594
+ }
595
+ });
596
+ }
597
+ handleCancelClick() {
598
+ this.isEditingTemplateSettings ? this.isEditingTemplateSettings = !1 : this.hide();
599
+ }
600
+ handleSaveClick() {
601
+ this.form.requestSubmit();
602
+ }
603
+ handleDropdownSelect(t) {
604
+ const e = t.detail.item;
605
+ e.value === "save-as-new-template" ? this.isEditingTemplateSettings = !0 : e.value === "detach-template" && (this.emit("cx-content-builder-form-save", {
606
+ detail: {
607
+ isDetachTemplate: !0,
608
+ isNewTemplate: !1
609
+ }
610
+ }), this.hide());
611
+ }
612
+ handleAssetRequestStatus(t) {
613
+ this.disableCloseConfigDialog = t.detail.busy;
614
+ }
615
+ handleFormSubmit(t) {
616
+ if (!this.form.reportValidity()) {
617
+ t.preventDefault();
618
+ return;
619
+ }
620
+ t.preventDefault(), !this.loading && this.emit("cx-content-builder-form-save", {
621
+ detail: {
622
+ isDetachTemplate: !this.templateId && !this.isEditingTemplateSettings || !1,
623
+ isNewTemplate: this.isEditingTemplateSettings
624
+ }
625
+ });
626
+ }
627
+ show() {
628
+ this.formKey += 1, this.dialog.show();
629
+ }
630
+ async hide() {
631
+ this.dialog.hide(), this.confirmPopover.hide(), this.handleClose(), await this.updateComplete, this.tabGroup?.show(this.tabs[0] || "");
632
+ }
633
+ renderTemplateForm() {
634
+ return h`<cx-space direction="vertical" spacing="medium" wrap="nowrap"><cx-typography variant="body2">${this.localize.term("contentBuilderBlockSettingsHelpText")}</cx-typography><cx-grid columns="3" use-flex-gap spacing="var(--cx-spacing-small)" column-spacing="0" wrap="nowrap"><cx-grid-item xs="3" sm="1"><cx-typography variant="body2">${this.localize.term("templateName")}</cx-typography></cx-grid-item><cx-grid-item xs="3" sm="2"><cx-input name="name" value=${this.name ?? ""} can-show-length maxlength="200" required @cx-change=${this.handleNameInputChange} type="text"></cx-input></cx-grid-item></cx-grid><cx-grid columns="3" use-flex-gap spacing="var(--cx-spacing-small)" column-spacing="0" wrap="nowrap"><cx-grid-item xs="3" sm="1"><cx-typography variant="body2">${this.localize.term("description")}</cx-typography></cx-grid-item><cx-grid-item xs="3" sm="2"><cx-textarea name="description" value=${this.description ?? ""} can-show-length maxlength="200" resize="none" @cx-change=${this.handleDescriptionInputChange} type="text"></cx-textarea></cx-grid-item></cx-grid></cx-space>`;
635
+ }
636
+ render() {
637
+ return h`<cx-dialog class="config-form" use-overlay-scrollbar divider-position=${R.Footer} .boundary=${this.boundary} @cx-after-show=${this.handleAfterShow} @cx-after-hide=${this.handleAfterHide} @cx-request-close=${this.handleRequestClose} @cx-asset-request-status=${this.handleAssetRequestStatus}><cx-space slot="label" direction="vertical" spacing="2x-small"><cx-typography variant="h4">${y(
638
+ this.dialogTitle,
639
+ () => h`<cx-line-clamp lines="1">${this.dialogTitle}</cx-line-clamp>`,
640
+ () => h`${this.localize.term(
641
+ "settingsTitle",
642
+ this.blockName
643
+ )}`
644
+ )}</cx-typography>${y(
645
+ this.templateName,
646
+ () => h`<cx-typography variant="body3"><cx-line-clamp lines="1">${this.templateName}</cx-line-clamp></cx-typography>`
647
+ )}</cx-space>${ce(
648
+ this.formKey,
649
+ h`<form id="config-form" @submit=${this.handleFormSubmit}>${Ae(y(
650
+ this.isEditingTemplateSettings,
651
+ () => y(
652
+ this.isTemplateEditable,
653
+ () => h`<cx-tab-group class="config-form__tab-group" placement="top"><cx-tab slot="nav" panel="template" active>${this.localize.term("template")}</cx-tab><cx-tab-panel name="template" active><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.renderTemplateForm()}</cx-space></cx-tab-panel></cx-tab-group>`
654
+ ),
655
+ () => y(
656
+ !ue(this.traits) && this.tabs.length >= 1,
657
+ () => h`<cx-tab-group class="config-form__tab-group" placement="top">${y(
658
+ this.showTemplateTab,
659
+ () => h`<cx-tab slot="nav" panel="template" active>${this.localize.term("template")}</cx-tab><cx-tab-panel name="template" active><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.renderTemplateForm()}</cx-space></cx-tab-panel>`
660
+ )}
661
+ ${S(
662
+ this.tabs.filter(
663
+ (t) => !this.showTemplateTab || t === "appearance" || t === "effects" || t === "sidePanels" || t === "styling"
664
+ /* Styling */
665
+ ),
666
+ (t) => t,
667
+ (t, e) => h`<cx-tab slot="nav" panel=${t} ?active=${!this.showTemplateTab && e === 0}>${this.localize.term(t)}</cx-tab><cx-tab-panel name=${t} ?active=${!this.showTemplateTab && e === 0}><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.configFormController.renderBasicControls(this.traits, void 0, t)}</cx-space></cx-tab-panel>`
668
+ )}
669
+ ${y(
670
+ this.translatableControls.length > 0,
671
+ () => h`<cx-tab slot="nav" panel="Translation">${this.localize.term("translation")}</cx-tab><cx-tab-panel name="Translation"><cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.configFormController.renderTranslationControls()}</cx-space></cx-tab-panel>`
672
+ )}</cx-tab-group>`,
673
+ () => h`<cx-space direction="vertical" spacing="x-small" wrap="nowrap">${this.configFormController.renderBasicControls(this.traits, void 0, this.tabs[0])}</cx-space>`
674
+ )
675
+ ))}</form>`
676
+ )}<cx-space slot="footer" spacing="x-small" wrap="nowrap" justify-content="end"><cx-button variant="default" size="medium" @click=${this.handleCancelClick}>${this.localize.term("cancel")}</cx-button><cx-button-group><cx-button type="submit" variant="primary" size="medium" ?loading=${this.loading} @click=${this.handleSaveClick}>${this.localize.term("save")}</cx-button>${y(
677
+ this.isTemplateEditable && !this.isEditingTemplateSettings && !this.showTemplateTab,
678
+ () => h`<cx-dropdown class="config-form__dropdown" placement="bottom-end" hoist @cx-select=${this.handleDropdownSelect}><cx-button slot="trigger" type="submit" variant="primary" caret><cx-visually-hidden>${this.localize.term("moreOptions")}</cx-visually-hidden></cx-button><cx-menu class="config-form__dropdown-menu"><cx-menu-item value="save-as-new-template"><cx-button type="submit" variant="text">${this.localize.term("saveAsNewTemplate")}</cx-button></cx-menu-item>${y(
679
+ this.templateId,
680
+ () => h`<cx-menu-item value="detach-template"><cx-button type="submit" variant="text">${this.localize.term("detachTemplate")}</cx-button></cx-menu-item>`
681
+ )}</cx-menu></cx-dropdown>`
682
+ )}</cx-button-group></cx-space></cx-dialog><cx-confirm-popover class="config-form__confirm-popover" divider-position=${R.Both} buttons-direction=${Yt.HorizontalReverse} dialog-label=${this.localize.term("dismissChanges")} confirm-text=${this.localize.term("dismissChanges")} .boundary=${this.boundary} variant="dialog" @cx-confirm=${this.hide}><cx-typography variant="body2" slot="footer" class="confirm-popover__footer">${this.localize.term(
683
+ "doYouWantToCloseThisDialogChangesWillBeDismissed"
684
+ )}</cx-typography></cx-confirm-popover>`;
685
+ }
686
+ };
687
+ l.styles = [O, Pe, et, ot];
688
+ l.dependencies = {
689
+ "cx-asset-format-picker": ft,
690
+ "cx-asset-picker": mt,
691
+ "cx-asset-transformation-dialog": ut,
692
+ "cx-bicolor-picker": Ut,
693
+ "cx-border-input-group": Jt,
694
+ "cx-button": wt,
695
+ "cx-button-group": vt,
696
+ "cx-card": kt,
697
+ "cx-checkbox": $t,
698
+ "cx-color-swatch-picker": dt,
699
+ "cx-confirm-popover": Xt,
700
+ "cx-corner-position-input-group": Qt,
701
+ "cx-dam-custom-toolbar-buttons-editor": ht,
702
+ "cx-dialog": Tt,
703
+ "cx-divider": St,
704
+ "cx-download-format-picker": pt,
705
+ "cx-dropdown": At,
706
+ "cx-dynamic-select": Zt,
707
+ "cx-folder-picker": ct,
708
+ "cx-font-picker": lt,
709
+ "cx-gallery-picker": nt,
710
+ "cx-grid": Ft,
711
+ "cx-grid-item": Pt,
712
+ "cx-icon": _t,
713
+ "cx-icon-picker": at,
714
+ "cx-input": Rt,
715
+ "cx-line-clamp": Dt,
716
+ "cx-list-editor": it,
717
+ "cx-menu": It,
718
+ "cx-menu-item": qt,
719
+ "cx-option": Lt,
720
+ "cx-padding-input-group": te,
721
+ "cx-page-picker": rt,
722
+ "cx-position-picker": ee,
723
+ "cx-radio": Bt,
724
+ "cx-radio-card": Et,
725
+ "cx-radio-group": zt,
726
+ "cx-select": Nt,
727
+ "cx-shadow-input-group": oe,
728
+ "cx-size-input-group": se,
729
+ "cx-space": Ot,
730
+ "cx-switch": Mt,
731
+ "cx-tab": Vt,
732
+ "cx-tab-group": jt,
733
+ "cx-tab-panel": Gt,
734
+ "cx-textarea": Wt,
735
+ "cx-tooltip": Kt,
736
+ "cx-type-subtype-select": st,
737
+ "cx-typography": z,
738
+ "cx-visually-hidden": Ht
739
+ };
740
+ c([
741
+ $(".config-form")
742
+ ], l.prototype, "dialog", 2);
743
+ c([
744
+ $("#config-form")
745
+ ], l.prototype, "form", 2);
746
+ c([
747
+ $("cx-confirm-popover")
748
+ ], l.prototype, "confirmPopover", 2);
749
+ c([
750
+ $(".config-form__tab-group")
751
+ ], l.prototype, "tabGroup", 2);
752
+ c([
753
+ n({ reflect: !0, type: Boolean })
754
+ ], l.prototype, "loading", 2);
755
+ c([
756
+ n({ reflect: !0, type: String })
757
+ ], l.prototype, "mode", 2);
758
+ c([
759
+ n({ attribute: "adhoc-properties", type: Array })
760
+ ], l.prototype, "adhocProperties", 2);
761
+ c([
762
+ n({ attribute: "template-name", reflect: !1, type: String })
763
+ ], l.prototype, "templateName", 2);
764
+ c([
765
+ n({ attribute: "template-id", reflect: !1, type: String })
766
+ ], l.prototype, "templateId", 2);
767
+ c([
768
+ n({
769
+ attribute: "supported-languages",
770
+ converter: {
771
+ fromAttribute: (t) => t.split(" "),
772
+ toAttribute: (t) => Array.isArray(t) ? t.join(" ") : t
773
+ },
774
+ reflect: !0,
775
+ type: Array
776
+ })
777
+ ], l.prototype, "supportedLanguages", 2);
778
+ c([
779
+ n({ attribute: "translatable-control-values", type: Object })
780
+ ], l.prototype, "translatableControlValues", 2);
781
+ c([
782
+ n({ attribute: "default-language", reflect: !0, type: String })
783
+ ], l.prototype, "defaultLanguage", 2);
784
+ c([
785
+ n({ type: Object })
786
+ ], l.prototype, "boundary", 2);
787
+ c([
788
+ n({ attribute: "base-url", type: String })
789
+ ], l.prototype, "baseUrl", 2);
790
+ c([
791
+ n({ attribute: "token", type: String })
792
+ ], l.prototype, "token", 2);
793
+ c([
794
+ n({ attribute: "on-request-asset", type: Function })
795
+ ], l.prototype, "onRequestAsset", 2);
796
+ c([
797
+ n({ attribute: "on-request-download-format", type: Function })
798
+ ], l.prototype, "onRequestDownloadFormat", 2);
799
+ c([
800
+ n({ attribute: "on-request-asset-format", type: Function })
801
+ ], l.prototype, "onRequestAssetFormat", 2);
802
+ c([
803
+ n({ attribute: "on-configure-workflow", type: Function })
804
+ ], l.prototype, "onConfigureWorkflow", 2);
805
+ c([
806
+ n({ attribute: "block-attributes", reflect: !1, type: Object })
807
+ ], l.prototype, "blockAttributes", 2);
808
+ c([
809
+ n({ attribute: "block-properties", reflect: !1, type: Object })
810
+ ], l.prototype, "blockProperties", 2);
811
+ c([
812
+ n({ attribute: "block-styles", reflect: !1, type: Object })
813
+ ], l.prototype, "blockStyles", 2);
814
+ c([
815
+ n({ attribute: "traits", reflect: !1, type: Object })
816
+ ], l.prototype, "traits", 2);
817
+ c([
818
+ n({ attribute: "translatable-controls", reflect: !1, type: Array })
819
+ ], l.prototype, "translatableControls", 2);
820
+ c([
821
+ n({ attribute: "block-name", reflect: !0, type: String })
822
+ ], l.prototype, "blockName", 2);
823
+ c([
824
+ n({ reflect: !1, type: String })
825
+ ], l.prototype, "name", 2);
826
+ c([
827
+ n({ reflect: !1, type: String })
828
+ ], l.prototype, "description", 2);
829
+ c([
830
+ n({ attribute: "show-template-tab", reflect: !0, type: Boolean })
831
+ ], l.prototype, "showTemplateTab", 2);
832
+ c([
833
+ n({ attribute: "dialog-title", reflect: !0, type: String })
834
+ ], l.prototype, "dialogTitle", 2);
835
+ c([
836
+ n({ attribute: "skip-show-check", reflect: !0, type: Boolean })
837
+ ], l.prototype, "skipShowCheck", 2);
838
+ c([
839
+ n({ attribute: "enable-asset-format-controls", reflect: !0, type: Boolean })
840
+ ], l.prototype, "enableAssetFormatControls", 2);
841
+ c([
842
+ n({
843
+ attribute: "allowed-folders",
844
+ converter: M,
845
+ type: Array
846
+ })
847
+ ], l.prototype, "allowedFolders", 2);
848
+ c([
849
+ g()
850
+ ], l.prototype, "isEditingTemplateSettings", 2);
851
+ c([
852
+ g()
853
+ ], l.prototype, "disableCloseConfigDialog", 2);
854
+ c([
855
+ g()
856
+ ], l.prototype, "isAfterShow", 2);
857
+ c([
858
+ g()
859
+ ], l.prototype, "sortedLanguages", 2);
860
+ c([
861
+ g()
862
+ ], l.prototype, "formKey", 2);
863
+ c([
864
+ k("supportedLanguages")
865
+ ], l.prototype, "handleSupportedLanguagesChange", 1);
866
+ l = c([
867
+ V("cx-config-form")
868
+ ], l);
869
+ const Ie = j`:host{display:block}.confirm-popover__footer{--color:var(--cx-color-danger)}.confirm-popover__footer::part(base){margin-top:var(--cx-spacing-small);display:block}`;
870
+ var qe = Object.defineProperty, Le = Object.getOwnPropertyDescriptor, d = (t, e, o, a) => {
871
+ for (var i = a > 1 ? void 0 : a ? Le(e, o) : e, r = t.length - 1, s; r >= 0; r--)
872
+ (s = t[r]) && (i = (a ? s(e, o, i) : s(i)) || i);
873
+ return a && i && qe(e, o, i), i;
874
+ };
875
+ let p = class extends N {
876
+ constructor() {
877
+ super(), this.localize = new _(this), this.configsController = new gt(this.localize), this.component = null, this.loading = !1, this.mode = A.Template, this.enableAssetFormatControls = !1, this.enableFontFamilyControls = !1, this.allowedFolders = [], this.adhocProperties = [], this.templateName = "", this.templateId = "", this.supportedLanguages = ["en-us"], this.defaultLanguage = "en-us", this.translatableControlValues = [], this.boundary = document.body, this.onRequestAsset = void 0, this.onRequestDownloadFormat = void 0, this.onRequestAssetFormat = void 0, this.onConfigureWorkflow = void 0, this.blockAttributes = {}, this.blockProperties = {}, this.blockStyles = {}, this.traits = [], this.blockType = "", this.blockName = "", this.name = "", this.description = "", this.tab = "", this.isEditingTemplateSettings = !1, this.translatableControlValuesMap = {}, this.translatableControls = [], this.handleSave = this.handleSave.bind(this);
878
+ }
879
+ /**
880
+ * Whether the template is editable.
881
+ * This is used to determine if the user can save the settings as a template.
882
+ * If the mode is EditorMode.Template, the template is editable.
883
+ * If the mode is EditorMode.Content, the template is not editable.
884
+ * @default true
885
+ */
886
+ get isTemplateEditable() {
887
+ return this.mode === A.Template;
888
+ }
889
+ getFlattenTraits(t, e, o = !1) {
890
+ return t.reduce(
891
+ (a, i) => (i.children && a.push(
892
+ ...this.getFlattenTraits(i.children, i, o)
893
+ ), o ? i && (i.show === !1 || typeof i.show == "function" && !i.show(this.blockAttributes) || e && e.show === !1 || e && typeof e.show == "function" && !e.show(this.blockAttributes)) || a.push({
894
+ ...i,
895
+ parent: e
896
+ }) : a.push({
897
+ ...i,
898
+ parent: e
899
+ }), a),
900
+ []
901
+ );
902
+ }
903
+ async handleTraitsChange() {
904
+ await this.updateComplete, this.supportedLanguages.length > 1 ? this.translatableControls = this.traits.filter(
905
+ (t) => t.type === "attribute" && t.translatable || t.controlType === "info-text" && !!t.translateGroup
906
+ ) : this.translatableControls = [];
907
+ for (const t of this.translatableControls)
908
+ for (const e of this.supportedLanguages) {
909
+ const o = this.translatableControlValues.find((a) => {
910
+ const [i, r = ""] = String(a.id).split("_", 2);
911
+ return i === this.component?.getId() && r === e;
912
+ })?.get("content") ?? {};
913
+ o && t.id && o[t.id] !== void 0 && (this.translatableControlValuesMap[e] || (this.translatableControlValuesMap[e] = {}), this.translatableControlValuesMap[e][t.id] = o[t.id]);
914
+ }
915
+ }
916
+ async handleComponentChange() {
917
+ if (!this.component)
918
+ return;
919
+ this.translatableControlValuesMap = {}, await this.updateComplete;
920
+ const t = this.component.get("type"), e = this.configsController.getConfigs(t, {
921
+ containerFontVariants: this.getContainerFontVariants(),
922
+ enableAssetFormatControls: this.enableAssetFormatControls,
923
+ enableFontFamilyControls: this.enableFontFamilyControls
924
+ });
925
+ this.blockType = t, this.blockName = this.component.getName(), this.blockAttributes = {
926
+ ...bt(this.component),
927
+ ...ve(this.translatableControlValuesMap[this.defaultLanguage], (o) => o === void 0)
928
+ }, this.blockProperties = yt(this.component), this.blockStyles = xt(this.component), this.traits = Array.isArray(e) ? e : [];
929
+ }
930
+ /**
931
+ * The variants of the font kit the block sits in, if any — the config
932
+ * manager is the only layer holding the GrapesJS component, so it is the
933
+ * only place that can reach the kit's resolved typefaces. Absent means the
934
+ * block has no container resolving a font for it.
935
+ */
936
+ getContainerFontVariants() {
937
+ for (let t = this.component?.parent(); t; t = t.parent())
938
+ if (t.get("type") === H.FontKitAdvanced) {
939
+ const e = t.view?.el;
940
+ return Se(e?.typefacesArray ?? []);
941
+ }
942
+ }
943
+ handleSave(t) {
944
+ const o = this.getFlattenTraits(this.traits).reduce(
945
+ (i, r) => (i[r.id] = r, i),
946
+ {}
947
+ ), a = Object.entries(this.blockAttributes).reduce(
948
+ (i, [r, s]) => {
949
+ const u = o[r];
950
+ return Ct.includes(r) || (u ? i[r] = s : typeof s == "boolean" && (i[r] = !1)), i;
951
+ },
952
+ {}
953
+ );
954
+ this.emit("cx-content-builder-configure", {
955
+ detail: {
956
+ description: this.description,
957
+ isDetachTemplate: t.detail.isDetachTemplate ?? !1,
958
+ name: this.name,
959
+ settings: {
960
+ attributes: a,
961
+ properties: this.blockProperties,
962
+ styleProps: this.blockStyles,
963
+ translations: this.translatableControlValuesMap
964
+ },
965
+ templateId: t.detail.isNewTemplate ? "" : this.templateId
966
+ }
967
+ });
968
+ }
969
+ handleClose() {
970
+ this.adhocProperties = [], this.blockAttributes = {}, this.blockName = "", this.blockProperties = {}, this.blockStyles = {}, this.blockType = "", this.description = "", this.isEditingTemplateSettings = !1, this.name = "", this.templateId = "", this.templateName = "", this.traits = [], this.translatableControlValuesMap = {};
971
+ }
972
+ async show() {
973
+ await this.handleComponentChange(), this.dialog.show();
974
+ }
975
+ hide() {
976
+ this.dialog.hide(), this.handleClose();
977
+ }
978
+ handleTranslatableValueChange(t) {
979
+ const { language: e, values: o } = t.detail;
980
+ for (const a of o)
981
+ this.translatableControlValuesMap[e] || (this.translatableControlValuesMap[e] = {}), this.translatableControlValuesMap[e][a.attribute] = a.value;
982
+ this.translatableControlValuesMap = {
983
+ ...this.translatableControlValuesMap
984
+ };
985
+ }
986
+ handleChange(t) {
987
+ const { type: e, value: o } = t.detail;
988
+ e === "attribute" ? this.blockAttributes = o : e === "style" ? this.blockStyles = o : e === "property" && (this.blockProperties = o);
989
+ }
990
+ handleFieldChange(t) {
991
+ const { field: e, value: o } = t.detail;
992
+ e === "name" ? this.name = o : e === "description" && (this.description = o);
993
+ }
994
+ render() {
995
+ return h`<cx-config-form block-name=${this.blockName} default-language=${this.defaultLanguage} description=${this.description} name=${this.name} mode=${this.mode} template-name=${this.templateName} template-id=${this.templateId} ?enable-asset-format-controls=${this.enableAssetFormatControls} ?enable-font-family-controls=${this.enableFontFamilyControls} ?loading=${this.loading} .allowedFolders=${this.allowedFolders} .adhocProperties=${this.adhocProperties} .blockAttributes=${this.blockAttributes} .blockProperties=${this.blockProperties} .blockStyles=${this.blockStyles} .boundary=${this.boundary} .supportedLanguages=${this.supportedLanguages} .translatableControls=${this.translatableControls} .translatableControlValues=${this.translatableControlValuesMap} .traits=${this.traits} .onRequestAsset=${this.onRequestAsset} .onRequestDownloadFormat=${this.onRequestDownloadFormat} .onConfigureWorkflow=${this.onConfigureWorkflow} .onRequestAssetFormat=${this.onRequestAssetFormat} @cx-content-builder-translatable-value-change=${this.handleTranslatableValueChange} @cx-content-builder-form-change=${this.handleChange} @cx-content-builder-form-field-change=${this.handleFieldChange} @cx-content-builder-form-save=${this.handleSave}></cx-config-form>`;
996
+ }
997
+ };
998
+ p.styles = [O, Ie];
999
+ p.dependencies = {
1000
+ "cx-config-form": l,
1001
+ "cx-typography": z
1002
+ };
1003
+ d([
1004
+ $("cx-config-form")
1005
+ ], p.prototype, "dialog", 2);
1006
+ d([
1007
+ n({ reflect: !1, type: Object })
1008
+ ], p.prototype, "component", 2);
1009
+ d([
1010
+ n({ reflect: !0, type: Boolean })
1011
+ ], p.prototype, "loading", 2);
1012
+ d([
1013
+ n({ reflect: !0, type: String })
1014
+ ], p.prototype, "mode", 2);
1015
+ d([
1016
+ n({
1017
+ attribute: "enable-asset-format-controls",
1018
+ reflect: !0,
1019
+ type: Boolean
1020
+ })
1021
+ ], p.prototype, "enableAssetFormatControls", 2);
1022
+ d([
1023
+ n({
1024
+ attribute: "enable-font-family-controls",
1025
+ reflect: !0,
1026
+ type: Boolean
1027
+ })
1028
+ ], p.prototype, "enableFontFamilyControls", 2);
1029
+ d([
1030
+ n({
1031
+ attribute: "allowed-folders",
1032
+ converter: M,
1033
+ type: Array
1034
+ })
1035
+ ], p.prototype, "allowedFolders", 2);
1036
+ d([
1037
+ n({ attribute: "adhoc-properties", type: Array })
1038
+ ], p.prototype, "adhocProperties", 2);
1039
+ d([
1040
+ n({ attribute: "template-name", reflect: !1, type: String })
1041
+ ], p.prototype, "templateName", 2);
1042
+ d([
1043
+ n({ attribute: "template-id", reflect: !1, type: String })
1044
+ ], p.prototype, "templateId", 2);
1045
+ d([
1046
+ n({
1047
+ attribute: "supported-languages",
1048
+ converter: {
1049
+ fromAttribute: (t) => t.split(" "),
1050
+ toAttribute: (t) => Array.isArray(t) ? t.join(" ") : t
1051
+ },
1052
+ reflect: !0,
1053
+ type: Array
1054
+ })
1055
+ ], p.prototype, "supportedLanguages", 2);
1056
+ d([
1057
+ n({ attribute: "default-language", reflect: !0, type: String })
1058
+ ], p.prototype, "defaultLanguage", 2);
1059
+ d([
1060
+ n({ attribute: "translatable-control-values", type: Array })
1061
+ ], p.prototype, "translatableControlValues", 2);
1062
+ d([
1063
+ n({ type: Object })
1064
+ ], p.prototype, "boundary", 2);
1065
+ d([
1066
+ n({ attribute: "on-request-asset", type: Function })
1067
+ ], p.prototype, "onRequestAsset", 2);
1068
+ d([
1069
+ n({ attribute: "on-request-download-format", type: Function })
1070
+ ], p.prototype, "onRequestDownloadFormat", 2);
1071
+ d([
1072
+ n({ attribute: "on-request-asset-format", type: Function })
1073
+ ], p.prototype, "onRequestAssetFormat", 2);
1074
+ d([
1075
+ n({ attribute: "on-configure-workflow", type: Function })
1076
+ ], p.prototype, "onConfigureWorkflow", 2);
1077
+ d([
1078
+ g()
1079
+ ], p.prototype, "blockAttributes", 2);
1080
+ d([
1081
+ g()
1082
+ ], p.prototype, "blockProperties", 2);
1083
+ d([
1084
+ g()
1085
+ ], p.prototype, "blockStyles", 2);
1086
+ d([
1087
+ g()
1088
+ ], p.prototype, "traits", 2);
1089
+ d([
1090
+ g()
1091
+ ], p.prototype, "blockType", 2);
1092
+ d([
1093
+ g()
1094
+ ], p.prototype, "blockName", 2);
1095
+ d([
1096
+ g()
1097
+ ], p.prototype, "name", 2);
1098
+ d([
1099
+ g()
1100
+ ], p.prototype, "description", 2);
1101
+ d([
1102
+ g()
1103
+ ], p.prototype, "tab", 2);
1104
+ d([
1105
+ g()
1106
+ ], p.prototype, "isEditingTemplateSettings", 2);
1107
+ d([
1108
+ g()
1109
+ ], p.prototype, "translatableControlValuesMap", 2);
1110
+ d([
1111
+ g()
1112
+ ], p.prototype, "translatableControls", 2);
1113
+ d([
1114
+ k("traits"),
1115
+ k("supportedLanguages", { waitUntilFirstUpdate: !0 }),
1116
+ k("blockAttributes", { waitUntilFirstUpdate: !0 })
1117
+ ], p.prototype, "handleTraitsChange", 1);
1118
+ d([
1119
+ k("component")
1120
+ ], p.prototype, "handleComponentChange", 1);
1121
+ p = d([
1122
+ V("cx-config-manager")
1123
+ ], p);
1124
+ export {
1125
+ p as CxConfigManager
1126
+ };