@brilo/base-blocks 0.1.42 → 0.1.44

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 (392) hide show
  1. package/build/.tsbuildinfo +1 -1
  2. package/build/blocks/compare/compare-group/constants.d.ts +27 -0
  3. package/build/blocks/compare/compare-group/constants.d.ts.map +1 -1
  4. package/build/blocks/compare/compare-group/constants.js +23 -0
  5. package/build/blocks/compare/compare-group/edit.d.ts.map +1 -1
  6. package/build/blocks/compare/compare-group/edit.js +12 -7
  7. package/build/blocks/compare/compare-group/factory.d.ts.map +1 -1
  8. package/build/blocks/compare/compare-group/factory.js +10 -1
  9. package/build/blocks/compare/compare-group/index.d.ts +1 -1
  10. package/build/blocks/compare/compare-group/index.d.ts.map +1 -1
  11. package/build/blocks/compare/compare-group/types.d.ts +7 -1
  12. package/build/blocks/compare/compare-group/types.d.ts.map +1 -1
  13. package/build/blocks/compare/compare-item/edit.d.ts.map +1 -1
  14. package/build/blocks/compare/compare-item/edit.js +6 -4
  15. package/build/blocks/compare/compare-item/factory.d.ts.map +1 -1
  16. package/build/blocks/compare/compare-item/factory.js +4 -0
  17. package/build/blocks/compare/compare-item/types.d.ts +2 -0
  18. package/build/blocks/compare/compare-item/types.d.ts.map +1 -1
  19. package/build/blocks/compare/compare-option/types.d.ts +1 -1
  20. package/build/blocks/compare/compare-option/types.d.ts.map +1 -1
  21. package/build/blocks/core/basic-icon/buildPreviewStyle.d.ts +8 -0
  22. package/build/blocks/core/basic-icon/buildPreviewStyle.d.ts.map +1 -0
  23. package/build/blocks/core/basic-icon/buildPreviewStyle.js +22 -0
  24. package/build/blocks/core/basic-icon/constants.d.ts +84 -0
  25. package/build/blocks/core/basic-icon/constants.d.ts.map +1 -0
  26. package/build/blocks/core/basic-icon/constants.js +41 -0
  27. package/build/blocks/core/basic-icon/edit.d.ts +6 -0
  28. package/build/blocks/core/basic-icon/edit.d.ts.map +1 -0
  29. package/build/blocks/core/basic-icon/edit.js +22 -0
  30. package/build/blocks/core/basic-icon/factory.d.ts +5 -0
  31. package/build/blocks/core/basic-icon/factory.d.ts.map +1 -0
  32. package/build/blocks/core/basic-icon/factory.js +38 -0
  33. package/build/blocks/core/basic-icon/index.d.ts +5 -0
  34. package/build/blocks/core/basic-icon/index.d.ts.map +1 -0
  35. package/build/blocks/core/basic-icon/index.js +7 -0
  36. package/build/blocks/core/basic-icon/types.d.ts +30 -0
  37. package/build/blocks/core/basic-icon/types.d.ts.map +1 -0
  38. package/build/blocks/core/basic-icon/types.js +1 -0
  39. package/build/blocks/core/basic-overline/edit.d.ts.map +1 -1
  40. package/build/blocks/core/basic-overline/edit.js +6 -1
  41. package/build/blocks/core/basic-overline/factory.d.ts.map +1 -1
  42. package/build/blocks/core/basic-overline/factory.js +2 -0
  43. package/build/blocks/core/basic-overline/types.d.ts +3 -1
  44. package/build/blocks/core/basic-overline/types.d.ts.map +1 -1
  45. package/build/blocks/faq/faq-group/constants.d.ts +29 -0
  46. package/build/blocks/faq/faq-group/constants.d.ts.map +1 -1
  47. package/build/blocks/faq/faq-group/constants.js +15 -0
  48. package/build/blocks/faq/faq-group/edit.d.ts.map +1 -1
  49. package/build/blocks/faq/faq-group/edit.js +12 -5
  50. package/build/blocks/faq/faq-group/factory.d.ts.map +1 -1
  51. package/build/blocks/faq/faq-group/factory.js +35 -17
  52. package/build/blocks/faq/faq-group/index.d.ts +1 -1
  53. package/build/blocks/faq/faq-group/index.d.ts.map +1 -1
  54. package/build/blocks/faq/faq-group/types.d.ts +20 -1
  55. package/build/blocks/faq/faq-group/types.d.ts.map +1 -1
  56. package/build/blocks/form/form-field/edit.d.ts +1 -1
  57. package/build/blocks/form/form-field/edit.d.ts.map +1 -1
  58. package/build/blocks/form/form-field/types.d.ts +1 -1
  59. package/build/blocks/form/form-field/types.d.ts.map +1 -1
  60. package/build/blocks/gallery/gallery-item/index.d.ts +1 -1
  61. package/build/blocks/gallery/gallery-item/index.d.ts.map +1 -1
  62. package/build/blocks/groups/banner-group/index.d.ts +1 -1
  63. package/build/blocks/groups/banner-group/index.d.ts.map +1 -1
  64. package/build/blocks/groups/banner-group/types.d.ts +2 -2
  65. package/build/blocks/groups/banner-group/types.d.ts.map +1 -1
  66. package/build/blocks/groups/basic-header-group/edit.d.ts.map +1 -1
  67. package/build/blocks/groups/basic-header-group/edit.js +8 -3
  68. package/build/blocks/groups/basic-header-group/factory.js +1 -1
  69. package/build/blocks/groups/basic-header-group/types.d.ts +2 -0
  70. package/build/blocks/groups/basic-header-group/types.d.ts.map +1 -1
  71. package/build/blocks/groups/text-and-media-group/constants.d.ts +25 -0
  72. package/build/blocks/groups/text-and-media-group/constants.d.ts.map +1 -1
  73. package/build/blocks/groups/text-and-media-group/constants.js +10 -0
  74. package/build/blocks/groups/text-and-media-group/edit.d.ts.map +1 -1
  75. package/build/blocks/groups/text-and-media-group/edit.js +16 -9
  76. package/build/blocks/groups/text-and-media-group/factory.d.ts +2 -2
  77. package/build/blocks/groups/text-and-media-group/factory.d.ts.map +1 -1
  78. package/build/blocks/groups/text-and-media-group/factory.js +12 -10
  79. package/build/blocks/groups/text-and-media-group/types.d.ts +8 -3
  80. package/build/blocks/groups/text-and-media-group/types.d.ts.map +1 -1
  81. package/build/blocks/hero/hero-group/constants.d.ts +16 -0
  82. package/build/blocks/hero/hero-group/constants.d.ts.map +1 -1
  83. package/build/blocks/hero/hero-group/constants.js +7 -0
  84. package/build/blocks/hero/hero-group/edit.d.ts.map +1 -1
  85. package/build/blocks/hero/hero-group/edit.js +6 -5
  86. package/build/blocks/hero/hero-group/factory.d.ts +2 -2
  87. package/build/blocks/hero/hero-group/factory.d.ts.map +1 -1
  88. package/build/blocks/hero/hero-group/factory.js +11 -5
  89. package/build/blocks/hero/hero-group/types.d.ts +7 -4
  90. package/build/blocks/hero/hero-group/types.d.ts.map +1 -1
  91. package/build/blocks/hero/hero-item/edit.d.ts.map +1 -1
  92. package/build/blocks/hero/hero-item/edit.js +7 -2
  93. package/build/blocks/hero/hero-item/factory.d.ts.map +1 -1
  94. package/build/blocks/hero/hero-item/factory.js +1 -0
  95. package/build/blocks/hero/hero-item/types.d.ts +12 -2
  96. package/build/blocks/hero/hero-item/types.d.ts.map +1 -1
  97. package/build/blocks/link/link-item/factory.d.ts +1 -1
  98. package/build/blocks/link/link-item/factory.d.ts.map +1 -1
  99. package/build/blocks/map/map-group/types.d.ts +3 -3
  100. package/build/blocks/map/map-group/types.d.ts.map +1 -1
  101. package/build/blocks/newsletter/newsletter-form/types.d.ts +1 -1
  102. package/build/blocks/newsletter/newsletter-form/types.d.ts.map +1 -1
  103. package/build/blocks/person/person-group/types.d.ts +1 -1
  104. package/build/blocks/person/person-group/types.d.ts.map +1 -1
  105. package/build/blocks/person/person-item/constants.d.ts.map +1 -1
  106. package/build/blocks/person/person-item/types.d.ts +2 -2
  107. package/build/blocks/person/person-item/types.d.ts.map +1 -1
  108. package/build/blocks/priceplan/priceplan-group/constants.d.ts +2 -0
  109. package/build/blocks/priceplan/priceplan-group/constants.d.ts.map +1 -0
  110. package/build/blocks/priceplan/priceplan-group/constants.js +1 -0
  111. package/build/blocks/priceplan/priceplan-group/edit.d.ts +3 -0
  112. package/build/blocks/priceplan/priceplan-group/edit.d.ts.map +1 -0
  113. package/build/blocks/priceplan/priceplan-group/edit.js +16 -0
  114. package/build/blocks/priceplan/priceplan-group/factory.d.ts +5 -0
  115. package/build/blocks/priceplan/priceplan-group/factory.d.ts.map +1 -0
  116. package/build/blocks/priceplan/priceplan-group/factory.js +20 -0
  117. package/build/blocks/priceplan/priceplan-group/icon.d.ts +2 -0
  118. package/build/blocks/priceplan/priceplan-group/icon.d.ts.map +1 -0
  119. package/build/blocks/priceplan/priceplan-group/icon.js +2 -0
  120. package/build/blocks/priceplan/priceplan-group/index.d.ts +5 -0
  121. package/build/blocks/priceplan/priceplan-group/index.d.ts.map +1 -0
  122. package/build/blocks/priceplan/priceplan-group/index.js +11 -0
  123. package/build/blocks/priceplan/priceplan-group/types.d.ts +7 -0
  124. package/build/blocks/priceplan/priceplan-group/types.d.ts.map +1 -0
  125. package/build/blocks/priceplan/priceplan-group/types.js +1 -0
  126. package/build/blocks/priceplan/priceplan-item/constants.d.ts +15 -0
  127. package/build/blocks/priceplan/priceplan-item/constants.d.ts.map +1 -0
  128. package/build/blocks/priceplan/priceplan-item/constants.js +9 -0
  129. package/build/blocks/priceplan/priceplan-item/edit.d.ts +6 -0
  130. package/build/blocks/priceplan/priceplan-item/edit.d.ts.map +1 -0
  131. package/build/blocks/priceplan/priceplan-item/edit.js +30 -0
  132. package/build/blocks/priceplan/priceplan-item/factory.d.ts +7 -0
  133. package/build/blocks/priceplan/priceplan-item/factory.d.ts.map +1 -0
  134. package/build/blocks/priceplan/priceplan-item/factory.js +70 -0
  135. package/build/blocks/priceplan/priceplan-item/icon.d.ts +2 -0
  136. package/build/blocks/priceplan/priceplan-item/icon.d.ts.map +1 -0
  137. package/build/blocks/priceplan/priceplan-item/icon.js +2 -0
  138. package/build/blocks/priceplan/priceplan-item/index.d.ts +5 -0
  139. package/build/blocks/priceplan/priceplan-item/index.d.ts.map +1 -0
  140. package/build/blocks/priceplan/priceplan-item/index.js +12 -0
  141. package/build/blocks/priceplan/priceplan-item/types.d.ts +28 -0
  142. package/build/blocks/priceplan/priceplan-item/types.d.ts.map +1 -0
  143. package/build/blocks/priceplan/priceplan-item/types.js +1 -0
  144. package/build/blocks/priceplan/priceplan-list-item/constants.d.ts +8 -0
  145. package/build/blocks/priceplan/priceplan-list-item/constants.d.ts.map +1 -0
  146. package/build/blocks/priceplan/priceplan-list-item/constants.js +5 -0
  147. package/build/blocks/priceplan/priceplan-list-item/edit.d.ts +6 -0
  148. package/build/blocks/priceplan/priceplan-list-item/edit.d.ts.map +1 -0
  149. package/build/blocks/priceplan/priceplan-list-item/edit.js +17 -0
  150. package/build/blocks/priceplan/priceplan-list-item/factory.d.ts +7 -0
  151. package/build/blocks/priceplan/priceplan-list-item/factory.d.ts.map +1 -0
  152. package/build/blocks/priceplan/priceplan-list-item/factory.js +30 -0
  153. package/build/blocks/priceplan/priceplan-list-item/icon.d.ts +2 -0
  154. package/build/blocks/priceplan/priceplan-list-item/icon.d.ts.map +1 -0
  155. package/build/blocks/priceplan/priceplan-list-item/icon.js +2 -0
  156. package/build/blocks/priceplan/priceplan-list-item/index.d.ts +5 -0
  157. package/build/blocks/priceplan/priceplan-list-item/index.d.ts.map +1 -0
  158. package/build/blocks/priceplan/priceplan-list-item/index.js +5 -0
  159. package/build/blocks/priceplan/priceplan-list-item/types.d.ts +11 -0
  160. package/build/blocks/priceplan/priceplan-list-item/types.d.ts.map +1 -0
  161. package/build/blocks/priceplan/priceplan-list-item/types.js +1 -0
  162. package/build/blocks/review/review-group/constants.d.ts +26 -0
  163. package/build/blocks/review/review-group/constants.d.ts.map +1 -0
  164. package/build/blocks/review/review-group/constants.js +21 -0
  165. package/build/blocks/review/review-group/edit.d.ts +4 -0
  166. package/build/blocks/review/review-group/edit.d.ts.map +1 -0
  167. package/build/blocks/review/review-group/edit.js +31 -0
  168. package/build/blocks/review/review-group/factory.d.ts +7 -0
  169. package/build/blocks/review/review-group/factory.d.ts.map +1 -0
  170. package/build/blocks/review/review-group/factory.js +49 -0
  171. package/build/blocks/review/review-group/icon.d.ts +2 -0
  172. package/build/blocks/review/review-group/icon.d.ts.map +1 -0
  173. package/build/blocks/review/review-group/icon.js +2 -0
  174. package/build/blocks/review/review-group/index.d.ts +5 -0
  175. package/build/blocks/review/review-group/index.d.ts.map +1 -0
  176. package/build/blocks/review/review-group/index.js +6 -0
  177. package/build/blocks/review/review-group/types.d.ts +24 -0
  178. package/build/blocks/review/review-group/types.d.ts.map +1 -0
  179. package/build/blocks/review/review-group/types.js +1 -0
  180. package/build/blocks/review/review-item/constants.d.ts +2 -0
  181. package/build/blocks/review/review-item/constants.d.ts.map +1 -0
  182. package/build/blocks/review/review-item/constants.js +1 -0
  183. package/build/blocks/review/review-item/edit.d.ts +4 -0
  184. package/build/blocks/review/review-item/edit.d.ts.map +1 -0
  185. package/build/blocks/review/review-item/edit.js +29 -0
  186. package/build/blocks/review/review-item/factory.d.ts +5 -0
  187. package/build/blocks/review/review-item/factory.d.ts.map +1 -0
  188. package/build/blocks/review/review-item/factory.js +36 -0
  189. package/build/blocks/review/review-item/icon.d.ts +2 -0
  190. package/build/blocks/review/review-item/icon.d.ts.map +1 -0
  191. package/build/blocks/review/review-item/icon.js +2 -0
  192. package/build/blocks/review/review-item/index.d.ts +5 -0
  193. package/build/blocks/review/review-item/index.d.ts.map +1 -0
  194. package/build/blocks/review/review-item/index.js +5 -0
  195. package/build/blocks/review/review-item/types.d.ts +17 -0
  196. package/build/blocks/review/review-item/types.d.ts.map +1 -0
  197. package/build/blocks/review/review-item/types.js +1 -0
  198. package/build/blocks/sections/base-section/attributes.d.ts +25 -0
  199. package/build/blocks/sections/base-section/attributes.d.ts.map +1 -1
  200. package/build/blocks/sections/base-section/attributes.js +9 -0
  201. package/build/blocks/sections/base-section/controls.d.ts.map +1 -1
  202. package/build/blocks/sections/base-section/controls.js +46 -2
  203. package/build/blocks/sections/base-section/types.d.ts +24 -1
  204. package/build/blocks/sections/base-section/types.d.ts.map +1 -1
  205. package/build/blocks/share/share/index.d.ts.map +1 -1
  206. package/build/blocks/share/share/index.js +1 -0
  207. package/build/blocks/signpost/signpost-group/constants.d.ts +26 -0
  208. package/build/blocks/signpost/signpost-group/constants.d.ts.map +1 -1
  209. package/build/blocks/signpost/signpost-group/constants.js +21 -0
  210. package/build/blocks/signpost/signpost-group/edit.d.ts.map +1 -1
  211. package/build/blocks/signpost/signpost-group/edit.js +13 -8
  212. package/build/blocks/signpost/signpost-group/factory.d.ts.map +1 -1
  213. package/build/blocks/signpost/signpost-group/factory.js +5 -1
  214. package/build/blocks/signpost/signpost-group/types.d.ts +5 -1
  215. package/build/blocks/signpost/signpost-group/types.d.ts.map +1 -1
  216. package/build/blocks/step/step-group/edit.d.ts +1 -1
  217. package/build/blocks/step/step-group/edit.d.ts.map +1 -1
  218. package/build/blocks/step/step-group/factory.d.ts +1 -1
  219. package/build/blocks/step/step-group/factory.d.ts.map +1 -1
  220. package/build/blocks/step/step-group/types.d.ts +2 -2
  221. package/build/blocks/step/step-group/types.d.ts.map +1 -1
  222. package/build/blocks/step/step-item/types.d.ts +1 -1
  223. package/build/blocks/step/step-item/types.d.ts.map +1 -1
  224. package/build/blocks/testimonial/testimonial-group/index.d.ts +1 -1
  225. package/build/blocks/testimonial/testimonial-group/index.d.ts.map +1 -1
  226. package/build/blocks/testimonial/testimonial-group/types.d.ts +1 -1
  227. package/build/blocks/testimonial/testimonial-group/types.d.ts.map +1 -1
  228. package/build/blocks/text-and-form/text-and-form-text-column/edit.d.ts.map +1 -1
  229. package/build/blocks/text-and-form/text-and-form-text-column/edit.js +9 -2
  230. package/build/blocks/text-and-form/text-and-form-text-column/factory.js +1 -1
  231. package/build/blocks/text-and-form/text-and-form-text-column/types.d.ts +2 -0
  232. package/build/blocks/text-and-form/text-and-form-text-column/types.d.ts.map +1 -1
  233. package/build/blocks/usp/usp-item/types.d.ts +1 -1
  234. package/build/blocks/usp/usp-item/types.d.ts.map +1 -1
  235. package/build/blocks/video/video-group/constants.d.ts +15 -0
  236. package/build/blocks/video/video-group/constants.d.ts.map +1 -0
  237. package/build/blocks/video/video-group/constants.js +9 -0
  238. package/build/blocks/video/video-group/edit.d.ts +4 -0
  239. package/build/blocks/video/video-group/edit.d.ts.map +1 -0
  240. package/build/blocks/video/video-group/edit.js +23 -0
  241. package/build/blocks/video/video-group/factory.d.ts +5 -0
  242. package/build/blocks/video/video-group/factory.d.ts.map +1 -0
  243. package/build/blocks/video/video-group/factory.js +51 -0
  244. package/build/blocks/video/video-group/icon.d.ts +2 -0
  245. package/build/blocks/video/video-group/icon.d.ts.map +1 -0
  246. package/build/blocks/video/video-group/icon.js +2 -0
  247. package/build/blocks/video/video-group/index.d.ts +5 -0
  248. package/build/blocks/video/video-group/index.d.ts.map +1 -0
  249. package/build/blocks/video/video-group/index.js +5 -0
  250. package/build/blocks/video/video-group/types.d.ts +20 -0
  251. package/build/blocks/video/video-group/types.d.ts.map +1 -0
  252. package/build/blocks/video/video-group/types.js +1 -0
  253. package/build/components/Document/DocumentTermSelectModal.js +1 -1
  254. package/build/components/EntitySelectModal/EntitySelectModal.d.ts.map +1 -0
  255. package/build/components/Event/EventSelectModal.js +1 -1
  256. package/build/components/Event/EventTermSelectModal.js +1 -1
  257. package/build/components/Post/PostSelectModal.js +1 -1
  258. package/build/components/Post/PostTermSelectModal.js +1 -1
  259. package/build/index.d.ts +14 -0
  260. package/build/index.d.ts.map +1 -1
  261. package/build/index.js +7 -0
  262. package/build/types.d.ts +1 -1
  263. package/build/types.d.ts.map +1 -1
  264. package/package.json +1 -1
  265. package/src/blocks/compare/compare-group/constants.ts +27 -0
  266. package/src/blocks/compare/compare-group/edit.tsx +27 -4
  267. package/src/blocks/compare/compare-group/factory.tsx +10 -1
  268. package/src/blocks/compare/compare-group/index.ts +7 -1
  269. package/src/blocks/compare/compare-group/types.ts +5 -1
  270. package/src/blocks/compare/compare-item/edit.tsx +32 -13
  271. package/src/blocks/compare/compare-item/editor.scss +16 -0
  272. package/src/blocks/compare/compare-item/factory.tsx +4 -0
  273. package/src/blocks/compare/compare-item/types.ts +2 -0
  274. package/src/blocks/compare/compare-option/types.ts +1 -1
  275. package/src/blocks/core/basic-icon/buildPreviewStyle.ts +40 -0
  276. package/src/blocks/core/basic-icon/constants.ts +48 -0
  277. package/src/blocks/core/basic-icon/edit.tsx +170 -0
  278. package/src/blocks/core/basic-icon/editor.scss +119 -0
  279. package/src/blocks/core/basic-icon/factory.tsx +42 -0
  280. package/src/blocks/core/basic-icon/index.ts +17 -0
  281. package/src/blocks/core/basic-icon/types.ts +34 -0
  282. package/src/blocks/core/basic-overline/edit.tsx +8 -0
  283. package/src/blocks/core/basic-overline/factory.tsx +2 -0
  284. package/src/blocks/core/basic-overline/types.ts +3 -1
  285. package/src/blocks/faq/faq-group/constants.ts +18 -0
  286. package/src/blocks/faq/faq-group/edit.tsx +118 -4
  287. package/src/blocks/faq/faq-group/factory.tsx +33 -13
  288. package/src/blocks/faq/faq-group/index.ts +9 -1
  289. package/src/blocks/faq/faq-group/types.ts +22 -1
  290. package/src/blocks/form/form-field/edit.tsx +1 -1
  291. package/src/blocks/form/form-field/types.ts +4 -4
  292. package/src/blocks/form/form-group/editor.scss +1 -0
  293. package/src/blocks/gallery/gallery-item/index.ts +1 -1
  294. package/src/blocks/groups/banner-group/index.ts +1 -1
  295. package/src/blocks/groups/banner-group/types.ts +2 -2
  296. package/src/blocks/groups/basic-header-group/edit.tsx +25 -1
  297. package/src/blocks/groups/basic-header-group/factory.tsx +1 -1
  298. package/src/blocks/groups/basic-header-group/types.ts +1 -1
  299. package/src/blocks/groups/text-and-media-group/constants.ts +11 -0
  300. package/src/blocks/groups/text-and-media-group/edit.tsx +37 -2
  301. package/src/blocks/groups/text-and-media-group/editor.scss +50 -4
  302. package/src/blocks/groups/text-and-media-group/factory.tsx +10 -4
  303. package/src/blocks/groups/text-and-media-group/types.ts +7 -1
  304. package/src/blocks/hero/hero-group/constants.ts +8 -0
  305. package/src/blocks/hero/hero-group/edit.tsx +16 -4
  306. package/src/blocks/hero/hero-group/factory.tsx +13 -4
  307. package/src/blocks/hero/hero-group/types.ts +15 -3
  308. package/src/blocks/hero/hero-item/edit.tsx +42 -2
  309. package/src/blocks/hero/hero-item/editor.scss +13 -0
  310. package/src/blocks/hero/hero-item/factory.tsx +1 -0
  311. package/src/blocks/hero/hero-item/types.ts +4 -2
  312. package/src/blocks/link/link-item/factory.tsx +1 -1
  313. package/src/blocks/map/map-group/types.ts +3 -3
  314. package/src/blocks/newsletter/newsletter-form/types.ts +1 -1
  315. package/src/blocks/person/person-group/types.ts +1 -1
  316. package/src/blocks/person/person-item/constants.ts +0 -3
  317. package/src/blocks/person/person-item/types.ts +2 -2
  318. package/src/blocks/priceplan/priceplan-group/constants.ts +1 -0
  319. package/src/blocks/priceplan/priceplan-group/edit.tsx +21 -0
  320. package/src/blocks/priceplan/priceplan-group/editor.scss +3 -0
  321. package/src/blocks/priceplan/priceplan-group/factory.tsx +23 -0
  322. package/src/blocks/priceplan/priceplan-group/icon.tsx +36 -0
  323. package/src/blocks/priceplan/priceplan-group/index.ts +15 -0
  324. package/src/blocks/priceplan/priceplan-group/types.ts +7 -0
  325. package/src/blocks/priceplan/priceplan-item/constants.ts +11 -0
  326. package/src/blocks/priceplan/priceplan-item/edit.tsx +158 -0
  327. package/src/blocks/priceplan/priceplan-item/editor.scss +131 -0
  328. package/src/blocks/priceplan/priceplan-item/factory.tsx +80 -0
  329. package/src/blocks/priceplan/priceplan-item/icon.tsx +9 -0
  330. package/src/blocks/priceplan/priceplan-item/index.ts +16 -0
  331. package/src/blocks/priceplan/priceplan-item/types.ts +34 -0
  332. package/src/blocks/priceplan/priceplan-list-item/constants.ts +6 -0
  333. package/src/blocks/priceplan/priceplan-list-item/edit.tsx +59 -0
  334. package/src/blocks/priceplan/priceplan-list-item/editor.scss +21 -0
  335. package/src/blocks/priceplan/priceplan-list-item/factory.tsx +38 -0
  336. package/src/blocks/priceplan/priceplan-list-item/icon.tsx +9 -0
  337. package/src/blocks/priceplan/priceplan-list-item/index.ts +9 -0
  338. package/src/blocks/priceplan/priceplan-list-item/types.ts +13 -0
  339. package/src/blocks/review/review-group/constants.ts +25 -0
  340. package/src/blocks/review/review-group/edit.tsx +116 -0
  341. package/src/blocks/review/review-group/editor.scss +10 -0
  342. package/src/blocks/review/review-group/factory.tsx +58 -0
  343. package/src/blocks/review/review-group/icon.tsx +12 -0
  344. package/src/blocks/review/review-group/index.ts +19 -0
  345. package/src/blocks/review/review-group/types.ts +27 -0
  346. package/src/blocks/review/review-item/constants.ts +1 -0
  347. package/src/blocks/review/review-item/edit.tsx +126 -0
  348. package/src/blocks/review/review-item/editor.scss +96 -0
  349. package/src/blocks/review/review-item/factory.tsx +40 -0
  350. package/src/blocks/review/review-item/icon.tsx +9 -0
  351. package/src/blocks/review/review-item/index.ts +9 -0
  352. package/src/blocks/review/review-item/types.ts +19 -0
  353. package/src/blocks/sections/base-section/attributes.ts +9 -0
  354. package/src/blocks/sections/base-section/controls.tsx +97 -1
  355. package/src/blocks/sections/base-section/types.ts +9 -1
  356. package/src/blocks/share/share/index.ts +1 -0
  357. package/src/blocks/signpost/signpost-group/constants.ts +23 -0
  358. package/src/blocks/signpost/signpost-group/edit.tsx +25 -4
  359. package/src/blocks/signpost/signpost-group/factory.tsx +5 -1
  360. package/src/blocks/signpost/signpost-group/types.ts +4 -1
  361. package/src/blocks/signpost/signpost-item/editor.scss +5 -0
  362. package/src/blocks/step/step-group/edit.tsx +1 -1
  363. package/src/blocks/step/step-group/factory.tsx +1 -1
  364. package/src/blocks/step/step-group/types.ts +2 -2
  365. package/src/blocks/step/step-item/types.ts +1 -1
  366. package/src/blocks/testimonial/testimonial-group/index.ts +1 -1
  367. package/src/blocks/testimonial/testimonial-group/types.ts +1 -1
  368. package/src/blocks/text-and-form/text-and-form-text-column/edit.tsx +31 -0
  369. package/src/blocks/text-and-form/text-and-form-text-column/editor.scss +8 -4
  370. package/src/blocks/text-and-form/text-and-form-text-column/factory.tsx +1 -1
  371. package/src/blocks/text-and-form/text-and-form-text-column/types.ts +1 -1
  372. package/src/blocks/usp/usp-item/types.ts +1 -1
  373. package/src/blocks/video/video-group/constants.ts +11 -0
  374. package/src/blocks/video/video-group/edit.tsx +165 -0
  375. package/src/blocks/video/video-group/editor.scss +105 -0
  376. package/src/blocks/video/video-group/factory.tsx +55 -0
  377. package/src/blocks/video/video-group/icon.tsx +17 -0
  378. package/src/blocks/video/video-group/index.ts +9 -0
  379. package/src/blocks/video/video-group/types.ts +22 -0
  380. package/src/components/Document/DocumentTermSelectModal.tsx +1 -1
  381. package/src/components/Event/EventSelectModal.tsx +1 -1
  382. package/src/components/Event/EventTermSelectModal.tsx +1 -1
  383. package/src/components/ImagePicker/ImagePicker.tsx +1 -1
  384. package/src/components/Post/PostSelectModal.tsx +1 -1
  385. package/src/components/Post/PostTermSelectModal.tsx +1 -1
  386. package/src/editor.scss +7 -0
  387. package/src/index.ts +19 -0
  388. package/src/types.ts +1 -1
  389. package/build/components/Event/EntitySelectModal.d.ts.map +0 -1
  390. /package/build/components/{Event → EntitySelectModal}/EntitySelectModal.d.ts +0 -0
  391. /package/build/components/{Event → EntitySelectModal}/EntitySelectModal.js +0 -0
  392. /package/src/components/{Event → EntitySelectModal}/EntitySelectModal.tsx +0 -0
@@ -0,0 +1,42 @@
1
+ import type {BlockConfiguration} from '@wordpress/blocks'
2
+ import {__} from '@wordpress/i18n'
3
+ import {DEFAULT_ALIGNMENTS, DEFAULT_ICON_BACKGROUND_SHAPES, DEFAULT_ICON_BACKGROUND_SIZE, DEFAULT_ICON_SIZE, ICON_TYPES} from './constants'
4
+ import {createBasicIconEdit} from './edit'
5
+ import type {BasicIconAttributes, BasicIconOptions} from './types'
6
+
7
+ export type {BasicIconAttributes, BasicIconOptions}
8
+
9
+ export function createBasicIconBlock(options: BasicIconOptions): BlockConfiguration<BasicIconAttributes> {
10
+ return {
11
+ name: options.name,
12
+ title: options.title ?? __('Ikona', 'brilo-blocks'),
13
+ description: options.description,
14
+ category: options.category ?? 'layout',
15
+ ...(options.parent && {parent: options.parent}),
16
+ icon: options.icon ?? 'star-filled',
17
+ supports: {html: false, customClassName: false},
18
+ attributes: {
19
+ icon: {
20
+ type: 'object',
21
+ default: {type: ICON_TYPES[0].value, src: '', media: {id: 0, alt: ''}},
22
+ },
23
+ style: {
24
+ type: 'object',
25
+ default: {
26
+ align: DEFAULT_ALIGNMENTS[0].value,
27
+ icon: {
28
+ size: DEFAULT_ICON_SIZE,
29
+ color: '',
30
+ background: '',
31
+ backgroundSize: DEFAULT_ICON_BACKGROUND_SIZE,
32
+ backgroundShape: DEFAULT_ICON_BACKGROUND_SHAPES[0].value,
33
+ borderColor: '',
34
+ borderWidth: 1,
35
+ },
36
+ },
37
+ },
38
+ },
39
+ edit: createBasicIconEdit(options),
40
+ save: () => null,
41
+ } as unknown as BlockConfiguration<BasicIconAttributes>
42
+ }
@@ -0,0 +1,17 @@
1
+ export type {
2
+ BasicIconAlignment,
3
+ BasicIconAttributes,
4
+ BasicIconBackgroundShape,
5
+ BasicIconOptions,
6
+ BasicIconStyle,
7
+ } from './types'
8
+ export {createBasicIconBlock} from './factory'
9
+
10
+ import type {BasicIconOptions} from './types'
11
+
12
+ export const basicIconDefaults: BasicIconOptions = {
13
+ name: 'brilo/basic-icon',
14
+ parent: ['brilo/base-section'],
15
+ icons: [],
16
+ iconsSrc: '',
17
+ }
@@ -0,0 +1,34 @@
1
+ import type {IconType} from '~/components/IconControl'
2
+ import type {BriloBlockType, Icon} from '~/types'
3
+ import type {DEFAULT_ALIGNMENTS, DEFAULT_ICON_BACKGROUND_SHAPES} from './constants'
4
+
5
+ export type BasicIconAlignment = (typeof DEFAULT_ALIGNMENTS)[number]['value']
6
+ export type BasicIconBackgroundShape = (typeof DEFAULT_ICON_BACKGROUND_SHAPES)[number]['value']
7
+
8
+ export interface BasicIconSizePreset {
9
+ value: number
10
+ label: string
11
+ }
12
+
13
+ export interface BasicIconStyle {
14
+ align: BasicIconAlignment
15
+ icon: {
16
+ size: number
17
+ color: string
18
+ background: string
19
+ backgroundSize: number
20
+ backgroundShape: BasicIconBackgroundShape
21
+ borderColor: string
22
+ borderWidth: number
23
+ }
24
+ }
25
+
26
+ export interface BasicIconAttributes extends Record<string, unknown> {
27
+ icon: Icon
28
+ style: BasicIconStyle
29
+ }
30
+
31
+ export interface BasicIconOptions extends BriloBlockType {
32
+ icons: IconType[]
33
+ iconsSrc: string
34
+ }
@@ -17,6 +17,14 @@ export function createBasicOverlineEdit(options: BasicOverlineOptions) {
17
17
  <RichText
18
18
  tagName="span"
19
19
  className="i-overline__text u-text-editable"
20
+ style={
21
+ attributes.color || attributes.background
22
+ ? {
23
+ ...(attributes.color ? {color: attributes.color} : {}),
24
+ ...(attributes.background ? {backgroundColor: attributes.background} : {}),
25
+ }
26
+ : undefined
27
+ }
20
28
  value={attributes.title}
21
29
  onChange={(value) => setAttributes({title: value})}
22
30
  placeholder={__('Overline...', 'brilo-blocks')}
@@ -15,6 +15,8 @@ export function createBasicOverlineBlock(options: BasicOverlineOptions): BlockCo
15
15
  icon: options.icon ?? 'text',
16
16
  attributes: {
17
17
  title: {type: 'string', default: ''},
18
+ color: {type: 'string', default: ''},
19
+ background: {type: 'string', default: ''},
18
20
  },
19
21
  edit: createBasicOverlineEdit(options),
20
22
  save: () => null,
@@ -1,7 +1,9 @@
1
- import {BriloBlockType} from '~/types'
1
+ import type {BriloBlockType} from '~/types'
2
2
 
3
3
  export interface BasicOverlineAttributes extends Record<string, unknown> {
4
4
  title: string
5
+ color?: string
6
+ background?: string
5
7
  }
6
8
 
7
9
  export interface BasicOverlineOptions extends BriloBlockType {}
@@ -9,3 +9,21 @@ export const DEFAULT_ICON_VARIANTS = [
9
9
  {value: 'info', label: __('Informace', 'brilo-blocks')},
10
10
  {value: 'message', label: __('Zpráva', 'brilo-blocks')},
11
11
  ] as const
12
+
13
+ export const DEFAULT_SHADOWS = [
14
+ {value: 'none', label: __('Žádný', 'brilo-blocks')},
15
+ {value: 'sm', label: __('Malý', 'brilo-blocks')},
16
+ {value: 'md', label: __('Střední', 'brilo-blocks')},
17
+ ] as const
18
+
19
+ export const DEFAULT_ICON_SIZE = 24
20
+ export const ICON_SIZE_MIN = 12
21
+ export const ICON_SIZE_MAX = 64
22
+
23
+ export const DEFAULT_ICON_SIZE_PRESETS = [
24
+ {value: 16, label: __('XS', 'brilo-blocks')},
25
+ {value: 20, label: __('SM', 'brilo-blocks')},
26
+ {value: 24, label: __('MD', 'brilo-blocks')},
27
+ {value: 32, label: __('LG', 'brilo-blocks')},
28
+ {value: 40, label: __('XL', 'brilo-blocks')},
29
+ ] as const
@@ -1,12 +1,60 @@
1
1
  import {InspectorControls} from '@wordpress/block-editor'
2
- import {PanelBody, SelectControl} from '@wordpress/components'
2
+ import {
3
+ BaseControl,
4
+ Button,
5
+ ColorPalette,
6
+ PanelBody,
7
+ RangeControl,
8
+ SelectControl,
9
+ __experimentalToggleGroupControl as ToggleGroupControl,
10
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
11
+ } from '@wordpress/components'
3
12
  import {__} from '@wordpress/i18n'
4
13
  import {useGroupBlock} from '~/hooks/useGroupBlock'
5
- import {DEFAULT_ICON_VARIANTS, FAQ_HEADING_LEVELS} from './constants'
6
- import type {FaqGroupAttributes, FaqGroupOptions, FaqHeadingLevel, FaqIconVariant} from './types'
14
+ import {useTenantColorPalette} from '~/hooks/useTenantColorPalette'
15
+ import {
16
+ DEFAULT_ICON_SIZE_PRESETS,
17
+ DEFAULT_ICON_VARIANTS,
18
+ DEFAULT_SHADOWS,
19
+ FAQ_HEADING_LEVELS,
20
+ ICON_SIZE_MAX,
21
+ ICON_SIZE_MIN,
22
+ } from './constants'
23
+ import type {FaqGroupAttributes, FaqGroupOptions, FaqHeadingLevel, FaqIconVariant, FaqShadow, FaqSizePreset} from './types'
24
+
25
+ function PresetSizeControl({
26
+ label,
27
+ value,
28
+ presets,
29
+ min,
30
+ max,
31
+ onChange,
32
+ }: {
33
+ label: string
34
+ value: number
35
+ presets: readonly FaqSizePreset[]
36
+ min: number
37
+ max: number
38
+ onChange: (v: number) => void
39
+ }) {
40
+ return (
41
+ <BaseControl label={label} id={`faq-group-size-${label}`}>
42
+ <div style={{display: 'flex', gap: 4, marginBottom: 8, flexWrap: 'wrap'}}>
43
+ {presets.map((p) => (
44
+ <Button key={p.label} variant={value === p.value ? 'primary' : 'secondary'} size="small" onClick={() => onChange(p.value)}>
45
+ {p.label}
46
+ </Button>
47
+ ))}
48
+ </div>
49
+ <RangeControl value={value} onChange={(v) => onChange(v ?? min)} min={min} max={max} step={1} withInputField />
50
+ </BaseControl>
51
+ )
52
+ }
7
53
 
8
54
  export function createFaqGroupEdit(options: FaqGroupOptions) {
9
55
  const ICON_VARIANTS = options.iconVariants ?? DEFAULT_ICON_VARIANTS
56
+ const ICON_SIZE_PRESETS = options.iconSizePresets ?? DEFAULT_ICON_SIZE_PRESETS
57
+ const exclude = options.exclude ?? []
10
58
 
11
59
  return function Edit({
12
60
  attributes,
@@ -15,7 +63,8 @@ export function createFaqGroupEdit(options: FaqGroupOptions) {
15
63
  attributes: FaqGroupAttributes
16
64
  setAttributes: (a: Partial<FaqGroupAttributes>) => void
17
65
  }) {
18
- const {headingLevel, iconVariant} = attributes
66
+ const {headingLevel, iconVariant, style} = attributes
67
+ const {paletteColors} = useTenantColorPalette()
19
68
 
20
69
  const {blockProps, innerBlocksProps} = useGroupBlock({
21
70
  blockClassName: options.blockClassName ?? 'g-faq wp-block-section',
@@ -44,7 +93,72 @@ export function createFaqGroupEdit(options: FaqGroupOptions) {
44
93
  options={ICON_VARIANTS.map((v) => ({value: v.value, label: v.label}))}
45
94
  onChange={(value) => setAttributes({iconVariant: value as FaqIconVariant})}
46
95
  />
96
+ {!exclude.includes('colors') && style && (
97
+ <>
98
+ <PresetSizeControl
99
+ label={__('Velikost', 'brilo-blocks')}
100
+ value={style.icon.size}
101
+ presets={ICON_SIZE_PRESETS}
102
+ min={ICON_SIZE_MIN}
103
+ max={ICON_SIZE_MAX}
104
+ onChange={(v) => setAttributes({style: {...style, icon: {...style.icon, size: v}}})}
105
+ />
106
+ <BaseControl label={__('Barva', 'brilo-blocks')} id="faq-group-icon-color">
107
+ <ColorPalette
108
+ colors={paletteColors}
109
+ value={style.icon.color || undefined}
110
+ onChange={(value) => setAttributes({style: {...style, icon: {...style.icon, color: value ?? ''}}})}
111
+ />
112
+ </BaseControl>
113
+ <BaseControl label={__('Pozadí', 'brilo-blocks')} id="faq-group-icon-background-color">
114
+ <ColorPalette
115
+ colors={paletteColors}
116
+ value={style.icon.background || undefined}
117
+ onChange={(value) => setAttributes({style: {...style, icon: {...style.icon, background: value ?? ''}}})}
118
+ />
119
+ </BaseControl>
120
+ </>
121
+ )}
47
122
  </PanelBody>
123
+ {!exclude.includes('colors') && style && (
124
+ <PanelBody title={__('Styl', 'brilo-blocks')}>
125
+ <ToggleGroupControl
126
+ isBlock
127
+ label={__('Stín', 'brilo-blocks')}
128
+ value={style.shadow}
129
+ onChange={(v) => setAttributes({style: {...style, shadow: v as FaqShadow}})}
130
+ >
131
+ {DEFAULT_SHADOWS.map((s) => (
132
+ <ToggleGroupControlOption key={s.value} value={s.value} label={s.label} />
133
+ ))}
134
+ </ToggleGroupControl>
135
+ <BaseControl
136
+ label={__('Barva okraje', 'brilo-blocks')}
137
+ help={__('Bez vybrané barvy se okraj nevykreslí.', 'brilo-blocks')}
138
+ id="faq-group-border-color"
139
+ >
140
+ <ColorPalette
141
+ colors={paletteColors}
142
+ value={style.borderColor || undefined}
143
+ onChange={(value) => setAttributes({style: {...style, borderColor: value ?? ''}})}
144
+ />
145
+ </BaseControl>
146
+ <BaseControl label={__('Barva pozadí', 'brilo-blocks')} id="faq-group-background-color">
147
+ <ColorPalette
148
+ colors={paletteColors}
149
+ value={style.backgroundColor || undefined}
150
+ onChange={(value) => setAttributes({style: {...style, backgroundColor: value ?? ''}})}
151
+ />
152
+ </BaseControl>
153
+ <BaseControl label={__('Barva textu', 'brilo-blocks')} id="faq-group-text-color">
154
+ <ColorPalette
155
+ colors={paletteColors}
156
+ value={style.textColor || undefined}
157
+ onChange={(value) => setAttributes({style: {...style, textColor: value ?? ''}})}
158
+ />
159
+ </BaseControl>
160
+ </PanelBody>
161
+ )}
48
162
  </InspectorControls>
49
163
  <div {...blockProps}>
50
164
  <div {...innerBlocksProps} />
@@ -2,7 +2,7 @@ import {InnerBlocks} from '@wordpress/block-editor'
2
2
  import type {BlockConfiguration} from '@wordpress/blocks'
3
3
  import {__} from '@wordpress/i18n'
4
4
  import type {OptionArray} from '~/types'
5
- import {DEFAULT_ICON_VARIANTS, FAQ_HEADING_LEVELS} from './constants'
5
+ import {DEFAULT_ICON_SIZE, DEFAULT_ICON_VARIANTS, DEFAULT_SHADOWS, FAQ_HEADING_LEVELS} from './constants'
6
6
  import {createFaqGroupEdit} from './edit'
7
7
  import type {FaqGroupAttributes, FaqGroupOptions} from './types'
8
8
 
@@ -12,6 +12,37 @@ export function createFaqGroupBlock<TIconVariants extends OptionArray = typeof D
12
12
  options: FaqGroupOptions<TIconVariants>,
13
13
  ): BlockConfiguration<FaqGroupAttributes<TIconVariants[number]['value']>> {
14
14
  const iconVariants = options.iconVariants ?? DEFAULT_ICON_VARIANTS
15
+ const exclude = options.exclude ?? []
16
+
17
+ const attributes: Record<string, unknown> = {
18
+ headingLevel: {
19
+ type: 'string',
20
+ default: FAQ_HEADING_LEVELS[1],
21
+ enum: [...FAQ_HEADING_LEVELS],
22
+ },
23
+ iconVariant: {
24
+ type: 'string',
25
+ default: iconVariants[1]?.value ?? iconVariants[0].value,
26
+ enum: iconVariants.map((v) => v.value),
27
+ },
28
+ }
29
+
30
+ if (!exclude.includes('colors')) {
31
+ attributes.style = {
32
+ type: 'object',
33
+ default: {
34
+ shadow: DEFAULT_SHADOWS[0].value,
35
+ borderColor: '',
36
+ backgroundColor: '',
37
+ textColor: '',
38
+ icon: {
39
+ color: '',
40
+ background: '',
41
+ size: DEFAULT_ICON_SIZE,
42
+ },
43
+ },
44
+ }
45
+ }
15
46
 
16
47
  return {
17
48
  name: options.name,
@@ -21,18 +52,7 @@ export function createFaqGroupBlock<TIconVariants extends OptionArray = typeof D
21
52
  ...(options.parent && {parent: options.parent}),
22
53
  icon: options.icon ?? 'editor-help',
23
54
  supports: {html: false, customClassName: false},
24
- attributes: {
25
- headingLevel: {
26
- type: 'string',
27
- default: FAQ_HEADING_LEVELS[1],
28
- enum: [...FAQ_HEADING_LEVELS],
29
- },
30
- iconVariant: {
31
- type: 'string',
32
- default: iconVariants[1]?.value ?? iconVariants[0].value,
33
- enum: iconVariants.map((v) => v.value),
34
- },
35
- },
55
+ attributes,
36
56
  edit: createFaqGroupEdit(options as unknown as FaqGroupOptions),
37
57
  save: () => <InnerBlocks.Content />,
38
58
  } as unknown as BlockConfiguration<FaqGroupAttributes<TIconVariants[number]['value']>>
@@ -1,4 +1,12 @@
1
- export type {FaqGroupAttributes, FaqGroupOptions} from './types'
1
+ export type {
2
+ ExcludableFaqAttr,
3
+ FaqGroupAttributes,
4
+ FaqGroupOptions,
5
+ FaqHeadingLevel,
6
+ FaqIconVariant,
7
+ FaqShadow,
8
+ FaqSizePreset,
9
+ } from './types'
2
10
  export {createFaqGroupBlock} from './factory'
3
11
 
4
12
  import type {FaqGroupOptions} from './types'
@@ -1,14 +1,35 @@
1
1
  import type {BriloBlockType, OptionArray} from '~/types'
2
- import type {DEFAULT_ICON_VARIANTS, FAQ_HEADING_LEVELS} from './constants'
2
+ import type {DEFAULT_ICON_VARIANTS, DEFAULT_SHADOWS, FAQ_HEADING_LEVELS} from './constants'
3
3
 
4
4
  export type FaqHeadingLevel = (typeof FAQ_HEADING_LEVELS)[number]
5
5
  export type FaqIconVariant = (typeof DEFAULT_ICON_VARIANTS)[number]['value']
6
+ export type FaqShadow = (typeof DEFAULT_SHADOWS)[number]['value']
7
+
8
+ export type ExcludableFaqAttr = 'colors'
9
+
10
+ export interface FaqSizePreset {
11
+ value: number
12
+ label: string
13
+ }
6
14
 
7
15
  export interface FaqGroupAttributes<TIconVariant extends string = FaqIconVariant> extends Record<string, unknown> {
8
16
  headingLevel: FaqHeadingLevel
9
17
  iconVariant: TIconVariant
18
+ style: {
19
+ shadow: FaqShadow
20
+ borderColor: string
21
+ backgroundColor: string
22
+ textColor: string
23
+ icon: {
24
+ color: string
25
+ background: string
26
+ size: number
27
+ }
28
+ }
10
29
  }
11
30
 
12
31
  export interface FaqGroupOptions<TIconVariants extends OptionArray = typeof DEFAULT_ICON_VARIANTS> extends BriloBlockType {
13
32
  iconVariants?: TIconVariants
33
+ iconSizePresets?: readonly FaqSizePreset[]
34
+ exclude?: ExcludableFaqAttr[]
14
35
  }
@@ -14,7 +14,7 @@ import {
14
14
  } from './constants'
15
15
  import {normalizeOptions, serializeOptions, type OptionRow} from './normalizeOptions'
16
16
  import {SelectOptionsRepeater} from './SelectOptionsRepeater'
17
- import {
17
+ import type {
18
18
  FormFieldAttributes,
19
19
  FormFieldFileButtonVariant,
20
20
  FormFieldOptions,
@@ -1,9 +1,9 @@
1
1
  import {
2
- FIELD_SELECT_MODE_VALUES,
2
+ type FIELD_SELECT_MODE_VALUES,
3
3
  FIELD_TEXT_TYPES,
4
- FIELD_TEXT_TYPE_VALUES,
5
- FIELD_TYPE_VALUES,
6
- FILE_BUTTON_VARIANT_VALUES,
4
+ type FIELD_TEXT_TYPE_VALUES,
5
+ type FIELD_TYPE_VALUES,
6
+ type FILE_BUTTON_VARIANT_VALUES,
7
7
  } from './constants'
8
8
  import type {BriloBlockType} from '~/types'
9
9
 
@@ -1,5 +1,6 @@
1
1
  .g-form {
2
2
  width: 100%;
3
+ box-sizing: border-box;
3
4
  }
4
5
 
5
6
  .g-form__fields {
@@ -1,4 +1,4 @@
1
- import {GalleryItemOptions} from './types'
1
+ import type {GalleryItemOptions} from './types'
2
2
 
3
3
  export type {GalleryItemAttributes, GalleryItemOptions} from './types'
4
4
  export {createGalleryItemBlock} from './factory'
@@ -1,4 +1,4 @@
1
- import {BannerGroupOptions} from '~/blocks/groups/banner-group/types'
1
+ import type {BannerGroupOptions} from '~/blocks/groups/banner-group/types'
2
2
 
3
3
  export type {BannerGroupAttributes, BannerGroupOptions} from './factory'
4
4
  export {createBannerGroupBlock} from './factory'
@@ -1,6 +1,6 @@
1
1
  import type {BriloBlockType, Media, OptionArray, StringArray} from '~/types'
2
- import {DEFAULT_HEADING_STYLES, DEFAULT_VARIANTS} from './constants'
3
- import {HEADING_LEVELS} from '~/constants'
2
+ import type {DEFAULT_HEADING_STYLES, DEFAULT_VARIANTS} from './constants'
3
+ import type {HEADING_LEVELS} from '~/constants'
4
4
 
5
5
  export type Variants = (typeof DEFAULT_VARIANTS)[number]['value']
6
6
  export type HeadingLevels = (typeof HEADING_LEVELS)[number]
@@ -33,6 +33,22 @@ export function createBasicHeaderGroupEdit(options: BasicHeaderGroupOptions) {
33
33
  return (
34
34
  <>
35
35
  <InspectorControls>
36
+ <PanelBody title={__('Overline', 'brilo-blocks')}>
37
+ <BaseControl label={__('Barva pozadí', 'brilo-blocks')}>
38
+ <ColorPalette
39
+ colors={paletteColors}
40
+ value={overline.background || undefined}
41
+ onChange={(value) => setAttributes({overline: {...overline, background: value ?? ''}})}
42
+ />
43
+ </BaseControl>
44
+ <BaseControl label={__('Barva textu', 'brilo-blocks')}>
45
+ <ColorPalette
46
+ colors={paletteColors}
47
+ value={overline.color || undefined}
48
+ onChange={(value) => setAttributes({overline: {...overline, color: value ?? ''}})}
49
+ />
50
+ </BaseControl>
51
+ </PanelBody>
36
52
  <PanelBody title={__('Nadpis', 'brilo-blocks')}>
37
53
  <ToggleGroupControl
38
54
  label={__('Úroveň nadpisu', 'brilo-blocks')}
@@ -81,8 +97,16 @@ export function createBasicHeaderGroupEdit(options: BasicHeaderGroupOptions) {
81
97
  <RichText
82
98
  tagName="span"
83
99
  className="g-header__overline u-text-editable"
100
+ style={
101
+ overline.color || overline.background
102
+ ? {
103
+ ...(overline.color ? {color: overline.color} : {}),
104
+ ...(overline.background ? {backgroundColor: overline.background} : {}),
105
+ }
106
+ : undefined
107
+ }
84
108
  value={overline.title}
85
- onChange={(value) => setAttributes({overline: {title: value}})}
109
+ onChange={(value) => setAttributes({overline: {...overline, title: value}})}
86
110
  placeholder={__('Overline...', 'brilo-blocks')}
87
111
  allowedFormats={[]}
88
112
  />
@@ -32,7 +32,7 @@ export function createBasicHeaderGroupBlock<
32
32
  type: 'object',
33
33
  default: {title: '', level: levels[1] ?? levels[0], style: styles[1] ?? styles[0], color: ''},
34
34
  },
35
- overline: {type: 'object', default: {title: ''}},
35
+ overline: {type: 'object', default: {title: '', color: '', background: ''}},
36
36
  content: {type: 'string', default: ''},
37
37
  textAlign: {
38
38
  type: 'string',
@@ -11,7 +11,7 @@ export interface BasicHeaderGroupAttributes<
11
11
  TAlignment extends string = HeaderAlignment,
12
12
  > extends Record<string, unknown> {
13
13
  heading: {title: string; level: TLevel; style: TStyle; color?: string}
14
- overline: {title: string}
14
+ overline: {title: string; color?: string; background?: string}
15
15
  content: string
16
16
  textAlign: TAlignment
17
17
  }
@@ -41,3 +41,14 @@ export const DEFAULT_GRID_STYLES = [
41
41
  {value: '1-1', label: __('Půl na půl', 'brilo-blocks')},
42
42
  {value: '2-1', label: __('2/3 + 1/3', 'brilo-blocks')},
43
43
  ] as const
44
+
45
+ export const DEFAULT_IMAGE_CLIP_PATHS = [
46
+ {value: 'none', label: __('Žádný', 'brilo-blocks')},
47
+ {value: 'circle', label: __('Kruh', 'brilo-blocks')},
48
+ {value: 'triangle', label: __('Trojúhelník', 'brilo-blocks')},
49
+ {value: 'rhombus', label: __('Kosočtverec', 'brilo-blocks')},
50
+ {value: 'octagon', label: __('Osmiúhelník', 'brilo-blocks')},
51
+ {value: 'bevel', label: __('Zkosený', 'brilo-blocks')},
52
+ {value: 'rabbet', label: __('Drážkovaný', 'brilo-blocks')},
53
+ {value: 'parallelogram', label: __('Rovnoběžník', 'brilo-blocks')},
54
+ ] as const
@@ -3,6 +3,7 @@ import {
3
3
  BaseControl,
4
4
  ColorPalette,
5
5
  PanelBody,
6
+ SelectControl,
6
7
  TextControl,
7
8
  __experimentalToggleGroupControl as ToggleGroupControl,
8
9
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
@@ -20,6 +21,7 @@ import {
20
21
  DEFAULT_CONTENT_SIZES,
21
22
  DEFAULT_GRID_STYLES,
22
23
  DEFAULT_HEADING_STYLES,
24
+ DEFAULT_IMAGE_CLIP_PATHS,
23
25
  DEFAULT_MEDIA_POSITIONS,
24
26
  DEFAULT_RATIOS,
25
27
  HEADING_LEVELS,
@@ -31,6 +33,7 @@ import type {
31
33
  GridStyles,
32
34
  HeadingLevels,
33
35
  HeadingStyles,
36
+ ImageClipPaths,
34
37
  MediaPositions,
35
38
  Ratios,
36
39
  TextAndMediaGroupAttributes,
@@ -44,6 +47,7 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
44
47
  const HEADING_STYLES = options.headingStyles ?? DEFAULT_HEADING_STYLES
45
48
  const CONTENT_SIZES = options.contentSizes ?? DEFAULT_CONTENT_SIZES
46
49
  const CHIP_VARIANTS = options.chipVariants ?? DEFAULT_CHIP_VARIANTS
50
+ const IMAGE_CLIP_PATHS = options.imageClipPaths ?? DEFAULT_IMAGE_CLIP_PATHS
47
51
 
48
52
  return function Edit({
49
53
  attributes,
@@ -54,6 +58,7 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
54
58
  }) {
55
59
  const {header, mediaPosition, img, ratio, gridStyle, content} = attributes
56
60
  const isMediaLeft = mediaPosition === 'left'
61
+ const clipPath = img.clipPath ?? 'none'
57
62
  const {paletteColors} = useTenantColorPalette()
58
63
 
59
64
  const {blockProps, innerBlocksProps} = useGroupBlock({
@@ -69,7 +74,7 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
69
74
  })
70
75
 
71
76
  const mediaColumn = (
72
- <div className="g-text-and-media__media">
77
+ <div className={clsx('g-text-and-media__media', clipPath !== 'none' && `--clip-path --clip-path-${clipPath}`)}>
73
78
  <ImagePickerBody
74
79
  value={{id: img.id, alt: img.alt}}
75
80
  onChange={(val) => setAttributes({img: {...img, ...val}})}
@@ -86,8 +91,16 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
86
91
  <RichText
87
92
  tagName="span"
88
93
  className="g-text-and-media__overline u-text-editable"
94
+ style={
95
+ header.overline.color || header.overline.background
96
+ ? {
97
+ ...(header.overline.color ? {color: header.overline.color} : {}),
98
+ ...(header.overline.background ? {backgroundColor: header.overline.background} : {}),
99
+ }
100
+ : undefined
101
+ }
89
102
  value={header.overline.title}
90
- onChange={(value: string) => setAttributes({header: {...header, overline: {title: value}}})}
103
+ onChange={(value: string) => setAttributes({header: {...header, overline: {...header.overline, title: value}}})}
91
104
  placeholder={__('Overline...', 'brilo-blocks')}
92
105
  allowedFormats={[]}
93
106
  />
@@ -135,6 +148,12 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
135
148
  <ToggleGroupControlOption key={r.value} value={r.value} label={r.label} />
136
149
  ))}
137
150
  </ToggleGroupControl>
151
+ <SelectControl
152
+ label={__('Tvar výřezu', 'brilo-blocks')}
153
+ value={clipPath}
154
+ options={[...IMAGE_CLIP_PATHS]}
155
+ onChange={(value) => setAttributes({img: {...img, clipPath: value as ImageClipPaths}})}
156
+ />
138
157
  <TextControl
139
158
  label={__('URL videa', 'brilo-blocks')}
140
159
  value={img.video.src}
@@ -200,6 +219,22 @@ export function createTextAndMediaGroupEdit(options: TextAndMediaGroupOptions) {
200
219
  ))}
201
220
  </ToggleGroupControl>
202
221
  </PanelBody>
222
+ <PanelBody title={__('Overline', 'brilo-blocks')} initialOpen={false}>
223
+ <BaseControl label={__('Barva pozadí', 'brilo-blocks')}>
224
+ <ColorPalette
225
+ colors={paletteColors}
226
+ value={header.overline.background || undefined}
227
+ onChange={(value) => setAttributes({header: {...header, overline: {...header.overline, background: value ?? ''}}})}
228
+ />
229
+ </BaseControl>
230
+ <BaseControl label={__('Barva textu', 'brilo-blocks')}>
231
+ <ColorPalette
232
+ colors={paletteColors}
233
+ value={header.overline.color || undefined}
234
+ onChange={(value) => setAttributes({header: {...header, overline: {...header.overline, color: value ?? ''}}})}
235
+ />
236
+ </BaseControl>
237
+ </PanelBody>
203
238
  <PanelBody title={__('Nadpis', 'brilo-blocks')} initialOpen={false}>
204
239
  <ToggleGroupControl
205
240
  label={__('Úroveň nadpisu', 'brilo-blocks')}