@wordpress/block-library 9.38.1-next.v.0 → 9.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/index.cjs +3 -0
  3. package/build/button/index.cjs.map +2 -2
  4. package/build/comments-title/block.json +1 -3
  5. package/build/comments-title/deprecated.cjs +148 -24
  6. package/build/comments-title/deprecated.cjs.map +3 -3
  7. package/build/comments-title/edit.cjs +17 -31
  8. package/build/comments-title/edit.cjs.map +3 -3
  9. package/build/cover/edit/block-controls.cjs +10 -2
  10. package/build/cover/edit/block-controls.cjs.map +2 -2
  11. package/build/cover/edit/embed-video-url-input.cjs +6 -2
  12. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  13. package/build/details/index.cjs +3 -0
  14. package/build/details/index.cjs.map +2 -2
  15. package/build/heading/index.cjs +3 -0
  16. package/build/heading/index.cjs.map +2 -2
  17. package/build/image/index.cjs +1 -1
  18. package/build/image/index.cjs.map +2 -2
  19. package/build/index.cjs +6 -0
  20. package/build/index.cjs.map +2 -2
  21. package/build/list-item/index.cjs +3 -0
  22. package/build/list-item/index.cjs.map +2 -2
  23. package/build/more/index.cjs +1 -1
  24. package/build/more/index.cjs.map +2 -2
  25. package/build/navigation/edit/index.cjs +23 -2
  26. package/build/navigation/edit/index.cjs.map +2 -2
  27. package/build/navigation-submenu/index.cjs +2 -2
  28. package/build/navigation-submenu/index.cjs.map +2 -2
  29. package/build/paragraph/index.cjs +1 -1
  30. package/build/paragraph/index.cjs.map +2 -2
  31. package/build/post-excerpt/edit.cjs +1 -1
  32. package/build/post-excerpt/edit.cjs.map +2 -2
  33. package/build/tab/add-tab-toolbar-control.cjs +31 -9
  34. package/build/tab/add-tab-toolbar-control.cjs.map +2 -2
  35. package/build/tab/block.json +18 -4
  36. package/build/tab/controls.cjs +4 -8
  37. package/build/tab/controls.cjs.map +3 -3
  38. package/build/tab/edit.cjs +46 -118
  39. package/build/tab/edit.cjs.map +3 -3
  40. package/build/tab/remove-tab-toolbar-control.cjs +91 -0
  41. package/build/tab/remove-tab-toolbar-control.cjs.map +7 -0
  42. package/build/tab/save.cjs +2 -2
  43. package/build/tab/save.cjs.map +2 -2
  44. package/build/tab-panels/block.json +70 -0
  45. package/build/tab-panels/edit.cjs +63 -0
  46. package/build/tab-panels/edit.cjs.map +7 -0
  47. package/build/tab-panels/icon.cjs +29 -0
  48. package/build/tab-panels/icon.cjs.map +7 -0
  49. package/build/tab-panels/index.cjs +58 -0
  50. package/build/tab-panels/index.cjs.map +7 -0
  51. package/build/tab-panels/save.cjs +33 -0
  52. package/build/tab-panels/save.cjs.map +7 -0
  53. package/build/tabs/block.json +61 -90
  54. package/build/tabs/controls.cjs +19 -221
  55. package/build/tabs/controls.cjs.map +3 -3
  56. package/build/tabs/deprecated.cjs +179 -0
  57. package/build/tabs/deprecated.cjs.map +7 -0
  58. package/build/tabs/edit.cjs +84 -62
  59. package/build/tabs/edit.cjs.map +3 -3
  60. package/build/tabs/index.cjs +3 -1
  61. package/build/tabs/index.cjs.map +3 -3
  62. package/build/tabs/save.cjs +6 -9
  63. package/build/tabs/save.cjs.map +2 -2
  64. package/build/tabs-menu/block.json +77 -0
  65. package/build/tabs-menu/edit.cjs +204 -0
  66. package/build/tabs-menu/edit.cjs.map +7 -0
  67. package/build/tabs-menu/icon.cjs +29 -0
  68. package/build/tabs-menu/icon.cjs.map +7 -0
  69. package/build/tabs-menu/index.cjs +58 -0
  70. package/build/tabs-menu/index.cjs.map +7 -0
  71. package/build/tabs-menu/save.cjs +35 -0
  72. package/build/tabs-menu/save.cjs.map +7 -0
  73. package/build/tabs-menu-item/block.json +98 -0
  74. package/build/tabs-menu-item/controls.cjs +247 -0
  75. package/build/tabs-menu-item/controls.cjs.map +7 -0
  76. package/build/tabs-menu-item/edit.cjs +272 -0
  77. package/build/tabs-menu-item/edit.cjs.map +7 -0
  78. package/build/tabs-menu-item/icon.cjs +29 -0
  79. package/build/tabs-menu-item/icon.cjs.map +7 -0
  80. package/build/tabs-menu-item/index.cjs +58 -0
  81. package/build/tabs-menu-item/index.cjs.map +7 -0
  82. package/build/tabs-menu-item/save.cjs +50 -0
  83. package/build/tabs-menu-item/save.cjs.map +7 -0
  84. package/build/template-part/edit/index.cjs +1 -1
  85. package/build/template-part/edit/index.cjs.map +2 -2
  86. package/build/utils/caption.cjs +4 -6
  87. package/build/utils/caption.cjs.map +3 -3
  88. package/build/video/edit.cjs +4 -2
  89. package/build/video/edit.cjs.map +2 -2
  90. package/build-module/button/index.mjs +3 -0
  91. package/build-module/button/index.mjs.map +2 -2
  92. package/build-module/comments-title/block.json +1 -3
  93. package/build-module/comments-title/deprecated.mjs +148 -24
  94. package/build-module/comments-title/deprecated.mjs.map +2 -2
  95. package/build-module/comments-title/edit.mjs +17 -32
  96. package/build-module/comments-title/edit.mjs.map +2 -2
  97. package/build-module/cover/edit/block-controls.mjs +11 -3
  98. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  99. package/build-module/cover/edit/embed-video-url-input.mjs +6 -2
  100. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  101. package/build-module/details/index.mjs +3 -0
  102. package/build-module/details/index.mjs.map +2 -2
  103. package/build-module/heading/index.mjs +3 -0
  104. package/build-module/heading/index.mjs.map +2 -2
  105. package/build-module/image/index.mjs +1 -1
  106. package/build-module/image/index.mjs.map +2 -2
  107. package/build-module/index.mjs +6 -0
  108. package/build-module/index.mjs.map +2 -2
  109. package/build-module/list-item/index.mjs +3 -0
  110. package/build-module/list-item/index.mjs.map +2 -2
  111. package/build-module/more/index.mjs +1 -1
  112. package/build-module/more/index.mjs.map +2 -2
  113. package/build-module/navigation/edit/index.mjs +23 -2
  114. package/build-module/navigation/edit/index.mjs.map +2 -2
  115. package/build-module/navigation-submenu/index.mjs +2 -2
  116. package/build-module/navigation-submenu/index.mjs.map +2 -2
  117. package/build-module/paragraph/index.mjs +1 -1
  118. package/build-module/paragraph/index.mjs.map +2 -2
  119. package/build-module/post-excerpt/edit.mjs +1 -1
  120. package/build-module/post-excerpt/edit.mjs.map +2 -2
  121. package/build-module/tab/add-tab-toolbar-control.mjs +32 -10
  122. package/build-module/tab/add-tab-toolbar-control.mjs.map +2 -2
  123. package/build-module/tab/block.json +18 -4
  124. package/build-module/tab/controls.mjs +4 -8
  125. package/build-module/tab/controls.mjs.map +2 -2
  126. package/build-module/tab/edit.mjs +48 -128
  127. package/build-module/tab/edit.mjs.map +2 -2
  128. package/build-module/tab/remove-tab-toolbar-control.mjs +73 -0
  129. package/build-module/tab/remove-tab-toolbar-control.mjs.map +7 -0
  130. package/build-module/tab/save.mjs +2 -2
  131. package/build-module/tab/save.mjs.map +2 -2
  132. package/build-module/tab-panels/block.json +70 -0
  133. package/build-module/tab-panels/edit.mjs +36 -0
  134. package/build-module/tab-panels/edit.mjs.map +7 -0
  135. package/build-module/tab-panels/icon.mjs +8 -0
  136. package/build-module/tab-panels/icon.mjs.map +7 -0
  137. package/build-module/tab-panels/index.mjs +20 -0
  138. package/build-module/tab-panels/index.mjs.map +7 -0
  139. package/build-module/tab-panels/save.mjs +12 -0
  140. package/build-module/tab-panels/save.mjs.map +7 -0
  141. package/build-module/tabs/block.json +61 -90
  142. package/build-module/tabs/controls.mjs +21 -228
  143. package/build-module/tabs/controls.mjs.map +2 -2
  144. package/build-module/tabs/deprecated.mjs +158 -0
  145. package/build-module/tabs/deprecated.mjs.map +7 -0
  146. package/build-module/tabs/edit.mjs +87 -64
  147. package/build-module/tabs/edit.mjs.map +2 -2
  148. package/build-module/tabs/index.mjs +3 -1
  149. package/build-module/tabs/index.mjs.map +2 -2
  150. package/build-module/tabs/save.mjs +7 -10
  151. package/build-module/tabs/save.mjs.map +2 -2
  152. package/build-module/tabs-menu/block.json +77 -0
  153. package/build-module/tabs-menu/edit.mjs +186 -0
  154. package/build-module/tabs-menu/edit.mjs.map +7 -0
  155. package/build-module/tabs-menu/icon.mjs +8 -0
  156. package/build-module/tabs-menu/icon.mjs.map +7 -0
  157. package/build-module/tabs-menu/index.mjs +20 -0
  158. package/build-module/tabs-menu/index.mjs.map +7 -0
  159. package/build-module/tabs-menu/save.mjs +14 -0
  160. package/build-module/tabs-menu/save.mjs.map +7 -0
  161. package/build-module/tabs-menu-item/block.json +98 -0
  162. package/build-module/tabs-menu-item/controls.mjs +227 -0
  163. package/build-module/tabs-menu-item/controls.mjs.map +7 -0
  164. package/build-module/tabs-menu-item/edit.mjs +253 -0
  165. package/build-module/tabs-menu-item/edit.mjs.map +7 -0
  166. package/build-module/tabs-menu-item/icon.mjs +8 -0
  167. package/build-module/tabs-menu-item/icon.mjs.map +7 -0
  168. package/build-module/tabs-menu-item/index.mjs +20 -0
  169. package/build-module/tabs-menu-item/index.mjs.map +7 -0
  170. package/build-module/tabs-menu-item/save.mjs +29 -0
  171. package/build-module/tabs-menu-item/save.mjs.map +7 -0
  172. package/build-module/template-part/edit/index.mjs +1 -1
  173. package/build-module/template-part/edit/index.mjs.map +2 -2
  174. package/build-module/utils/caption.mjs +1 -3
  175. package/build-module/utils/caption.mjs.map +2 -2
  176. package/build-module/video/edit.mjs +4 -2
  177. package/build-module/video/edit.mjs.map +2 -2
  178. package/build-style/editor-rtl.css +16 -21
  179. package/build-style/editor.css +16 -21
  180. package/build-style/gallery/style-rtl.css +1 -1
  181. package/build-style/gallery/style.css +1 -1
  182. package/build-style/style-rtl.css +42 -153
  183. package/build-style/style.css +42 -153
  184. package/build-style/tab/style-rtl.css +7 -1
  185. package/build-style/tab/style.css +7 -1
  186. package/build-style/tab-panels/style-rtl.css +4 -0
  187. package/build-style/tab-panels/style.css +4 -0
  188. package/build-style/tabs/style-rtl.css +1 -167
  189. package/build-style/tabs/style.css +1 -167
  190. package/build-style/tabs-menu/editor-rtl.css +4 -0
  191. package/build-style/tabs-menu/editor.css +4 -0
  192. package/build-style/tabs-menu/style-rtl.css +8 -0
  193. package/build-style/tabs-menu/style.css +8 -0
  194. package/build-style/tabs-menu-item/editor-rtl.css +16 -0
  195. package/build-style/tabs-menu-item/editor.css +16 -0
  196. package/build-style/tabs-menu-item/style-rtl.css +34 -0
  197. package/build-style/tabs-menu-item/style.css +34 -0
  198. package/package.json +37 -37
  199. package/src/button/index.js +4 -0
  200. package/src/comments-title/block.json +1 -3
  201. package/src/comments-title/deprecated.js +153 -23
  202. package/src/comments-title/edit.js +9 -25
  203. package/src/cover/edit/block-controls.js +14 -3
  204. package/src/cover/edit/embed-video-url-input.js +6 -2
  205. package/src/details/index.js +4 -0
  206. package/src/editor.scss +2 -1
  207. package/src/gallery/style.scss +1 -1
  208. package/src/heading/index.js +4 -0
  209. package/src/image/index.js +4 -1
  210. package/src/index.js +6 -0
  211. package/src/list-item/index.js +4 -0
  212. package/src/more/index.js +4 -1
  213. package/src/navigation/edit/index.js +28 -4
  214. package/src/navigation-submenu/index.js +6 -3
  215. package/src/paragraph/index.js +4 -1
  216. package/src/post-excerpt/edit.js +1 -1
  217. package/src/post-excerpt/index.php +39 -16
  218. package/src/style.scss +3 -0
  219. package/src/tab/add-tab-toolbar-control.js +36 -11
  220. package/src/tab/block.json +18 -4
  221. package/src/tab/controls.js +4 -5
  222. package/src/tab/edit.js +75 -150
  223. package/src/tab/index.php +5 -63
  224. package/src/tab/remove-tab-toolbar-control.js +103 -0
  225. package/src/tab/save.js +1 -3
  226. package/src/tab/style.scss +8 -1
  227. package/src/tab-panels/block.json +70 -0
  228. package/src/tab-panels/edit.js +44 -0
  229. package/src/tab-panels/icon.js +10 -0
  230. package/src/tab-panels/index.js +21 -0
  231. package/src/tab-panels/save.js +11 -0
  232. package/src/tab-panels/style.scss +4 -0
  233. package/src/tabs/block.json +61 -90
  234. package/src/tabs/controls.js +7 -221
  235. package/src/tabs/deprecated.js +214 -0
  236. package/src/tabs/edit.js +108 -68
  237. package/src/tabs/index.js +2 -0
  238. package/src/tabs/index.php +86 -191
  239. package/src/tabs/save.js +6 -13
  240. package/src/tabs/style.scss +1 -187
  241. package/src/tabs-menu/block.json +77 -0
  242. package/src/tabs-menu/edit.js +251 -0
  243. package/src/tabs-menu/editor.scss +6 -0
  244. package/src/tabs-menu/icon.js +10 -0
  245. package/src/tabs-menu/index.js +21 -0
  246. package/src/tabs-menu/index.php +74 -0
  247. package/src/tabs-menu/save.js +18 -0
  248. package/src/tabs-menu/style.scss +8 -0
  249. package/src/tabs-menu-item/block.json +98 -0
  250. package/src/tabs-menu-item/controls.js +262 -0
  251. package/src/tabs-menu-item/edit.js +322 -0
  252. package/src/tabs-menu-item/editor.scss +20 -0
  253. package/src/tabs-menu-item/icon.js +10 -0
  254. package/src/tabs-menu-item/index.js +21 -0
  255. package/src/tabs-menu-item/index.php +82 -0
  256. package/src/tabs-menu-item/save.js +44 -0
  257. package/src/tabs-menu-item/style.scss +42 -0
  258. package/src/template-part/edit/index.js +1 -3
  259. package/src/utils/caption.js +1 -7
  260. package/src/video/edit.js +4 -2
  261. package/build/tab/tabs-list.cjs +0 -132
  262. package/build/tab/tabs-list.cjs.map +0 -7
  263. package/build/tabs/style-engine.cjs +0 -119
  264. package/build/tabs/style-engine.cjs.map +0 -7
  265. package/build-module/tab/tabs-list.mjs +0 -101
  266. package/build-module/tab/tabs-list.mjs.map +0 -7
  267. package/build-module/tabs/style-engine.mjs +0 -101
  268. package/build-module/tabs/style-engine.mjs.map +0 -7
  269. package/build-style/tabs/editor-rtl.css +0 -26
  270. package/build-style/tabs/editor.css +0 -26
  271. package/src/tab/tabs-list.js +0 -122
  272. package/src/tabs/editor.scss +0 -30
  273. package/src/tabs/style-engine.js +0 -164
@@ -1,243 +1,36 @@
1
1
  // packages/block-library/src/tabs/controls.js
2
2
  import { __ } from "@wordpress/i18n";
3
- import { ToggleControl, PanelBody, TextControl } from "@wordpress/components";
4
- import { useMemo } from "@wordpress/element";
5
- import {
6
- ContrastChecker,
7
- InspectorControls,
8
- __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
9
- __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients
10
- } from "@wordpress/block-editor";
3
+ import { PanelBody, TextControl } from "@wordpress/components";
4
+ import { InspectorControls } from "@wordpress/block-editor";
11
5
  import AddTabToolbarControl from "../tab/add-tab-toolbar-control.mjs";
6
+ import RemoveTabToolbarControl from "../tab/remove-tab-toolbar-control.mjs";
12
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
- function ContrastCheckerMatrix({ attributes }) {
8
+ function Controls({ attributes, setAttributes, clientId }) {
14
9
  const {
15
- className,
16
- fontSize,
17
- tabActiveColor,
18
- customTabActiveColor,
19
- tabActiveTextColor,
20
- customTabActiveTextColor,
21
- tabInactiveColor,
22
- customTabInactiveColor,
23
- tabTextColor,
24
- customTabTextColor,
25
- tabHoverColor,
26
- customTabHoverColor,
27
- tabHoverTextColor,
28
- customTabHoverTextColor
29
- } = attributes;
30
- const activeBackground = useMemo(() => {
31
- if (className?.includes("is-style-links")) {
32
- return "#fff";
33
- }
34
- if (tabActiveColor?.color) {
35
- return tabActiveColor.color;
36
- }
37
- return customTabActiveColor;
38
- }, [tabActiveColor, customTabActiveColor, className]);
39
- const activeText = useMemo(() => {
40
- if (tabActiveTextColor?.color) {
41
- return tabActiveTextColor.color;
42
- }
43
- return customTabActiveTextColor;
44
- }, [tabActiveTextColor, customTabActiveTextColor]);
45
- const inactiveBackground = useMemo(() => {
46
- if (className?.includes("is-style-links")) {
47
- return "#fff";
48
- }
49
- if (tabInactiveColor?.color) {
50
- return tabInactiveColor.color;
51
- }
52
- return customTabInactiveColor;
53
- }, [tabInactiveColor, customTabInactiveColor, className]);
54
- const inactiveText = useMemo(() => {
55
- if (tabTextColor?.color) {
56
- return tabTextColor.color;
57
- }
58
- return customTabTextColor;
59
- }, [tabTextColor, customTabTextColor]);
60
- const hoverBackground = useMemo(() => {
61
- if (tabHoverColor?.color) {
62
- return tabHoverColor.color;
63
- }
64
- return customTabHoverColor;
65
- }, [tabHoverColor, customTabHoverColor]);
66
- const hoverText = useMemo(() => {
67
- if (tabHoverTextColor?.color) {
68
- return tabHoverTextColor.color;
69
- }
70
- return customTabHoverTextColor;
71
- }, [tabHoverTextColor, customTabHoverTextColor]);
72
- return /* @__PURE__ */ jsxs(Fragment, { children: [
73
- /* @__PURE__ */ jsx(
74
- ContrastChecker,
75
- {
76
- backgroundColor: activeBackground,
77
- fontSize,
78
- textColor: activeText
79
- }
80
- ),
81
- /* @__PURE__ */ jsx(
82
- ContrastChecker,
83
- {
84
- backgroundColor: inactiveBackground,
85
- fontSize,
86
- textColor: inactiveText
87
- }
88
- ),
89
- /* @__PURE__ */ jsx(
90
- ContrastChecker,
91
- {
92
- backgroundColor: hoverBackground,
93
- fontSize,
94
- textColor: hoverText
95
- }
96
- )
97
- ] });
98
- }
99
- function Controls({
100
- attributes,
101
- setAttributes,
102
- clientId,
103
- tabInactiveColor,
104
- setTabInactiveColor,
105
- tabHoverColor,
106
- setTabHoverColor,
107
- tabActiveColor,
108
- setTabActiveColor,
109
- tabTextColor,
110
- setTabTextColor,
111
- tabActiveTextColor,
112
- setTabActiveTextColor,
113
- tabHoverTextColor,
114
- setTabHoverTextColor
115
- }) {
116
- const {
117
- customTabInactiveColor,
118
- customTabActiveColor,
119
- customTabHoverColor,
120
- customTabTextColor,
121
- customTabActiveTextColor,
122
- customTabHoverTextColor,
123
- orientation,
124
10
  metadata = {
125
11
  name: ""
126
12
  }
127
13
  } = attributes;
128
- const colorSettings = useMultipleOriginColorsAndGradients();
129
14
  return /* @__PURE__ */ jsxs(Fragment, { children: [
130
- /* @__PURE__ */ jsx(
131
- AddTabToolbarControl,
15
+ /* @__PURE__ */ jsx(AddTabToolbarControl, { tabsClientId: clientId }),
16
+ /* @__PURE__ */ jsx(RemoveTabToolbarControl, { tabsClientId: clientId }),
17
+ /* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsx(PanelBody, { title: __("Settings"), children: /* @__PURE__ */ jsx(
18
+ TextControl,
132
19
  {
133
- tabsClientId: clientId,
134
- attributes
20
+ label: __("Tabs Title"),
21
+ help: __(
22
+ "The tabs title is used by screen readers to describe the purpose and content of the tabs."
23
+ ),
24
+ value: metadata.name,
25
+ placeholder: __("Tab Contents"),
26
+ onChange: (value) => {
27
+ setAttributes({
28
+ metadata: { ...metadata, name: value }
29
+ });
30
+ },
31
+ __next40pxDefaultSize: true
135
32
  }
136
- ),
137
- /* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsxs(PanelBody, { title: __("Tabs Settings"), children: [
138
- /* @__PURE__ */ jsx(
139
- ToggleControl,
140
- {
141
- label: __("Vertical Tabs"),
142
- checked: "vertical" === orientation,
143
- onChange: () => setAttributes({
144
- orientation: "vertical" === orientation ? "horizontal" : "vertical"
145
- })
146
- }
147
- ),
148
- /* @__PURE__ */ jsx(
149
- TextControl,
150
- {
151
- label: __("Tabs Title"),
152
- help: __(
153
- "The tabs title is used by screen readers to describe the purpose and content of the tabs."
154
- ),
155
- value: metadata.name,
156
- placeholder: __("Tab Contents"),
157
- onChange: (value) => {
158
- setAttributes({
159
- metadata: { ...metadata, name: value }
160
- });
161
- },
162
- __next40pxDefaultSize: true
163
- }
164
- )
165
- ] }) }),
166
- /* @__PURE__ */ jsxs(InspectorControls, { group: "color", children: [
167
- /* @__PURE__ */ jsx(
168
- ColorGradientSettingsDropdown,
169
- {
170
- settings: [
171
- {
172
- label: __("Tab Active Background"),
173
- colorValue: tabActiveColor?.color ?? customTabActiveColor,
174
- onColorChange: (value) => {
175
- setTabActiveColor(value);
176
- setAttributes({
177
- customTabActiveColor: value
178
- });
179
- }
180
- },
181
- {
182
- label: __("Tab Active Text"),
183
- colorValue: tabActiveTextColor?.color ?? customTabActiveTextColor,
184
- onColorChange: (value) => {
185
- setTabActiveTextColor(value);
186
- setAttributes({
187
- customTabActiveTextColor: value
188
- });
189
- }
190
- },
191
- {
192
- label: __("Tab Inactive Background"),
193
- colorValue: tabInactiveColor?.color ?? customTabInactiveColor,
194
- onColorChange: (value) => {
195
- setTabInactiveColor(value);
196
- setAttributes({
197
- customTabInactiveColor: value
198
- });
199
- }
200
- },
201
- {
202
- label: __("Tab Inactive Text"),
203
- colorValue: tabTextColor?.color ?? customTabTextColor,
204
- onColorChange: (value) => {
205
- setTabTextColor(value);
206
- setAttributes({
207
- customTabTextColor: value
208
- });
209
- }
210
- },
211
- {
212
- label: __("Tab Hover Background"),
213
- colorValue: tabHoverColor?.color ?? customTabHoverColor,
214
- onColorChange: (value) => {
215
- setTabHoverColor(value);
216
- setAttributes({
217
- customTabHoverColor: value
218
- });
219
- }
220
- },
221
- {
222
- label: __("Tab Hover Text"),
223
- colorValue: tabHoverTextColor?.color ?? customTabHoverTextColor,
224
- onColorChange: (value) => {
225
- setTabHoverTextColor(value);
226
- setAttributes({
227
- customTabHoverTextColor: value
228
- });
229
- }
230
- }
231
- ],
232
- panelId: clientId,
233
- disableCustomColors: false,
234
- __experimentalIsRenderedInSidebar: true,
235
- __next40pxDefaultSize: true,
236
- ...colorSettings
237
- }
238
- ),
239
- /* @__PURE__ */ jsx(ContrastCheckerMatrix, { attributes })
240
- ] })
33
+ ) }) })
241
34
  ] });
242
35
  }
243
36
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToggleControl, PanelBody, TextControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tContrastChecker,\n\tInspectorControls,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from '../tab/add-tab-toolbar-control';\n\nfunction ContrastCheckerMatrix( { attributes } ) {\n\tconst {\n\t\tclassName,\n\t\tfontSize,\n\t\ttabActiveColor,\n\t\tcustomTabActiveColor,\n\t\ttabActiveTextColor,\n\t\tcustomTabActiveTextColor,\n\t\ttabInactiveColor,\n\t\tcustomTabInactiveColor,\n\t\ttabTextColor,\n\t\tcustomTabTextColor,\n\t\ttabHoverColor,\n\t\tcustomTabHoverColor,\n\t\ttabHoverTextColor,\n\t\tcustomTabHoverTextColor,\n\t} = attributes;\n\n\tconst activeBackground = useMemo( () => {\n\t\tif ( className?.includes( 'is-style-links' ) ) {\n\t\t\treturn '#fff';\n\t\t}\n\t\tif ( tabActiveColor?.color ) {\n\t\t\treturn tabActiveColor.color;\n\t\t}\n\t\treturn customTabActiveColor;\n\t}, [ tabActiveColor, customTabActiveColor, className ] );\n\n\tconst activeText = useMemo( () => {\n\t\tif ( tabActiveTextColor?.color ) {\n\t\t\treturn tabActiveTextColor.color;\n\t\t}\n\t\treturn customTabActiveTextColor;\n\t}, [ tabActiveTextColor, customTabActiveTextColor ] );\n\n\tconst inactiveBackground = useMemo( () => {\n\t\tif ( className?.includes( 'is-style-links' ) ) {\n\t\t\treturn '#fff';\n\t\t}\n\t\tif ( tabInactiveColor?.color ) {\n\t\t\treturn tabInactiveColor.color;\n\t\t}\n\t\treturn customTabInactiveColor;\n\t}, [ tabInactiveColor, customTabInactiveColor, className ] );\n\n\tconst inactiveText = useMemo( () => {\n\t\tif ( tabTextColor?.color ) {\n\t\t\treturn tabTextColor.color;\n\t\t}\n\t\treturn customTabTextColor;\n\t}, [ tabTextColor, customTabTextColor ] );\n\n\tconst hoverBackground = useMemo( () => {\n\t\tif ( tabHoverColor?.color ) {\n\t\t\treturn tabHoverColor.color;\n\t\t}\n\t\treturn customTabHoverColor;\n\t}, [ tabHoverColor, customTabHoverColor ] );\n\n\tconst hoverText = useMemo( () => {\n\t\tif ( tabHoverTextColor?.color ) {\n\t\t\treturn tabHoverTextColor.color;\n\t\t}\n\t\treturn customTabHoverTextColor;\n\t}, [ tabHoverTextColor, customTabHoverTextColor ] );\n\n\treturn (\n\t\t<>\n\t\t\t<ContrastChecker\n\t\t\t\tbackgroundColor={ activeBackground }\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\ttextColor={ activeText }\n\t\t\t/>\n\t\t\t<ContrastChecker\n\t\t\t\tbackgroundColor={ inactiveBackground }\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\ttextColor={ inactiveText }\n\t\t\t/>\n\t\t\t<ContrastChecker\n\t\t\t\tbackgroundColor={ hoverBackground }\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\ttextColor={ hoverText }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function Controls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\ttabInactiveColor,\n\tsetTabInactiveColor,\n\ttabHoverColor,\n\tsetTabHoverColor,\n\ttabActiveColor,\n\tsetTabActiveColor,\n\ttabTextColor,\n\tsetTabTextColor,\n\ttabActiveTextColor,\n\tsetTabActiveTextColor,\n\ttabHoverTextColor,\n\tsetTabHoverTextColor,\n} ) {\n\tconst {\n\t\tcustomTabInactiveColor,\n\t\tcustomTabActiveColor,\n\t\tcustomTabHoverColor,\n\t\tcustomTabTextColor,\n\t\tcustomTabActiveTextColor,\n\t\tcustomTabHoverTextColor,\n\t\torientation,\n\t\tmetadata = {\n\t\t\tname: '',\n\t\t},\n\t} = attributes;\n\t/**\n\t * Get the color settings for the block.\n\t */\n\tconst colorSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl\n\t\t\t\ttabsClientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Tabs Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Vertical Tabs' ) }\n\t\t\t\t\t\tchecked={ 'vertical' === orientation }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\torientation:\n\t\t\t\t\t\t\t\t\t'vertical' === orientation\n\t\t\t\t\t\t\t\t\t\t? 'horizontal'\n\t\t\t\t\t\t\t\t\t\t: 'vertical',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Tabs Title' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The tabs title is used by screen readers to describe the purpose and content of the tabs.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ metadata.name }\n\t\t\t\t\t\tplaceholder={ __( 'Tab Contents' ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmetadata: { ...metadata, name: value },\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Active Background' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabActiveColor?.color ?? customTabActiveColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabActiveColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabActiveColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Active Text' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabActiveTextColor?.color ??\n\t\t\t\t\t\t\t\tcustomTabActiveTextColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabActiveTextColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabActiveTextColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Inactive Background' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabInactiveColor?.color ??\n\t\t\t\t\t\t\t\tcustomTabInactiveColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabInactiveColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabInactiveColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Inactive Text' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabTextColor?.color ?? customTabTextColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabTextColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabTextColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Hover Background' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabHoverColor?.color ?? customTabHoverColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabHoverColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabHoverColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Tab Hover Text' ),\n\t\t\t\t\t\t\tcolorValue:\n\t\t\t\t\t\t\t\ttabHoverTextColor?.color ??\n\t\t\t\t\t\t\t\tcustomTabHoverTextColor,\n\t\t\t\t\t\t\tonColorChange: ( value ) => {\n\t\t\t\t\t\t\t\tsetTabHoverTextColor( value );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcustomTabHoverTextColor: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\tdisableCustomColors={ false }\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t{ ...colorSettings }\n\t\t\t\t/>\n\t\t\t\t<ContrastCheckerMatrix attributes={ attributes } />\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, TextControl } from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from '../tab/add-tab-toolbar-control';\nimport RemoveTabToolbarControl from '../tab/remove-tab-toolbar-control';\n\nexport default function Controls( { attributes, setAttributes, clientId } ) {\n\tconst {\n\t\tmetadata = {\n\t\t\tname: '',\n\t\t},\n\t} = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl tabsClientId={ clientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ clientId } />\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Tabs Title' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The tabs title is used by screen readers to describe the purpose and content of the tabs.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ metadata.name }\n\t\t\t\t\t\tplaceholder={ __( 'Tab Contents' ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmetadata: { ...metadata, name: value },\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,WAAW,mBAAmB;AACvC,SAAS,yBAAyB;AAKlC,OAAO,0BAA0B;AACjC,OAAO,6BAA6B;AAUlC,mBACC,KADD;AARa,SAAR,SAA2B,EAAE,YAAY,eAAe,SAAS,GAAI;AAC3E,QAAM;AAAA,IACL,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,EACD,IAAI;AAEJ,SACC,iCACC;AAAA,wBAAC,wBAAqB,cAAe,UAAW;AAAA,IAChD,oBAAC,2BAAwB,cAAe,UAAW;AAAA,IACnD,oBAAC,qBACA,8BAAC,aAAU,OAAQ,GAAI,UAAW,GACjC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,GAAI,YAAa;AAAA,QACzB,MAAO;AAAA,UACN;AAAA,QACD;AAAA,QACA,OAAQ,SAAS;AAAA,QACjB,aAAc,GAAI,cAAe;AAAA,QACjC,UAAW,CAAE,UAAW;AACvB,wBAAe;AAAA,YACd,UAAU,EAAE,GAAG,UAAU,MAAM,MAAM;AAAA,UACtC,CAAE;AAAA,QACH;AAAA,QACA,uBAAqB;AAAA;AAAA,IACtB,GACD,GACD;AAAA,KACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,158 @@
1
+ // packages/block-library/src/tabs/deprecated.js
2
+ import { useBlockProps, useInnerBlocksProps } from "@wordpress/block-editor";
3
+ import { createBlock } from "@wordpress/blocks";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ var v1Attributes = {
6
+ tabsId: {
7
+ type: "string",
8
+ default: ""
9
+ },
10
+ orientation: {
11
+ type: "string",
12
+ default: "horizontal",
13
+ enum: ["horizontal", "vertical"]
14
+ },
15
+ activeTabIndex: {
16
+ type: "number",
17
+ default: 0
18
+ },
19
+ tabInactiveColor: {
20
+ type: "string"
21
+ },
22
+ customTabInactiveColor: {
23
+ type: "string"
24
+ },
25
+ tabHoverColor: {
26
+ type: "string"
27
+ },
28
+ customTabHoverColor: {
29
+ type: "string"
30
+ },
31
+ tabActiveColor: {
32
+ type: "string"
33
+ },
34
+ customTabActiveColor: {
35
+ type: "string"
36
+ },
37
+ tabTextColor: {
38
+ type: "string"
39
+ },
40
+ customTabTextColor: {
41
+ type: "string"
42
+ },
43
+ tabActiveTextColor: {
44
+ type: "string"
45
+ },
46
+ customTabActiveTextColor: {
47
+ type: "string"
48
+ },
49
+ tabHoverTextColor: {
50
+ type: "string"
51
+ },
52
+ customTabHoverTextColor: {
53
+ type: "string"
54
+ }
55
+ };
56
+ function v1Save({ attributes }) {
57
+ const blockProps = useBlockProps.save();
58
+ const innerBlocksProps = useInnerBlocksProps.save({});
59
+ const title = attributes?.metadata?.name || "Tab Contents";
60
+ return /* @__PURE__ */ jsxs("div", { ...blockProps, children: [
61
+ /* @__PURE__ */ jsx("h3", { className: "tabs__title", children: title }),
62
+ /* @__PURE__ */ jsx("ul", { className: "tabs__list" }),
63
+ innerBlocksProps.children
64
+ ] });
65
+ }
66
+ function v1Migrate(attributes, innerBlocks) {
67
+ const tabsMenuAttributes = {
68
+ // Map inactive colors to core background/text supports
69
+ backgroundColor: attributes.tabInactiveColor,
70
+ textColor: attributes.tabTextColor,
71
+ // Map custom inactive colors
72
+ style: {
73
+ color: {
74
+ background: attributes.customTabInactiveColor,
75
+ text: attributes.customTabTextColor
76
+ }
77
+ },
78
+ // Active colors
79
+ activeBackgroundColor: attributes.tabActiveColor,
80
+ customActiveBackgroundColor: attributes.customTabActiveColor,
81
+ activeTextColor: attributes.tabActiveTextColor,
82
+ customActiveTextColor: attributes.customTabActiveTextColor,
83
+ // Hover colors
84
+ hoverBackgroundColor: attributes.tabHoverColor,
85
+ customHoverBackgroundColor: attributes.customTabHoverColor,
86
+ hoverTextColor: attributes.tabHoverTextColor,
87
+ customHoverTextColor: attributes.customTabHoverTextColor
88
+ };
89
+ if (tabsMenuAttributes.style?.color) {
90
+ if (!tabsMenuAttributes.style.color.background) {
91
+ delete tabsMenuAttributes.style.color.background;
92
+ }
93
+ if (!tabsMenuAttributes.style.color.text) {
94
+ delete tabsMenuAttributes.style.color.text;
95
+ }
96
+ if (Object.keys(tabsMenuAttributes.style.color).length === 0) {
97
+ delete tabsMenuAttributes.style.color;
98
+ }
99
+ if (Object.keys(tabsMenuAttributes.style).length === 0) {
100
+ delete tabsMenuAttributes.style;
101
+ }
102
+ }
103
+ Object.keys(tabsMenuAttributes).forEach((key) => {
104
+ if (tabsMenuAttributes[key] === void 0) {
105
+ delete tabsMenuAttributes[key];
106
+ }
107
+ });
108
+ const tabsMenuBlock = createBlock("core/tabs-menu", tabsMenuAttributes);
109
+ const tabPanelsBlock = createBlock("core/tab-panels", {}, innerBlocks);
110
+ const newAttributes = {
111
+ tabsId: attributes.tabsId,
112
+ orientation: attributes.orientation,
113
+ activeTabIndex: attributes.activeTabIndex,
114
+ metadata: attributes.metadata
115
+ };
116
+ return [newAttributes, [tabsMenuBlock, tabPanelsBlock]];
117
+ }
118
+ function v1IsEligible(attributes, innerBlocks) {
119
+ return innerBlocks.some((block) => block.name === "core/tab");
120
+ }
121
+ var deprecated = [
122
+ {
123
+ attributes: v1Attributes,
124
+ supports: {
125
+ align: true,
126
+ color: {
127
+ text: false,
128
+ background: false
129
+ },
130
+ html: false,
131
+ interactivity: true,
132
+ spacing: {
133
+ blockGap: ["horizontal", "vertical"],
134
+ margin: true,
135
+ padding: false
136
+ },
137
+ typography: {
138
+ fontSize: true,
139
+ __experimentalFontFamily: true
140
+ },
141
+ __experimentalBorder: {
142
+ radius: true,
143
+ __experimentalSkipSerialization: true,
144
+ __experimentalDefaultControls: {
145
+ radius: true
146
+ }
147
+ }
148
+ },
149
+ isEligible: v1IsEligible,
150
+ migrate: v1Migrate,
151
+ save: v1Save
152
+ }
153
+ ];
154
+ var deprecated_default = deprecated;
155
+ export {
156
+ deprecated_default as default
157
+ };
158
+ //# sourceMappingURL=deprecated.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs/deprecated.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * The old attributes before restructuring.\n * Maintain during experimental phase to allow for migration.\n *\n * TODO: Should be removed after the experimental phase before release into main block library.\n */\nconst v1Attributes = {\n\ttabsId: {\n\t\ttype: 'string',\n\t\tdefault: '',\n\t},\n\torientation: {\n\t\ttype: 'string',\n\t\tdefault: 'horizontal',\n\t\tenum: [ 'horizontal', 'vertical' ],\n\t},\n\tactiveTabIndex: {\n\t\ttype: 'number',\n\t\tdefault: 0,\n\t},\n\ttabInactiveColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabInactiveColor: {\n\t\ttype: 'string',\n\t},\n\ttabHoverColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabHoverColor: {\n\t\ttype: 'string',\n\t},\n\ttabActiveColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabActiveColor: {\n\t\ttype: 'string',\n\t},\n\ttabTextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabTextColor: {\n\t\ttype: 'string',\n\t},\n\ttabActiveTextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabActiveTextColor: {\n\t\ttype: 'string',\n\t},\n\ttabHoverTextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTabHoverTextColor: {\n\t\ttype: 'string',\n\t},\n};\n\n/**\n * The old save function before restructuring.\n * This renders the tab blocks directly as children with a tabs list placeholder.\n *\n * @param {Object} root0 Component props.\n * @param {Object} root0.attributes Block attributes.\n */\nfunction v1Save( { attributes } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst innerBlocksProps = useInnerBlocksProps.save( {} );\n\tconst title = attributes?.metadata?.name || 'Tab Contents';\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<h3 className=\"tabs__title\">{ title }</h3>\n\t\t\t<ul className=\"tabs__list\"></ul>\n\t\t\t{ innerBlocksProps.children }\n\t\t</div>\n\t);\n}\n\n/**\n * Migration function to convert old tabs structure to new structure.\n *\n * Old structure:\n * - core/tabs (with color attributes and tab innerblocks)\n * - core/tab\n * - core/tab\n *\n * New structure:\n * - core/tabs (orientation only)\n * - core/tabs-menu (with color attributes)\n * - core/tab-panels\n * - core/tab\n * - core/tab\n *\n * @param {Object} attributes Block attributes.\n * @param {Array} innerBlocks Inner blocks array.\n */\nfunction v1Migrate( attributes, innerBlocks ) {\n\t// Extract color attributes for tabs-menu\n\tconst tabsMenuAttributes = {\n\t\t// Map inactive colors to core background/text supports\n\t\tbackgroundColor: attributes.tabInactiveColor,\n\t\ttextColor: attributes.tabTextColor,\n\t\t// Map custom inactive colors\n\t\tstyle: {\n\t\t\tcolor: {\n\t\t\t\tbackground: attributes.customTabInactiveColor,\n\t\t\t\ttext: attributes.customTabTextColor,\n\t\t\t},\n\t\t},\n\t\t// Active colors\n\t\tactiveBackgroundColor: attributes.tabActiveColor,\n\t\tcustomActiveBackgroundColor: attributes.customTabActiveColor,\n\t\tactiveTextColor: attributes.tabActiveTextColor,\n\t\tcustomActiveTextColor: attributes.customTabActiveTextColor,\n\t\t// Hover colors\n\t\thoverBackgroundColor: attributes.tabHoverColor,\n\t\tcustomHoverBackgroundColor: attributes.customTabHoverColor,\n\t\thoverTextColor: attributes.tabHoverTextColor,\n\t\tcustomHoverTextColor: attributes.customTabHoverTextColor,\n\t};\n\n\t// Clean up undefined values from style object\n\tif ( tabsMenuAttributes.style?.color ) {\n\t\tif ( ! tabsMenuAttributes.style.color.background ) {\n\t\t\tdelete tabsMenuAttributes.style.color.background;\n\t\t}\n\t\tif ( ! tabsMenuAttributes.style.color.text ) {\n\t\t\tdelete tabsMenuAttributes.style.color.text;\n\t\t}\n\t\tif ( Object.keys( tabsMenuAttributes.style.color ).length === 0 ) {\n\t\t\tdelete tabsMenuAttributes.style.color;\n\t\t}\n\t\tif ( Object.keys( tabsMenuAttributes.style ).length === 0 ) {\n\t\t\tdelete tabsMenuAttributes.style;\n\t\t}\n\t}\n\n\t// Clean up undefined top-level attributes\n\tObject.keys( tabsMenuAttributes ).forEach( ( key ) => {\n\t\tif ( tabsMenuAttributes[ key ] === undefined ) {\n\t\t\tdelete tabsMenuAttributes[ key ];\n\t\t}\n\t} );\n\n\t// Create tabs-menu block\n\tconst tabsMenuBlock = createBlock( 'core/tabs-menu', tabsMenuAttributes );\n\n\t// Create tab-panels block with existing tab innerblocks\n\tconst tabPanelsBlock = createBlock( 'core/tab-panels', {}, innerBlocks );\n\n\t// Return new attributes (stripped of color attrs) and new innerblocks structure\n\tconst newAttributes = {\n\t\ttabsId: attributes.tabsId,\n\t\torientation: attributes.orientation,\n\t\tactiveTabIndex: attributes.activeTabIndex,\n\t\tmetadata: attributes.metadata,\n\t};\n\n\treturn [ newAttributes, [ tabsMenuBlock, tabPanelsBlock ] ];\n}\n\n/**\n * Check if block is using old structure (tab blocks directly as children).\n *\n * @param {Object} attributes Block attributes.\n * @param {Array} innerBlocks Inner blocks array.\n */\nfunction v1IsEligible( attributes, innerBlocks ) {\n\t// If there are any direct tab children (not wrapped in tab-panels), this is old structure\n\treturn innerBlocks.some( ( block ) => block.name === 'core/tab' );\n}\n\nconst deprecated = [\n\t{\n\t\tattributes: v1Attributes,\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\tcolor: {\n\t\t\t\ttext: false,\n\t\t\t\tbackground: false,\n\t\t\t},\n\t\t\thtml: false,\n\t\t\tinteractivity: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: [ 'horizontal', 'vertical' ],\n\t\t\t\tmargin: true,\n\t\t\t\tpadding: false,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\t__experimentalBorder: {\n\t\t\t\tradius: true,\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tradius: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: v1IsEligible,\n\t\tmigrate: v1Migrate,\n\t\tsave: v1Save,\n\t},\n];\n\nexport default deprecated;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,89 +1,112 @@
1
1
  // packages/block-library/src/tabs/edit.js
2
- import clsx from "clsx";
2
+ import { __ } from "@wordpress/i18n";
3
3
  import {
4
4
  useBlockProps,
5
5
  useInnerBlocksProps,
6
- withColors
6
+ BlockContextProvider,
7
+ store as blockEditorStore
7
8
  } from "@wordpress/block-editor";
8
- import StyleEngine from "./style-engine.mjs";
9
+ import { useSelect } from "@wordpress/data";
10
+ import { useMemo, useEffect } from "@wordpress/element";
9
11
  import Controls from "./controls.mjs";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- var TABS_TEMPLATE = [["core/tab", {}]];
12
- var DEFAULT_BLOCK = {
13
- name: "core/tab",
14
- attributesToCopy: ["className", "fontFamily", "fontSize"]
15
- };
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ var TABS_TEMPLATE = [
14
+ [
15
+ "core/tabs-menu",
16
+ {
17
+ lock: {
18
+ remove: true
19
+ }
20
+ }
21
+ ],
22
+ [
23
+ "core/tab-panels",
24
+ {
25
+ lock: {
26
+ remove: true
27
+ }
28
+ },
29
+ [
30
+ [
31
+ "core/tab",
32
+ {
33
+ anchor: "tab-1",
34
+ label: "Tab 1"
35
+ },
36
+ [
37
+ [
38
+ "core/paragraph",
39
+ {
40
+ placeholder: __("Type / to add a block to tab")
41
+ }
42
+ ]
43
+ ]
44
+ ]
45
+ ]
46
+ ]
47
+ ];
16
48
  function Edit({
17
49
  clientId,
18
50
  attributes,
19
51
  setAttributes,
20
- tabInactiveColor,
21
- setTabInactiveColor,
22
- tabHoverColor,
23
- setTabHoverColor,
24
- tabActiveColor,
25
- setTabActiveColor,
26
- tabTextColor,
27
- setTabTextColor,
28
- tabActiveTextColor,
29
- setTabActiveTextColor,
30
- tabHoverTextColor,
31
- setTabHoverTextColor
52
+ __unstableLayoutClassNames: layoutClassNames
32
53
  }) {
33
- const { style, orientation } = attributes;
34
- const blockProps = useBlockProps({
35
- className: clsx(
36
- "vertical" === orientation ? "is-vertical" : "is-horizontal"
37
- ),
38
- style: {
39
- ...style
54
+ const { anchor, activeTabIndex, editorActiveTabIndex } = attributes;
55
+ useEffect(() => {
56
+ if (editorActiveTabIndex === void 0) {
57
+ setAttributes({ editorActiveTabIndex: activeTabIndex });
40
58
  }
59
+ }, []);
60
+ const tabsList = useSelect(
61
+ (select) => {
62
+ const { getBlocks } = select(blockEditorStore);
63
+ const innerBlocks = getBlocks(clientId);
64
+ const tabPanels = innerBlocks.find(
65
+ (block) => block.name === "core/tab-panels"
66
+ );
67
+ if (!tabPanels) {
68
+ return [];
69
+ }
70
+ return tabPanels.innerBlocks.filter((block) => block.name === "core/tab").map((tab, index) => ({
71
+ id: tab.attributes.anchor || `tab-${index}`,
72
+ label: tab.attributes.label || "",
73
+ clientId: tab.clientId,
74
+ index
75
+ }));
76
+ },
77
+ [clientId]
78
+ );
79
+ const contextValue = useMemo(
80
+ () => ({
81
+ "core/tabs-list": tabsList,
82
+ "core/tabs-id": anchor,
83
+ "core/tabs-activeTabIndex": activeTabIndex,
84
+ "core/tabs-editorActiveTabIndex": editorActiveTabIndex
85
+ }),
86
+ [tabsList, anchor, activeTabIndex, editorActiveTabIndex]
87
+ );
88
+ const blockProps = useBlockProps({
89
+ className: layoutClassNames
41
90
  });
42
91
  const innerBlockProps = useInnerBlocksProps(blockProps, {
43
- defaultBlock: DEFAULT_BLOCK,
44
- directInsert: true,
45
- __experimentalCaptureToolbars: true,
46
- clientId,
47
- orientation,
48
92
  template: TABS_TEMPLATE,
49
- renderAppender: false
50
- // Appender is rendered by individual tab blocks.
93
+ templateLock: false,
94
+ renderAppender: false,
95
+ __experimentalCaptureToolbars: true
51
96
  });
52
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { ...innerBlockProps, children: [
53
- innerBlockProps.children,
54
- /* @__PURE__ */ jsx(StyleEngine, { attributes, clientId }),
97
+ return /* @__PURE__ */ jsx(BlockContextProvider, { value: contextValue, children: /* @__PURE__ */ jsxs("div", { ...innerBlockProps, children: [
55
98
  /* @__PURE__ */ jsx(
56
99
  Controls,
57
100
  {
58
- ...{
59
- clientId,
60
- attributes,
61
- setAttributes,
62
- tabInactiveColor,
63
- setTabInactiveColor,
64
- tabHoverColor,
65
- setTabHoverColor,
66
- tabActiveColor,
67
- setTabActiveColor,
68
- tabTextColor,
69
- setTabTextColor,
70
- tabActiveTextColor,
71
- setTabActiveTextColor,
72
- tabHoverTextColor,
73
- setTabHoverTextColor
74
- }
101
+ clientId,
102
+ attributes,
103
+ setAttributes
75
104
  }
76
- )
105
+ ),
106
+ innerBlockProps.children
77
107
  ] }) });
78
108
  }
79
- var edit_default = withColors(
80
- "tabInactiveColor",
81
- "tabHoverColor",
82
- "tabActiveColor",
83
- "tabTextColor",
84
- "tabActiveTextColor",
85
- "tabHoverTextColor"
86
- )(Edit);
109
+ var edit_default = Edit;
87
110
  export {
88
111
  edit_default as default
89
112
  };