@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,158 @@
1
+ import {InspectorControls, RichText, useBlockProps, useInnerBlocksProps} from '@wordpress/block-editor'
2
+ import {
3
+ PanelBody,
4
+ TextControl,
5
+ ToggleControl,
6
+ __experimentalToggleGroupControl as ToggleGroupControl,
7
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
8
+ } from '@wordpress/components'
9
+ import {__} from '@wordpress/i18n'
10
+ import clsx from 'clsx'
11
+ import {ImagePickerBody, ImagePickerControl, useMediaUrl} from '~/components/ImagePicker'
12
+ import {ALIGNMENTS, CHIP_VARIANTS} from './constants'
13
+ import type {PriceplanAlignment, PriceplanChipVariant, PriceplanItemAttributes, PriceplanItemOptions} from './types'
14
+
15
+ export function createPriceplanItemEdit(options: PriceplanItemOptions) {
16
+ const ALIGNMENTS_OPTIONS = options.alignments ?? ALIGNMENTS
17
+ const CHIP_VARIANTS_OPTIONS = options.chipVariants ?? CHIP_VARIANTS
18
+
19
+ return function Edit({
20
+ attributes,
21
+ setAttributes,
22
+ }: {
23
+ attributes: PriceplanItemAttributes
24
+ setAttributes: (a: Partial<PriceplanItemAttributes>) => void
25
+ }) {
26
+ const {title, description, alignment, img, price, highlighted, chip, footer} = attributes
27
+ const chipIconUrl = useMediaUrl(chip?.icon?.id)
28
+
29
+ const blockProps = useBlockProps({
30
+ className: clsx('i-priceplan', `--align-${alignment}`, highlighted && '--highlighted'),
31
+ })
32
+
33
+ const innerBlocksProps = useInnerBlocksProps(
34
+ {className: 'i-priceplan__inner'},
35
+ {
36
+ allowedBlocks: options.allowedBlocks,
37
+ template: options.template,
38
+ },
39
+ )
40
+
41
+ return (
42
+ <>
43
+ <InspectorControls>
44
+ <PanelBody title={__('Karta', 'brilo-blocks')}>
45
+ <ToggleControl
46
+ label={__('Zvýrazněná karta', 'brilo-blocks')}
47
+ checked={highlighted}
48
+ onChange={(value) => setAttributes({highlighted: value})}
49
+ />
50
+ <ToggleGroupControl
51
+ label={__('Zarovnání', 'brilo-blocks')}
52
+ value={alignment}
53
+ onChange={(value) => setAttributes({alignment: value as PriceplanAlignment})}
54
+ isBlock
55
+ >
56
+ {ALIGNMENTS_OPTIONS.map((a) => (
57
+ <ToggleGroupControlOption key={a.value} value={a.value} label={a.label} />
58
+ ))}
59
+ </ToggleGroupControl>
60
+ </PanelBody>
61
+ <PanelBody title={__('Obrázek', 'brilo-blocks')} initialOpen={false}>
62
+ <ImagePickerControl value={img} onChange={(val) => setAttributes({img: val})} />
63
+ </PanelBody>
64
+ <PanelBody title={__('Chip / badge', 'brilo-blocks')} initialOpen={false}>
65
+ <TextControl
66
+ label={__('Text chipu', 'brilo-blocks')}
67
+ value={chip?.title ?? ''}
68
+ onChange={(value) => setAttributes({chip: {...chip, title: value}})}
69
+ placeholder={__('např. Doporučujeme', 'brilo-blocks')}
70
+ />
71
+ <ToggleGroupControl
72
+ label={__('Varianta chipu', 'brilo-blocks')}
73
+ value={chip?.variant ?? 'primary'}
74
+ onChange={(value) => setAttributes({chip: {...chip, variant: value as PriceplanChipVariant}})}
75
+ isBlock
76
+ >
77
+ {CHIP_VARIANTS_OPTIONS.map((v) => (
78
+ <ToggleGroupControlOption key={v.value} value={v.value} label={v.label} />
79
+ ))}
80
+ </ToggleGroupControl>
81
+ <ImagePickerControl
82
+ value={chip?.icon ?? {id: 0, alt: ''}}
83
+ onChange={(val) => setAttributes({chip: {...chip, icon: val}})}
84
+ labels={{
85
+ select: __('Vybrat ikonu chipu', 'brilo-blocks'),
86
+ change: __('Změnit ikonu', 'brilo-blocks'),
87
+ remove: __('Odebrat ikonu', 'brilo-blocks'),
88
+ }}
89
+ />
90
+ </PanelBody>
91
+ </InspectorControls>
92
+
93
+ <div {...blockProps}>
94
+ <div className="i-priceplan__wrap">
95
+ {chip?.title && (
96
+ <div className={clsx('i-priceplan__chip', `--chip-${chip.variant}`)}>
97
+ {!!chip.icon?.id && chipIconUrl && <img src={chipIconUrl} alt={chip.icon?.alt ?? ''} className="i-priceplan__chip-icon" />}
98
+ <span>{chip.title}</span>
99
+ </div>
100
+ )}
101
+
102
+ <div className="i-priceplan__header">
103
+ <RichText
104
+ tagName="h3"
105
+ className="i-priceplan__title u-text-editable"
106
+ value={title}
107
+ onChange={(value) => setAttributes({title: value})}
108
+ placeholder={__('Název balíčku...', 'brilo-blocks')}
109
+ allowedFormats={['core/bold', 'core/italic', 'brilo-blocks/text-color']}
110
+ />
111
+ <RichText
112
+ tagName="p"
113
+ className="i-priceplan__description u-text-editable"
114
+ value={description}
115
+ onChange={(value) => setAttributes({description: value})}
116
+ placeholder={__('Popis balíčku...', 'brilo-blocks')}
117
+ />
118
+ </div>
119
+
120
+ <div className="i-priceplan__image">
121
+ <ImagePickerBody value={img} onChange={(val) => setAttributes({img: val})} />
122
+ </div>
123
+
124
+ <div className="i-priceplan__price">
125
+ <RichText
126
+ tagName="p"
127
+ className="i-priceplan__price-value u-text-editable"
128
+ value={price?.value ?? ''}
129
+ onChange={(value) => setAttributes({price: {...price, value}})}
130
+ placeholder={__('od 0 Kč', 'brilo-blocks')}
131
+ allowedFormats={[]}
132
+ />
133
+ <RichText
134
+ tagName="p"
135
+ className="i-priceplan__price-footer u-text-editable"
136
+ value={price?.footer ?? ''}
137
+ onChange={(value) => setAttributes({price: {...price, footer: value}})}
138
+ placeholder={__('s DPH · po odečtení dotace...', 'brilo-blocks')}
139
+ allowedFormats={['core/bold', 'core/italic', 'core/link', 'brilo-blocks/text-color']}
140
+ />
141
+ </div>
142
+
143
+ <div {...innerBlocksProps} />
144
+
145
+ <RichText
146
+ tagName="p"
147
+ className="i-priceplan__footer u-text-editable"
148
+ value={footer}
149
+ onChange={(value) => setAttributes({footer: value})}
150
+ placeholder={__('Poznámka (volitelné)...', 'brilo-blocks')}
151
+ allowedFormats={['core/bold', 'core/italic', 'core/link', 'brilo-blocks/text-color']}
152
+ />
153
+ </div>
154
+ </div>
155
+ </>
156
+ )
157
+ }
158
+ }
@@ -0,0 +1,131 @@
1
+ .i-priceplan {
2
+ width: 100%;
3
+ overflow: hidden;
4
+ border: 1px solid #ddd;
5
+ border-radius: 8px;
6
+ background: #fff;
7
+ position: relative;
8
+
9
+ &.--highlighted {
10
+ border-color: #333;
11
+ border-width: 2px;
12
+ }
13
+
14
+ &.--align-center {
15
+ text-align: center;
16
+
17
+ .i-priceplan__wrap > .i-priceplan__chip {
18
+ align-self: center;
19
+ }
20
+ }
21
+ }
22
+
23
+ .i-priceplan__wrap {
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: 12px;
27
+ padding: 16px;
28
+ }
29
+
30
+ .i-priceplan__chip {
31
+ display: inline-flex;
32
+ align-items: center;
33
+ gap: 4px;
34
+ padding: 4px 10px;
35
+ border-radius: 20px;
36
+ font-size: 12px;
37
+ font-weight: 600;
38
+ align-self: flex-start;
39
+
40
+ &.--chip-primary {
41
+ background: #f60;
42
+ color: #fff;
43
+ }
44
+
45
+ &.--chip-secondary {
46
+ background: #eee;
47
+ color: #333;
48
+ }
49
+ }
50
+
51
+ .i-priceplan__chip-icon {
52
+ width: 14px;
53
+ height: 14px;
54
+ object-fit: contain;
55
+ }
56
+
57
+ .i-priceplan__header {
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: 4px;
61
+ }
62
+
63
+ .i-priceplan__title {
64
+ font-size: 18px;
65
+ font-weight: 700;
66
+ margin: 0;
67
+ }
68
+
69
+ .i-priceplan__description {
70
+ font-size: 13px;
71
+ color: #666;
72
+ margin: 0;
73
+ }
74
+
75
+ .i-priceplan__image {
76
+ width: 100%;
77
+
78
+ .c-image-picker-body__preview img {
79
+ width: 100%;
80
+ aspect-ratio: 16/9;
81
+ object-fit: cover;
82
+ display: block;
83
+ border-radius: 4px;
84
+ }
85
+
86
+ .c-image-picker-body__placeholder {
87
+ aspect-ratio: 16/9;
88
+ min-height: unset;
89
+ border-radius: 4px;
90
+ }
91
+ }
92
+
93
+ .i-priceplan__price {
94
+ display: flex;
95
+ flex-direction: column;
96
+ gap: 2px;
97
+ }
98
+
99
+ .i-priceplan__price-value {
100
+ font-size: 22px;
101
+ font-weight: 700;
102
+ margin: 0;
103
+ }
104
+
105
+ .i-priceplan__price-footer {
106
+ font-size: 12px;
107
+ color: #888;
108
+ margin: 0;
109
+ }
110
+
111
+ .i-priceplan__inner {
112
+ display: flex;
113
+ flex-direction: column;
114
+ gap: 4px;
115
+
116
+ > * {
117
+ margin-block: 0 !important;
118
+ }
119
+ }
120
+
121
+ .i-priceplan__wrap .g-button-group__inner {
122
+ flex-direction: column;
123
+ }
124
+
125
+ .i-priceplan__footer {
126
+ font-size: 12px;
127
+ color: #888;
128
+ margin: 0;
129
+ padding-top: 8px;
130
+ border-top: 1px solid #eee;
131
+ }
@@ -0,0 +1,80 @@
1
+ import {InnerBlocks} from '@wordpress/block-editor'
2
+ import type {BlockConfiguration} from '@wordpress/blocks'
3
+ import {__} from '@wordpress/i18n'
4
+ import type {OptionArray} from '~/types'
5
+ import {ALIGNMENTS, CHIP_VARIANTS} from './constants'
6
+ import {createPriceplanItemEdit} from './edit'
7
+ import {icon as defaultIcon} from './icon'
8
+ import type {PriceplanItemAttributes, PriceplanItemOptions} from './types'
9
+
10
+ export type {PriceplanItemAttributes, PriceplanItemOptions}
11
+
12
+ export function createPriceplanItemBlock<
13
+ TAlignments extends OptionArray = typeof ALIGNMENTS,
14
+ TChipVariants extends OptionArray = typeof CHIP_VARIANTS,
15
+ >(
16
+ options: PriceplanItemOptions<TAlignments, TChipVariants>,
17
+ ): BlockConfiguration<PriceplanItemAttributes<TAlignments[number]['value'], TChipVariants[number]['value']>> {
18
+ const alignments = options.alignments ?? ALIGNMENTS
19
+ const chipVariants = options.chipVariants ?? CHIP_VARIANTS
20
+
21
+ return {
22
+ name: options.name,
23
+ title: options.title ?? __('Ceník položka', 'brilo-blocks'),
24
+ description: options.description ?? __('Ceníková karta s cenou, seznamem funkcí a tlačítkem', 'brilo-blocks'),
25
+ category: options.category ?? 'layout',
26
+ ...(options.parent && {parent: options.parent}),
27
+ icon: options.icon ?? {src: defaultIcon},
28
+ supports: {html: false, customClassName: false},
29
+ attributes: {
30
+ title: {
31
+ type: 'string',
32
+ default: '',
33
+ },
34
+ description: {
35
+ type: 'string',
36
+ default: '',
37
+ },
38
+ alignment: {
39
+ type: 'string',
40
+ default: alignments[0].value,
41
+ enum: alignments.map((a) => a.value),
42
+ },
43
+ price: {
44
+ type: 'object',
45
+ default: {
46
+ value: '',
47
+ footer: '',
48
+ },
49
+ },
50
+ highlighted: {
51
+ type: 'boolean',
52
+ default: false,
53
+ },
54
+ chip: {
55
+ type: 'object',
56
+ default: {
57
+ title: '',
58
+ variant: chipVariants[0].value,
59
+ icon: {
60
+ id: 0,
61
+ alt: '',
62
+ },
63
+ },
64
+ },
65
+ img: {
66
+ type: 'object',
67
+ default: {
68
+ id: 0,
69
+ alt: '',
70
+ },
71
+ },
72
+ footer: {
73
+ type: 'string',
74
+ default: '',
75
+ },
76
+ },
77
+ edit: createPriceplanItemEdit(options as unknown as PriceplanItemOptions),
78
+ save: () => <InnerBlocks.Content />,
79
+ } as unknown as BlockConfiguration<PriceplanItemAttributes<TAlignments[number]['value'], TChipVariants[number]['value']>>
80
+ }
@@ -0,0 +1,9 @@
1
+ export const icon = (
2
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <title>Priceplan Item</title>
4
+ <rect x="3" y="2" width="14" height="16" rx="1.5" stroke="currentColor" strokeWidth="1.5" fill="none" />
5
+ <path d="M6 6H14" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
6
+ <path d="M6 9H11" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
7
+ <path d="M6 13H14" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
8
+ </svg>
9
+ )
@@ -0,0 +1,16 @@
1
+ import type {PriceplanItemOptions} from './types'
2
+
3
+ export type {PriceplanItemAttributes, PriceplanItemOptions} from './types'
4
+ export {createPriceplanItemBlock} from './factory'
5
+
6
+ export const priceplanItemDefaults: PriceplanItemOptions = {
7
+ name: 'brilo/priceplan-item',
8
+ parent: ['brilo/priceplan-group'],
9
+ allowedBlocks: ['brilo/priceplan-list-item', 'brilo/button-group'],
10
+ template: [
11
+ ['brilo/priceplan-list-item', {}],
12
+ ['brilo/priceplan-list-item', {}],
13
+ ['brilo/priceplan-list-item', {}],
14
+ ['brilo/button-group', {}],
15
+ ],
16
+ }
@@ -0,0 +1,34 @@
1
+ import type {ImageValue} from '~/components/ImagePicker'
2
+ import type {BriloBlockType, OptionArray} from '~/types'
3
+ import type {ALIGNMENTS, CHIP_VARIANTS} from './constants'
4
+
5
+ export type PriceplanAlignment = (typeof ALIGNMENTS)[number]['value']
6
+ export type PriceplanChipVariant = (typeof CHIP_VARIANTS)[number]['value']
7
+
8
+ export interface PriceplanItemAttributes<TAlignment extends string = PriceplanAlignment, TChipVariant extends string = PriceplanChipVariant>
9
+ extends Record<string, unknown> {
10
+ title: string
11
+ description: string
12
+ alignment: TAlignment
13
+ img: ImageValue
14
+ price: {
15
+ value: string
16
+ footer: string
17
+ }
18
+ highlighted: boolean
19
+ chip: {
20
+ title: string
21
+ variant: TChipVariant
22
+ icon: ImageValue
23
+ }
24
+ footer: string
25
+ }
26
+
27
+ export interface PriceplanItemOptions<
28
+ TAlignments extends OptionArray = typeof ALIGNMENTS,
29
+ TChipVariants extends OptionArray = typeof CHIP_VARIANTS,
30
+ > extends BriloBlockType {
31
+ allowedBlocks?: string[]
32
+ alignments?: TAlignments
33
+ chipVariants?: TChipVariants
34
+ }
@@ -0,0 +1,6 @@
1
+ import {__} from '@wordpress/i18n'
2
+
3
+ export const LIST_VARIANTS = [
4
+ {value: 'included', label: __('Zahrnuto', 'brilo-blocks')},
5
+ {value: 'excluded', label: __('Nezahrnuto', 'brilo-blocks')},
6
+ ] as const
@@ -0,0 +1,59 @@
1
+ import {InspectorControls, RichText, useBlockProps} from '@wordpress/block-editor'
2
+ import {
3
+ PanelBody,
4
+ __experimentalToggleGroupControl as ToggleGroupControl,
5
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
6
+ } from '@wordpress/components'
7
+ import {__} from '@wordpress/i18n'
8
+ import clsx from 'clsx'
9
+ import {LIST_VARIANTS} from './constants'
10
+ import type {PriceplanListItemAttributes, PriceplanListItemOptions, PriceplanListVariant} from './types'
11
+
12
+ export function createPriceplanListItemEdit(options: PriceplanListItemOptions) {
13
+ const LIST_VARIANTS_OPTIONS = options.variants ?? LIST_VARIANTS
14
+
15
+ return function Edit({
16
+ attributes,
17
+ setAttributes,
18
+ }: {
19
+ attributes: PriceplanListItemAttributes
20
+ setAttributes: (a: Partial<PriceplanListItemAttributes>) => void
21
+ }) {
22
+ const {title, variant} = attributes
23
+
24
+ const blockProps = useBlockProps({
25
+ className: clsx('i-priceplan-list', `--${variant}`),
26
+ })
27
+
28
+ return (
29
+ <>
30
+ <InspectorControls>
31
+ <PanelBody title={__('Položka', 'brilo-blocks')}>
32
+ <ToggleGroupControl
33
+ label={__('Stav', 'brilo-blocks')}
34
+ value={variant}
35
+ onChange={(value) => setAttributes({variant: value as PriceplanListVariant})}
36
+ isBlock
37
+ >
38
+ {LIST_VARIANTS_OPTIONS.map((v) => (
39
+ <ToggleGroupControlOption key={v.value} value={v.value} label={v.label} />
40
+ ))}
41
+ </ToggleGroupControl>
42
+ </PanelBody>
43
+ </InspectorControls>
44
+
45
+ <div {...blockProps}>
46
+ <span className="i-priceplan-list__icon">{variant === 'included' ? '✓' : '✕'}</span>
47
+ <RichText
48
+ tagName="span"
49
+ className="i-priceplan-list__title u-text-editable"
50
+ value={title}
51
+ onChange={(value) => setAttributes({title: value})}
52
+ placeholder={__('Funkce...', 'brilo-blocks')}
53
+ allowedFormats={['core/bold', 'core/italic', 'core/link', 'brilo-blocks/text-color']}
54
+ />
55
+ </div>
56
+ </>
57
+ )
58
+ }
59
+ }
@@ -0,0 +1,21 @@
1
+ .i-priceplan-list {
2
+ width: 100%;
3
+ display: flex;
4
+ align-items: baseline;
5
+ gap: 8px;
6
+ padding: 2px 0;
7
+
8
+ &.--excluded {
9
+ opacity: 0.45;
10
+ }
11
+ }
12
+
13
+ .i-priceplan-list__icon {
14
+ flex-shrink: 0;
15
+ font-size: 13px;
16
+ font-weight: 700;
17
+ }
18
+
19
+ .i-priceplan-list__title {
20
+ font-size: 13px;
21
+ }
@@ -0,0 +1,38 @@
1
+ import type {BlockConfiguration} from '@wordpress/blocks'
2
+ import {__} from '@wordpress/i18n'
3
+ import type {OptionArray} from '~/types'
4
+ import {LIST_VARIANTS} from './constants'
5
+ import {createPriceplanListItemEdit} from './edit'
6
+ import {icon as defaultIcon} from './icon'
7
+ import type {PriceplanListItemAttributes, PriceplanListItemOptions} from './types'
8
+
9
+ export type {PriceplanListItemAttributes, PriceplanListItemOptions}
10
+
11
+ export function createPriceplanListItemBlock<TVariants extends OptionArray = typeof LIST_VARIANTS>(
12
+ options: PriceplanListItemOptions<TVariants>,
13
+ ): BlockConfiguration<PriceplanListItemAttributes<TVariants[number]['value']>> {
14
+ const variants = options.variants ?? LIST_VARIANTS
15
+
16
+ return {
17
+ name: options.name,
18
+ title: options.title ?? __('Ceník položka seznamu', 'brilo-blocks'),
19
+ description: options.description ?? __('Položka ceníkového seznamu funkcí (zahrnuto / nezahrnuto)', 'brilo-blocks'),
20
+ category: options.category ?? 'layout',
21
+ ...(options.parent && {parent: options.parent}),
22
+ icon: options.icon ?? {src: defaultIcon},
23
+ supports: {html: false, customClassName: false},
24
+ attributes: {
25
+ title: {
26
+ type: 'string',
27
+ default: '',
28
+ },
29
+ variant: {
30
+ type: 'string',
31
+ default: variants[0].value,
32
+ enum: variants.map((v) => v.value),
33
+ },
34
+ },
35
+ edit: createPriceplanListItemEdit(options as unknown as PriceplanListItemOptions),
36
+ save: () => null,
37
+ } as unknown as BlockConfiguration<PriceplanListItemAttributes<TVariants[number]['value']>>
38
+ }
@@ -0,0 +1,9 @@
1
+ export const icon = (
2
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <title>Priceplan List Item</title>
4
+ <path d="M4 6L6 8L10 4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
5
+ <path d="M13 6H17" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
6
+ <path d="M4 14L6 16L10 12" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
7
+ <path d="M13 14H17" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
8
+ </svg>
9
+ )
@@ -0,0 +1,9 @@
1
+ import type {PriceplanListItemOptions} from './types'
2
+
3
+ export type {PriceplanListItemAttributes, PriceplanListItemOptions} from './types'
4
+ export {createPriceplanListItemBlock} from './factory'
5
+
6
+ export const priceplanListItemDefaults: PriceplanListItemOptions = {
7
+ name: 'brilo/priceplan-list-item',
8
+ parent: ['brilo/priceplan-item'],
9
+ }
@@ -0,0 +1,13 @@
1
+ import type {BriloBlockType, OptionArray} from '~/types'
2
+ import type {LIST_VARIANTS} from './constants'
3
+
4
+ export type PriceplanListVariant = (typeof LIST_VARIANTS)[number]['value']
5
+
6
+ export interface PriceplanListItemAttributes<TVariant extends string = PriceplanListVariant> extends Record<string, unknown> {
7
+ title: string
8
+ variant: TVariant
9
+ }
10
+
11
+ export interface PriceplanListItemOptions<TVariants extends OptionArray = typeof LIST_VARIANTS> extends BriloBlockType {
12
+ variants?: TVariants
13
+ }
@@ -0,0 +1,25 @@
1
+ import {__} from '@wordpress/i18n'
2
+
3
+ export const VARIANTS = [
4
+ {
5
+ value: 'default',
6
+ label: __('Výchozí', 'brilo-blocks'),
7
+ },
8
+ {
9
+ value: 'slider',
10
+ label: __('Slider', 'brilo-blocks'),
11
+ },
12
+ ] as const
13
+
14
+ export const COLUMNS = [2, 3, 4] as const
15
+
16
+ export const DEFAULT_SHADOWS = [
17
+ {value: 'none', label: __('Žádný', 'brilo-blocks')},
18
+ {value: 'sm', label: __('Malý', 'brilo-blocks')},
19
+ {value: 'md', label: __('Střední', 'brilo-blocks')},
20
+ ] as const
21
+
22
+ export const IMAGE_MODES = [
23
+ {value: 'avatar', label: __('Zobrazit', 'brilo-blocks')},
24
+ {value: 'none', label: __('Skrýt', 'brilo-blocks')},
25
+ ] as const