@eightshift/frontend-libs-tailwind 1.5.0 → 2.0.1

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 (246) hide show
  1. package/.gitattributes +8 -30
  2. package/.github/workflows/ci.yml +2 -1
  3. package/CHANGELOG.md +29 -1
  4. package/bun.lock +1009 -0
  5. package/package.json +16 -26
  6. package/schemas/globalManifest.json +5 -0
  7. package/scripts/components/picker-placeholder.js +1 -1
  8. package/scripts/editor/colors.js +2 -2
  9. package/scripts/editor/options.js +1 -1
  10. package/scripts/editor/registration.js +4 -7
  11. package/scripts/editor/store.js +19 -0
  12. package/scripts/helpers/cookies.js +24 -16
  13. package/scripts/plugins/yoast-seo.js +71 -45
  14. package/webpack/base.mjs +0 -5
  15. package/webpack/helpers.mjs +1 -5
  16. package/webpack/index.mjs +0 -1
  17. package/webpack/project.mjs +0 -5
  18. package/blocks/init/assets/application-admin.js +0 -10
  19. package/blocks/init/assets/application.js +0 -13
  20. package/blocks/init/assets/fonts/fraunces-italic-latin-extended.woff2 +0 -0
  21. package/blocks/init/assets/fonts/fraunces-italic-latin.woff2 +0 -0
  22. package/blocks/init/assets/fonts/fraunces-latin-extended.woff2 +0 -0
  23. package/blocks/init/assets/fonts/fraunces-latin.woff2 +0 -0
  24. package/blocks/init/assets/fonts/noto-sans-italic-latin-extended.woff2 +0 -0
  25. package/blocks/init/assets/fonts/noto-sans-italic-latin.woff2 +0 -0
  26. package/blocks/init/assets/fonts/noto-sans-latin-extended.woff2 +0 -0
  27. package/blocks/init/assets/fonts/noto-sans-latin.woff2 +0 -0
  28. package/blocks/init/assets/images/index.js +0 -5
  29. package/blocks/init/assets/scripts/application-admin.js +0 -7
  30. package/blocks/init/assets/scripts/application.js +0 -3
  31. package/blocks/init/assets/scripts/theme-colors.js +0 -39
  32. package/blocks/init/assets/styles/application-admin.css +0 -6
  33. package/blocks/init/assets/styles/application.css +0 -3
  34. package/blocks/init/src/Blocks/assets/application-blocks-editor.js +0 -14
  35. package/blocks/init/src/Blocks/assets/application-blocks-frontend.js +0 -13
  36. package/blocks/init/src/Blocks/assets/application-blocks.js +0 -9
  37. package/blocks/init/src/Blocks/assets/scripts/application-blocks-editor.js +0 -65
  38. package/blocks/init/src/Blocks/assets/scripts/application-blocks-frontend.js +0 -24
  39. package/blocks/init/src/Blocks/assets/scripts/link-section-editor.js +0 -262
  40. package/blocks/init/src/Blocks/assets/scripts/shared.js +0 -25
  41. package/blocks/init/src/Blocks/assets/styles/application-blocks-editor.css +0 -15
  42. package/blocks/init/src/Blocks/assets/styles/application-blocks-frontend.css +0 -9
  43. package/blocks/init/src/Blocks/assets/styles/application-blocks.css +0 -1
  44. package/blocks/init/src/Blocks/assets/styles/editor/editor-overrides.css +0 -15
  45. package/blocks/init/src/Blocks/assets/styles/fonts.css +0 -90
  46. package/blocks/init/src/Blocks/assets/styles/tailwind.css +0 -30
  47. package/blocks/init/src/Blocks/components/admin-theme-options/admin-theme-options.php +0 -20
  48. package/blocks/init/src/Blocks/components/admin-theme-options/assets-admin/index.js +0 -36
  49. package/blocks/init/src/Blocks/components/admin-theme-options/assets-admin/pages/parts.js +0 -56
  50. package/blocks/init/src/Blocks/components/admin-theme-options/manifest.json +0 -5
  51. package/blocks/init/src/Blocks/components/button/assets/index.js +0 -22
  52. package/blocks/init/src/Blocks/components/button/button.php +0 -88
  53. package/blocks/init/src/Blocks/components/button/components/button-editor.js +0 -36
  54. package/blocks/init/src/Blocks/components/button/components/button-options.js +0 -134
  55. package/blocks/init/src/Blocks/components/button/manifest.json +0 -302
  56. package/blocks/init/src/Blocks/components/card/card.php +0 -42
  57. package/blocks/init/src/Blocks/components/card/components/card-editor.js +0 -43
  58. package/blocks/init/src/Blocks/components/card/components/card-options.js +0 -55
  59. package/blocks/init/src/Blocks/components/card/manifest.json +0 -111
  60. package/blocks/init/src/Blocks/components/head/head.php +0 -52
  61. package/blocks/init/src/Blocks/components/head/manifest.json +0 -17
  62. package/blocks/init/src/Blocks/components/heading/components/heading-editor.js +0 -26
  63. package/blocks/init/src/Blocks/components/heading/components/heading-options.js +0 -62
  64. package/blocks/init/src/Blocks/components/heading/heading.php +0 -45
  65. package/blocks/init/src/Blocks/components/heading/manifest.json +0 -76
  66. package/blocks/init/src/Blocks/components/hero/components/hero-editor.js +0 -42
  67. package/blocks/init/src/Blocks/components/hero/components/hero-options.js +0 -100
  68. package/blocks/init/src/Blocks/components/hero/hero.php +0 -45
  69. package/blocks/init/src/Blocks/components/hero/manifest.json +0 -96
  70. package/blocks/init/src/Blocks/components/icon/components/icon-editor.js +0 -23
  71. package/blocks/init/src/Blocks/components/icon/components/icon-options.js +0 -65
  72. package/blocks/init/src/Blocks/components/icon/icon.php +0 -53
  73. package/blocks/init/src/Blocks/components/icon/manifest.json +0 -1238
  74. package/blocks/init/src/Blocks/components/image/components/image-editor.js +0 -64
  75. package/blocks/init/src/Blocks/components/image/components/image-options.js +0 -111
  76. package/blocks/init/src/Blocks/components/image/image.php +0 -68
  77. package/blocks/init/src/Blocks/components/image/manifest.json +0 -125
  78. package/blocks/init/src/Blocks/components/list/components/list-editor.js +0 -30
  79. package/blocks/init/src/Blocks/components/list/components/list-options.js +0 -62
  80. package/blocks/init/src/Blocks/components/list/list.php +0 -32
  81. package/blocks/init/src/Blocks/components/list/manifest.json +0 -127
  82. package/blocks/init/src/Blocks/components/load-more/assets/index.js +0 -19
  83. package/blocks/init/src/Blocks/components/load-more/assets/load-more.js +0 -146
  84. package/blocks/init/src/Blocks/components/load-more/components/load-more-editor.js +0 -14
  85. package/blocks/init/src/Blocks/components/load-more/components/load-more-options.js +0 -19
  86. package/blocks/init/src/Blocks/components/load-more/load-more.php +0 -47
  87. package/blocks/init/src/Blocks/components/load-more/manifest.json +0 -39
  88. package/blocks/init/src/Blocks/components/modal/assets/index.js +0 -27
  89. package/blocks/init/src/Blocks/components/modal/manifest.json +0 -48
  90. package/blocks/init/src/Blocks/components/modal/modal.php +0 -46
  91. package/blocks/init/src/Blocks/components/paragraph/components/paragraph-editor.js +0 -38
  92. package/blocks/init/src/Blocks/components/paragraph/components/paragraph-options.js +0 -48
  93. package/blocks/init/src/Blocks/components/paragraph/manifest.json +0 -81
  94. package/blocks/init/src/Blocks/components/paragraph/paragraph.php +0 -33
  95. package/blocks/init/src/Blocks/components/post-header/manifest.json +0 -5
  96. package/blocks/init/src/Blocks/components/post-header/post-header.php +0 -24
  97. package/blocks/init/src/Blocks/components/quote/components/quote-editor.js +0 -53
  98. package/blocks/init/src/Blocks/components/quote/components/quote-options.js +0 -29
  99. package/blocks/init/src/Blocks/components/quote/manifest.json +0 -47
  100. package/blocks/init/src/Blocks/components/quote/quote.php +0 -49
  101. package/blocks/init/src/Blocks/components/share/assets/index.js +0 -39
  102. package/blocks/init/src/Blocks/components/share/components/share-editor.js +0 -28
  103. package/blocks/init/src/Blocks/components/share/components/share-options.js +0 -112
  104. package/blocks/init/src/Blocks/components/share/manifest.json +0 -72
  105. package/blocks/init/src/Blocks/components/share/share.php +0 -69
  106. package/blocks/init/src/Blocks/components/tracking-before-body-end/manifest.json +0 -5
  107. package/blocks/init/src/Blocks/components/tracking-before-body-end/tracking-before-body-end.php +0 -9
  108. package/blocks/init/src/Blocks/components/tracking-head/manifest.json +0 -5
  109. package/blocks/init/src/Blocks/components/tracking-head/tracking-head.php +0 -9
  110. package/blocks/init/src/Blocks/components/video/components/video-editor.js +0 -74
  111. package/blocks/init/src/Blocks/components/video/components/video-options.js +0 -279
  112. package/blocks/init/src/Blocks/components/video/manifest.json +0 -120
  113. package/blocks/init/src/Blocks/components/video/video.php +0 -70
  114. package/blocks/init/src/Blocks/custom/accordion/accordion-block.js +0 -15
  115. package/blocks/init/src/Blocks/custom/accordion/accordion.php +0 -28
  116. package/blocks/init/src/Blocks/custom/accordion/assets/index.js +0 -37
  117. package/blocks/init/src/Blocks/custom/accordion/components/accordion-editor.js +0 -22
  118. package/blocks/init/src/Blocks/custom/accordion/components/accordion-options.js +0 -18
  119. package/blocks/init/src/Blocks/custom/accordion/manifest.json +0 -32
  120. package/blocks/init/src/Blocks/custom/accordion-item/accordion-item-block.js +0 -19
  121. package/blocks/init/src/Blocks/custom/accordion-item/accordion-item.php +0 -46
  122. package/blocks/init/src/Blocks/custom/accordion-item/components/accordion-item-editor.js +0 -60
  123. package/blocks/init/src/Blocks/custom/accordion-item/manifest.json +0 -69
  124. package/blocks/init/src/Blocks/custom/button/button-block.js +0 -13
  125. package/blocks/init/src/Blocks/custom/button/button.php +0 -11
  126. package/blocks/init/src/Blocks/custom/button/components/button-editor.js +0 -12
  127. package/blocks/init/src/Blocks/custom/button/components/button-options.js +0 -12
  128. package/blocks/init/src/Blocks/custom/button/manifest.json +0 -18
  129. package/blocks/init/src/Blocks/custom/card/card-block.js +0 -13
  130. package/blocks/init/src/Blocks/custom/card/card.php +0 -11
  131. package/blocks/init/src/Blocks/custom/card/components/card-editor.js +0 -12
  132. package/blocks/init/src/Blocks/custom/card/components/card-options.js +0 -15
  133. package/blocks/init/src/Blocks/custom/card/manifest.json +0 -18
  134. package/blocks/init/src/Blocks/custom/carousel/assets/index.js +0 -46
  135. package/blocks/init/src/Blocks/custom/carousel/assets/navigation.js +0 -31
  136. package/blocks/init/src/Blocks/custom/carousel/assets/pagination.js +0 -40
  137. package/blocks/init/src/Blocks/custom/carousel/carousel-block.js +0 -21
  138. package/blocks/init/src/Blocks/custom/carousel/carousel.php +0 -61
  139. package/blocks/init/src/Blocks/custom/carousel/components/carousel-editor.js +0 -25
  140. package/blocks/init/src/Blocks/custom/carousel/components/carousel-options.js +0 -47
  141. package/blocks/init/src/Blocks/custom/carousel/manifest.json +0 -130
  142. package/blocks/init/src/Blocks/custom/column/column-block.js +0 -21
  143. package/blocks/init/src/Blocks/custom/column/column-hooks.js +0 -32
  144. package/blocks/init/src/Blocks/custom/column/column.php +0 -21
  145. package/blocks/init/src/Blocks/custom/column/components/column-editor.js +0 -22
  146. package/blocks/init/src/Blocks/custom/column/components/column-options.js +0 -580
  147. package/blocks/init/src/Blocks/custom/column/manifest.json +0 -625
  148. package/blocks/init/src/Blocks/custom/columns/columns-block.js +0 -20
  149. package/blocks/init/src/Blocks/custom/columns/columns.php +0 -21
  150. package/blocks/init/src/Blocks/custom/columns/components/columns-editor.js +0 -81
  151. package/blocks/init/src/Blocks/custom/columns/components/columns-options.js +0 -104
  152. package/blocks/init/src/Blocks/custom/columns/manifest.json +0 -581
  153. package/blocks/init/src/Blocks/custom/featured-content/components/featured-content-editor.js +0 -28
  154. package/blocks/init/src/Blocks/custom/featured-content/components/featured-content-options.js +0 -248
  155. package/blocks/init/src/Blocks/custom/featured-content/featured-content-block.js +0 -13
  156. package/blocks/init/src/Blocks/custom/featured-content/featured-content.php +0 -139
  157. package/blocks/init/src/Blocks/custom/featured-content/manifest.json +0 -131
  158. package/blocks/init/src/Blocks/custom/featured-content/partials/cards.php +0 -39
  159. package/blocks/init/src/Blocks/custom/group/components/group-editor.js +0 -6
  160. package/blocks/init/src/Blocks/custom/group/group-block.js +0 -14
  161. package/blocks/init/src/Blocks/custom/group/group.php +0 -10
  162. package/blocks/init/src/Blocks/custom/group/manifest.json +0 -32
  163. package/blocks/init/src/Blocks/custom/heading/components/heading-editor.js +0 -15
  164. package/blocks/init/src/Blocks/custom/heading/components/heading-options.js +0 -38
  165. package/blocks/init/src/Blocks/custom/heading/heading-block.js +0 -13
  166. package/blocks/init/src/Blocks/custom/heading/heading-transforms.js +0 -26
  167. package/blocks/init/src/Blocks/custom/heading/heading.php +0 -15
  168. package/blocks/init/src/Blocks/custom/heading/manifest.json +0 -79
  169. package/blocks/init/src/Blocks/custom/hero/components/hero-editor.js +0 -12
  170. package/blocks/init/src/Blocks/custom/hero/components/hero-options.js +0 -14
  171. package/blocks/init/src/Blocks/custom/hero/hero-block.js +0 -13
  172. package/blocks/init/src/Blocks/custom/hero/hero.php +0 -11
  173. package/blocks/init/src/Blocks/custom/hero/manifest.json +0 -17
  174. package/blocks/init/src/Blocks/custom/image/components/image-editor.js +0 -12
  175. package/blocks/init/src/Blocks/custom/image/components/image-options.js +0 -14
  176. package/blocks/init/src/Blocks/custom/image/image-block.js +0 -13
  177. package/blocks/init/src/Blocks/custom/image/image.php +0 -11
  178. package/blocks/init/src/Blocks/custom/image/manifest.json +0 -33
  179. package/blocks/init/src/Blocks/custom/list/components/list-editor.js +0 -14
  180. package/blocks/init/src/Blocks/custom/list/components/list-options.js +0 -39
  181. package/blocks/init/src/Blocks/custom/list/list-block.js +0 -13
  182. package/blocks/init/src/Blocks/custom/list/list.php +0 -15
  183. package/blocks/init/src/Blocks/custom/list/manifest.json +0 -58
  184. package/blocks/init/src/Blocks/custom/map/assets/index.js +0 -20
  185. package/blocks/init/src/Blocks/custom/map/assets/map-controller.js +0 -41
  186. package/blocks/init/src/Blocks/custom/map/assets/utils.js +0 -161
  187. package/blocks/init/src/Blocks/custom/map/components/map-components.js +0 -403
  188. package/blocks/init/src/Blocks/custom/map/components/map-editor.js +0 -56
  189. package/blocks/init/src/Blocks/custom/map/components/map-options.js +0 -550
  190. package/blocks/init/src/Blocks/custom/map/manifest.json +0 -79
  191. package/blocks/init/src/Blocks/custom/map/map-block.js +0 -13
  192. package/blocks/init/src/Blocks/custom/map/map.php +0 -52
  193. package/blocks/init/src/Blocks/custom/map/styles.css +0 -2
  194. package/blocks/init/src/Blocks/custom/modal/components/modal-editor.js +0 -90
  195. package/blocks/init/src/Blocks/custom/modal/manifest.json +0 -51
  196. package/blocks/init/src/Blocks/custom/modal/modal-block.js +0 -14
  197. package/blocks/init/src/Blocks/custom/modal/modal.php +0 -20
  198. package/blocks/init/src/Blocks/custom/paragraph/components/paragraph-editor.js +0 -17
  199. package/blocks/init/src/Blocks/custom/paragraph/components/paragraph-options.js +0 -38
  200. package/blocks/init/src/Blocks/custom/paragraph/manifest.json +0 -82
  201. package/blocks/init/src/Blocks/custom/paragraph/paragraph-block.js +0 -13
  202. package/blocks/init/src/Blocks/custom/paragraph/paragraph-transforms.js +0 -46
  203. package/blocks/init/src/Blocks/custom/paragraph/paragraph.php +0 -15
  204. package/blocks/init/src/Blocks/custom/quote/components/quote-editor.js +0 -12
  205. package/blocks/init/src/Blocks/custom/quote/components/quote-options.js +0 -14
  206. package/blocks/init/src/Blocks/custom/quote/manifest.json +0 -17
  207. package/blocks/init/src/Blocks/custom/quote/quote-block.js +0 -13
  208. package/blocks/init/src/Blocks/custom/quote/quote.php +0 -13
  209. package/blocks/init/src/Blocks/custom/share/components/share-editor.js +0 -6
  210. package/blocks/init/src/Blocks/custom/share/components/share-options.js +0 -12
  211. package/blocks/init/src/Blocks/custom/share/manifest.json +0 -19
  212. package/blocks/init/src/Blocks/custom/share/share-block.js +0 -13
  213. package/blocks/init/src/Blocks/custom/share/share.php +0 -11
  214. package/blocks/init/src/Blocks/custom/site-footer/components/site-footer-editor.js +0 -57
  215. package/blocks/init/src/Blocks/custom/site-footer/components/site-footer-options.js +0 -106
  216. package/blocks/init/src/Blocks/custom/site-footer/manifest.json +0 -73
  217. package/blocks/init/src/Blocks/custom/site-footer/site-footer-block.js +0 -13
  218. package/blocks/init/src/Blocks/custom/site-footer/site-footer.php +0 -74
  219. package/blocks/init/src/Blocks/custom/site-navigation/assets/index.js +0 -9
  220. package/blocks/init/src/Blocks/custom/site-navigation/components/site-navigation-editor.js +0 -42
  221. package/blocks/init/src/Blocks/custom/site-navigation/components/site-navigation-options.js +0 -73
  222. package/blocks/init/src/Blocks/custom/site-navigation/manifest.json +0 -77
  223. package/blocks/init/src/Blocks/custom/site-navigation/site-navigation-block.js +0 -13
  224. package/blocks/init/src/Blocks/custom/site-navigation/site-navigation.php +0 -99
  225. package/blocks/init/src/Blocks/custom/table-of-contents/assets/index.js +0 -58
  226. package/blocks/init/src/Blocks/custom/table-of-contents/components/table-of-contents-editor.js +0 -38
  227. package/blocks/init/src/Blocks/custom/table-of-contents/components/table-of-contents-options.js +0 -32
  228. package/blocks/init/src/Blocks/custom/table-of-contents/manifest.json +0 -48
  229. package/blocks/init/src/Blocks/custom/table-of-contents/table-of-contents-block.js +0 -13
  230. package/blocks/init/src/Blocks/custom/table-of-contents/table-of-contents.php +0 -31
  231. package/blocks/init/src/Blocks/custom/video/components/video-editor.js +0 -6
  232. package/blocks/init/src/Blocks/custom/video/components/video-options.js +0 -12
  233. package/blocks/init/src/Blocks/custom/video/manifest.json +0 -29
  234. package/blocks/init/src/Blocks/custom/video/video-block.js +0 -13
  235. package/blocks/init/src/Blocks/custom/video/video.php +0 -22
  236. package/blocks/init/src/Blocks/manifest.json +0 -32
  237. package/blocks/init/src/Blocks/variations/card-simple/manifest.json +0 -17
  238. package/blocks/init/src/Blocks/wrapper/components/wrapper-editor.js +0 -12
  239. package/blocks/init/src/Blocks/wrapper/components/wrapper-options.js +0 -364
  240. package/blocks/init/src/Blocks/wrapper/manifest.json +0 -459
  241. package/blocks/init/src/Blocks/wrapper/styles-editor.css +0 -13
  242. package/blocks/init/src/Blocks/wrapper/styles.css +0 -19
  243. package/blocks/init/src/Blocks/wrapper/wrapper.js +0 -27
  244. package/blocks/init/src/Blocks/wrapper/wrapper.php +0 -34
  245. package/bun.lockb +0 -0
  246. package/readme/packages.md +0 -74
@@ -1,55 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
- import { props, getOptions, checkAttr, getOption, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts';
3
- import { ImageOptions } from '../../image/components/image-options';
4
- import { HeadingOptions } from '../../heading/components/heading-options';
5
- import { ParagraphOptions } from '../../paragraph/components/paragraph-options';
6
- import { ButtonOptions } from '../../button/components/button-options';
7
- import { OptionSelect } from '@eightshift/ui-components';
8
- import manifest from './../manifest.json';
9
-
10
- export const CardOptions = (attributes) => {
11
- const { setAttributes } = attributes;
12
-
13
- const cardAlign = checkAttr('cardAlign', attributes, manifest);
14
-
15
- return (
16
- <>
17
- <OptionSelect
18
- value={cardAlign}
19
- options={getOption('cardAlign', attributes, manifest)}
20
- onChange={(value) => setAttributes({ [getAttrKey('cardAlign', attributes, manifest)]: value })}
21
- aria-label={__('Card align', '%g_textdomain%')}
22
- noItemLabel
23
- />
24
-
25
- <div>
26
- <ImageOptions
27
- {...props('image', attributes)}
28
- hideOptions='borderRadius'
29
- />
30
-
31
- <ParagraphOptions
32
- {...props('intro', attributes, { options: getOptions(attributes, manifest) })}
33
- label={__('Intro', '%g_textdomain%')}
34
- expandButtonDisabled
35
- />
36
-
37
- <HeadingOptions
38
- {...props('heading', attributes, { options: getOptions(attributes, manifest) })}
39
- hideOptions='size'
40
- />
41
-
42
- <ParagraphOptions
43
- {...props('paragraph', attributes, { options: getOptions(attributes, manifest) })}
44
- expandButtonDisabled
45
- />
46
-
47
- <ButtonOptions
48
- {...props('button', attributes, { options: getOptions(attributes, manifest) })}
49
- label={__('Call to action', '%g_textdomain%')}
50
- hideOptions='variant,color'
51
- />
52
- </div>
53
- </>
54
- );
55
- };
@@ -1,111 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs-tailwind/main/schemas/component.json",
3
- "componentName": "card",
4
- "title": "Card",
5
- "componentClass": "card-simple",
6
- "example": {
7
- "attributes": {
8
- "cardIntroContent": "This is intro",
9
- "cardAlign": "start"
10
- }
11
- },
12
- "attributes": {
13
- "cardAlign": {
14
- "type": "string",
15
- "default": "start"
16
- },
17
-
18
- "cardIntroSize": {
19
- "type": "string",
20
- "default": "sm"
21
- },
22
- "cardButtonVariant": {
23
- "type": "string",
24
- "default": "secondary"
25
- },
26
- "cardHeadingSize": {
27
- "type": "string",
28
- "default": "md"
29
- },
30
- "cardHeadingTag": {
31
- "type": "string",
32
- "default": "p"
33
- },
34
- "cardParagraphSize": {
35
- "type": "string",
36
- "default": "sm"
37
- },
38
- "cardButtonContent": {
39
- "type": "string",
40
- "default": "Read more"
41
- },
42
- "cardButtonColor": {
43
- "type": "string",
44
- "default": "gray-500"
45
- },
46
- "cardButtonSize": {
47
- "type": "string",
48
- "default": "sm"
49
- }
50
- },
51
- "options": {
52
- "cardAlign": [
53
- {
54
- "label": "Start",
55
- "value": "start",
56
- "icon": "textAlignLeft"
57
- },
58
- {
59
- "label": "Center",
60
- "value": "center",
61
- "icon": "textAlignCenter"
62
- },
63
- {
64
- "label": "End",
65
- "value": "end",
66
- "icon": "textAlignRight"
67
- }
68
- ]
69
- },
70
- "components": {
71
- "image": "image",
72
- "intro": "paragraph",
73
- "heading": "heading",
74
- "paragraph": "paragraph",
75
- "button": "button"
76
- },
77
- "tailwind": {
78
- "base": {
79
- "twClasses": "w-full sm:max-w-80 rounded-2xl border bg-white shadow-md overflow-hidden"
80
- },
81
- "parts": {
82
- "image": {
83
- "twClasses": "w-full aspect-3/2"
84
- },
85
- "imagePicture": {
86
- "twClasses": "w-full !block border-b border-b-gray-200 bg-gray-100"
87
- },
88
- "content-container": {
89
- "twClasses": "p-4"
90
- },
91
- "intro": {
92
- "twClasses": "text-gray-400 italic"
93
- },
94
- "text": {
95
- "twClasses": "mt-2 text-gray-600"
96
- },
97
- "button": {
98
- "twClasses": "mt-3"
99
- }
100
- },
101
- "options": {
102
- "cardAlign": {
103
- "twClasses": {
104
- "start": "text-start",
105
- "center": "text-center",
106
- "end": "text-end"
107
- }
108
- }
109
- }
110
- }
111
- }
@@ -1,52 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Template for the document head section.
5
- *
6
- * @package %g_namespace%
7
- */
8
-
9
- use %g_namespace_vendor_prefix%\EightshiftLibs\Helpers\Helpers;
10
-
11
- $manifest = Helpers::getManifestByDir(__DIR__);
12
-
13
- $headFavicon = Helpers::checkAttr('headFavicon', $attributes, $manifest);
14
- $headCharset = Helpers::checkAttr('headCharset', $attributes, $manifest);
15
- $headName = Helpers::checkAttr('headName', $attributes, $manifest);
16
-
17
- ?>
18
-
19
- <?php if (isset($headCharset)) { ?>
20
- <meta charset="<?php echo esc_attr($headCharset); ?>" />
21
- <?php } ?>
22
-
23
- <!-- Responsive -->
24
- <meta content="width=device-width, initial-scale=1.0" name="viewport">
25
-
26
- <!-- Remove IE's ability to use compatibility mode -->
27
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
28
-
29
- <!-- Disable phone formatting on Safari -->
30
- <meta name="format-detection" content="telephone=no">
31
-
32
- <!-- Speed up fetching of external assets -->
33
- <link rel="dns-prefetch" href="//fonts.googleapis.com">
34
- <link rel="dns-prefetch" href="//ajax.googleapis.com">
35
- <link rel="dns-prefetch" href="//www.google-analytics.com">
36
-
37
- <!-- Windows (Phone) Meta -->
38
- <?php if ($headName ?? '') { ?>
39
- <meta name="application-name" content="<?php echo esc_attr($headName); ?>" />
40
- <?php } ?>
41
-
42
- <!-- Apple -->
43
- <?php if ($headName ?? '') { ?>
44
- <meta name="apple-mobile-web-app-title" content="<?php echo esc_attr($headName); ?>">
45
- <?php } ?>
46
-
47
- <meta name="apple-mobile-web-app-capable" content="yes">
48
-
49
- <?php if ($headFavicon ?? '') { ?>
50
- <link rel="apple-touch-startup-image" href="<?php echo esc_url($headFavicon); ?>">
51
- <link rel="shortcut icon" href="<?php echo esc_url($headFavicon); ?>" />
52
- <?php } ?>
@@ -1,17 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs-tailwind/main/schemas/component.json",
3
- "componentName": "head",
4
- "title": "Head",
5
- "attributes": {
6
- "headFavicon": {
7
- "type": "string"
8
- },
9
- "headCharset": {
10
- "type": "string",
11
- "default": "utf-8"
12
- },
13
- "headName": {
14
- "type": "string"
15
- }
16
- }
17
- }
@@ -1,26 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
- import { RichText } from '@wordpress/block-editor';
3
- import { checkAttr, getAttrKey, tailwindClasses } from '@eightshift/frontend-libs-tailwind/scripts';
4
- import manifest from './../manifest.json';
5
-
6
- export const HeadingEditor = (attributes) => {
7
- const { setAttributes, additionalClass, placeholder = __('Heading', '%g_textdomain%') } = attributes;
8
-
9
- const headingUse = checkAttr('headingUse', attributes, manifest);
10
-
11
- if (!headingUse) {
12
- return null;
13
- }
14
-
15
- const headingContent = checkAttr('headingContent', attributes, manifest);
16
-
17
- return (
18
- <RichText
19
- className={tailwindClasses(attributes, manifest, additionalClass)}
20
- placeholder={placeholder}
21
- value={headingContent}
22
- onChange={(value) => setAttributes({ [getAttrKey('headingContent', attributes, manifest)]: value })}
23
- allowedFormats={[]}
24
- />
25
- );
26
- };
@@ -1,62 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
- import { getOption, checkAttr, getAttrKey, getHiddenOptions } from '@eightshift/frontend-libs-tailwind/scripts';
3
- import { ComponentToggle, HStack, OptionSelect } from '@eightshift/ui-components';
4
- import { icons } from '@eightshift/ui-components/icons';
5
- import manifest from './../manifest.json';
6
-
7
- export const HeadingOptions = (attributes) => {
8
- const { setAttributes, hideOptions, additionalControls, ...rest } = attributes;
9
-
10
- const hiddenOptions = getHiddenOptions(hideOptions);
11
-
12
- const headingUse = checkAttr('headingUse', attributes, manifest);
13
- const headingSize = checkAttr('headingSize', attributes, manifest);
14
- const headingTag = checkAttr('headingTag', attributes, manifest);
15
-
16
- const headingTags = [
17
- { label: __('Heading 1', '%g_textdomain%'), value: 'h1' },
18
- { label: __('Heading 2', '%g_textdomain%'), value: 'h2' },
19
- { label: __('Heading 3', '%g_textdomain%'), value: 'h3' },
20
- { label: __('Heading 4', '%g_textdomain%'), value: 'h4' },
21
- { label: __('Heading 5', '%g_textdomain%'), value: 'h5' },
22
- { label: __('Heading 6', '%g_textdomain%'), value: 'h6' },
23
- { label: __('Paragraph', '%g_textdomain%'), value: 'p' },
24
- ];
25
-
26
- return (
27
- <ComponentToggle
28
- label={manifest.title}
29
- icon={icons.heading}
30
- onChange={(value) => setAttributes({ [getAttrKey('headingUse', attributes, manifest)]: value })}
31
- useComponent={headingUse}
32
- {...rest}
33
- >
34
- <HStack>
35
- <OptionSelect
36
- aria-label={__('Font size', '%g_textdomain%')}
37
- options={getOption('headingSize', attributes, manifest)}
38
- onChange={(value) => setAttributes({ [getAttrKey('headingSize', attributes, manifest)]: value })}
39
- value={headingSize}
40
- hidden={hiddenOptions?.size}
41
- type='menu'
42
- />
43
-
44
- <OptionSelect
45
- aria-label={__('Heading level', '%g_textdomain%')}
46
- options={headingTags}
47
- value={headingTag}
48
- onChange={(value) => setAttributes({ [getAttrKey('headingTag', attributes, manifest)]: value })}
49
- type='menu'
50
- wrapperProps={{
51
- triggerIcon: <span className='es-uic-font-mono uppercase'>{headingTag}</span>,
52
- }}
53
- hidden={hiddenOptions?.headingLevel}
54
- noTriggerLabel
55
- tooltip
56
- />
57
-
58
- {additionalControls}
59
- </HStack>
60
- </ComponentToggle>
61
- );
62
- };
@@ -1,45 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Heading component template.
5
- *
6
- * @package %g_namespace%
7
- */
8
-
9
- use %g_namespace_vendor_prefix%\EightshiftLibs\Helpers\Helpers;
10
-
11
- $manifest = Helpers::getManifestByDir(__DIR__);
12
-
13
- $headingUse = Helpers::checkAttr('headingUse', $attributes, $manifest);
14
-
15
- if (!$headingUse) {
16
- return;
17
- }
18
-
19
- $additionalClass = $attributes['additionalClass'] ?? '';
20
-
21
- $headingContent = Helpers::checkAttr('headingContent', $attributes, $manifest);
22
- $headingTag = Helpers::checkAttr('headingTag', $attributes, $manifest);
23
-
24
- if (!$headingContent) {
25
- return;
26
- }
27
-
28
- $sanitizedTitle = '';
29
-
30
- if (function_exists('idn_to_ascii') && function_exists('sanitize_title')) {
31
- $sanitizedTitle = sanitize_title(idn_to_ascii($headingContent));
32
- } else {
33
- $sanitizedTitle = sanitize_title($headingContent);
34
- }
35
- ?>
36
-
37
- <<?php echo esc_attr($headingTag); ?>
38
- data-slug="<?php echo esc_attr($sanitizedTitle) ?>"
39
- class="<?php echo esc_attr(Helpers::tailwindClasses('base', $attributes, $manifest, $additionalClass)); ?>"
40
- >
41
- <?php
42
- // phpcs:ignore Eightshift.Security.HelpersEscape.OutputNotEscaped
43
- echo $headingContent;
44
- ?>
45
- </<?php echo esc_attr($headingTag); ?>>
@@ -1,76 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs-tailwind/main/schemas/component.json",
3
- "componentName": "heading",
4
- "title": "Heading",
5
- "componentClass": "heading",
6
- "example": {
7
- "attributes": {
8
- "headingContent": "This is heading",
9
- "headingTag": "h2",
10
- "headingSize": "base",
11
- "headingUse": true
12
- }
13
- },
14
- "attributes": {
15
- "headingContent": {
16
- "type": "string"
17
- },
18
- "headingTag": {
19
- "type": "string",
20
- "default": "h2"
21
- },
22
- "headingSize": {
23
- "type": "string",
24
- "default": "base"
25
- },
26
- "headingUse": {
27
- "type": "boolean",
28
- "default": true
29
- }
30
- },
31
- "options": {
32
- "headingSize": [
33
- {
34
- "label": "24",
35
- "value": "sm"
36
- },
37
- {
38
- "label": "30",
39
- "value": "base"
40
- },
41
- {
42
- "label": "36",
43
- "value": "md"
44
- },
45
- {
46
- "label": "48",
47
- "value": "lg"
48
- },
49
- {
50
- "label": "60",
51
- "value": "xl"
52
- },
53
- {
54
- "label": "96",
55
- "value": "2xl"
56
- }
57
- ]
58
- },
59
- "tailwind": {
60
- "base": {
61
- "twClasses": "font-display text-balance font-synthesis-none font-soft-50 scroll-m-20"
62
- },
63
- "options": {
64
- "headingSize": {
65
- "twClasses": {
66
- "sm": "~text-lg/2xl !leading-tight",
67
- "base": "~text-xl/3xl !leading-none",
68
- "md": "~text-2xl/4xl !leading-none",
69
- "lg": "~text-3xl/5xl !leading-none",
70
- "xl": "~text-4xl/6xl !leading-none",
71
- "2xl": "~text-5xl/8xl !leading-none !font-soft-25 italic"
72
- }
73
- }
74
- }
75
- }
76
- }
@@ -1,42 +0,0 @@
1
- import { props, checkAttr, tailwindClasses } from '@eightshift/frontend-libs-tailwind/scripts';
2
- import { ImageEditor } from '../../image/components/image-editor';
3
- import { HeadingEditor } from '../../heading/components/heading-editor';
4
- import { ParagraphEditor } from '../../paragraph/components/paragraph-editor';
5
- import { ButtonEditor } from '../../button/components/button-editor';
6
- import manifest from '../manifest.json';
7
-
8
- export const HeroEditor = (attributes) => {
9
- const { additionalClass } = attributes;
10
-
11
- const heroUse = checkAttr('heroUse', attributes, manifest);
12
-
13
- if (!heroUse) {
14
- return null;
15
- }
16
-
17
- return (
18
- <div className={tailwindClasses(attributes, manifest, additionalClass)}>
19
- <ImageEditor
20
- {...props('image', attributes, {
21
- additionalClass: {
22
- image: '!size-full grayscale',
23
- picture: tailwindClasses('imagePicture', attributes, manifest),
24
- },
25
- })}
26
- />
27
-
28
- <HeadingEditor {...props('heading', attributes)} />
29
-
30
- <ParagraphEditor
31
- {...props('paragraph', attributes, {
32
- additionalClass: 'mt-4 max-w-96 text-pretty',
33
- })}
34
- />
35
-
36
- <div className='mt-6 flex gap-2'>
37
- <ButtonEditor {...props('buttonMain', attributes)} />
38
- <ButtonEditor {...props('buttonSecondary', attributes)} />
39
- </div>
40
- </div>
41
- );
42
- };
@@ -1,100 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
- import { checkAttr, getAttrKey, getOption, props } from '@eightshift/frontend-libs-tailwind/scripts';
3
- import { ImageOptions } from '../../image/components/image-options';
4
- import { HeadingOptions } from '../../heading/components/heading-options';
5
- import { ParagraphOptions } from '../../paragraph/components/paragraph-options';
6
- import { ButtonOptions } from '../../button/components/button-options';
7
- import { ComponentToggle, OptionSelect } from '@eightshift/ui-components';
8
- import { icons } from '@eightshift/ui-components/icons';
9
- import manifest from '../manifest.json';
10
-
11
- export const HeroOptions = (attributes) => {
12
- const { setAttributes, ...rest } = attributes;
13
-
14
- const heroUse = checkAttr('heroUse', attributes, manifest);
15
- const heroColor = checkAttr('heroColor', attributes, manifest);
16
-
17
- return (
18
- <ComponentToggle
19
- label={manifest.title}
20
- icon={icons.image}
21
- onChange={(value) => setAttributes({ [getAttrKey('heroUse', attributes, manifest)]: value })}
22
- useComponent={heroUse}
23
- {...rest}
24
- >
25
- <OptionSelect
26
- icon={icons.paletteColor}
27
- label={__('Theme', 'eightshift-frontend-libs')}
28
- value={heroColor}
29
- onChange={(value) => {
30
- let mainButtonColor = 'navy-500';
31
- let secondaryButtonColor = 'navy-800';
32
-
33
- switch (value) {
34
- case 'navy-dark':
35
- mainButtonColor = 'navy-500';
36
- secondaryButtonColor = 'navy-100';
37
- break;
38
- case 'red':
39
- mainButtonColor = 'red-500';
40
- secondaryButtonColor = 'red-800';
41
- break;
42
- case 'red-dark':
43
- mainButtonColor = 'red-500';
44
- secondaryButtonColor = 'red-100';
45
- break;
46
- case 'gray':
47
- mainButtonColor = 'gray-500';
48
- secondaryButtonColor = 'gray-800';
49
- break;
50
- case 'gray-dark':
51
- mainButtonColor = 'gray-500';
52
- secondaryButtonColor = 'gray-100';
53
- break;
54
- default:
55
- break;
56
- }
57
-
58
- return setAttributes({
59
- [getAttrKey('heroColor', attributes, manifest)]: value,
60
- [getAttrKey('heroButtonMainColor', attributes, manifest)]: mainButtonColor,
61
- [getAttrKey('heroButtonSecondaryColor', attributes, manifest)]: secondaryButtonColor,
62
- });
63
- }}
64
- options={getOption('heroColor', attributes, manifest)}
65
- type='menu'
66
- inline
67
- />
68
-
69
- <div>
70
- <ImageOptions
71
- {...props('image', attributes)}
72
- hideOptions='borderRadius'
73
- />
74
-
75
- <HeadingOptions
76
- {...props('heading', attributes)}
77
- hideOptions='size'
78
- />
79
-
80
- <ParagraphOptions
81
- {...props('paragraph', attributes)}
82
- hideOptions='size'
83
- />
84
-
85
- <ButtonOptions
86
- {...props('buttonMain', attributes)}
87
- label={__('Primary button', 'eightshift-frontend-libs')}
88
- hideOptions='variant,color'
89
- icon={icons.buttonFilled}
90
- />
91
-
92
- <ButtonOptions
93
- {...props('buttonSecondary', attributes)}
94
- label={__('Secondary button', 'eightshift-frontend-libs')}
95
- hideOptions='variant,color'
96
- />
97
- </div>
98
- </ComponentToggle>
99
- );
100
- };
@@ -1,45 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Hero component template.
5
- *
6
- * @package %g_namespace%
7
- */
8
-
9
- use %g_namespace_vendor_prefix%\EightshiftLibs\Helpers\Helpers;
10
-
11
- $manifest = Helpers::getManifestByDir(__DIR__);
12
-
13
- $heroUse = Helpers::checkAttr('heroUse', $attributes, $manifest);
14
-
15
- if (!$heroUse) {
16
- return;
17
- }
18
-
19
- $additionalClass = $attributes['additionalClass'] ?? '';
20
- ?>
21
-
22
- <section class="<?php echo esc_attr(Helpers::tailwindClasses('base', $attributes, $manifest, $additionalClass)); ?>">
23
- <?php
24
- echo Helpers::render('image', Helpers::props('image', $attributes, [
25
- 'additionalClass' => [
26
- 'image' => 'size-full grayscale',
27
- 'picture' => Helpers::tailwindClasses('imagePicture', $attributes, $manifest),
28
- ],
29
- ]));
30
- ?>
31
-
32
- <?php
33
- echo Helpers::render('heading', Helpers::props('heading', $attributes)),
34
- Helpers::render('paragraph', Helpers::props('paragraph', $attributes, [
35
- 'additionalClass' => 'mt-4 max-w-96 text-pretty',
36
- ]));
37
- ?>
38
-
39
- <div class="flex gap-2 mt-6">
40
- <?php
41
- echo Helpers::render('button', Helpers::props('buttonMain', $attributes)),
42
- Helpers::render('button', Helpers::props('buttonSecondary', $attributes));
43
- ?>
44
- </div>
45
- </section>