@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
@@ -35,238 +35,36 @@ __export(controls_exports, {
35
35
  module.exports = __toCommonJS(controls_exports);
36
36
  var import_i18n = require("@wordpress/i18n");
37
37
  var import_components = require("@wordpress/components");
38
- var import_element = require("@wordpress/element");
39
38
  var import_block_editor = require("@wordpress/block-editor");
40
39
  var import_add_tab_toolbar_control = __toESM(require("../tab/add-tab-toolbar-control.cjs"));
40
+ var import_remove_tab_toolbar_control = __toESM(require("../tab/remove-tab-toolbar-control.cjs"));
41
41
  var import_jsx_runtime = require("react/jsx-runtime");
42
- function ContrastCheckerMatrix({ attributes }) {
42
+ function Controls({ attributes, setAttributes, clientId }) {
43
43
  const {
44
- className,
45
- fontSize,
46
- tabActiveColor,
47
- customTabActiveColor,
48
- tabActiveTextColor,
49
- customTabActiveTextColor,
50
- tabInactiveColor,
51
- customTabInactiveColor,
52
- tabTextColor,
53
- customTabTextColor,
54
- tabHoverColor,
55
- customTabHoverColor,
56
- tabHoverTextColor,
57
- customTabHoverTextColor
58
- } = attributes;
59
- const activeBackground = (0, import_element.useMemo)(() => {
60
- if (className?.includes("is-style-links")) {
61
- return "#fff";
62
- }
63
- if (tabActiveColor?.color) {
64
- return tabActiveColor.color;
65
- }
66
- return customTabActiveColor;
67
- }, [tabActiveColor, customTabActiveColor, className]);
68
- const activeText = (0, import_element.useMemo)(() => {
69
- if (tabActiveTextColor?.color) {
70
- return tabActiveTextColor.color;
71
- }
72
- return customTabActiveTextColor;
73
- }, [tabActiveTextColor, customTabActiveTextColor]);
74
- const inactiveBackground = (0, import_element.useMemo)(() => {
75
- if (className?.includes("is-style-links")) {
76
- return "#fff";
77
- }
78
- if (tabInactiveColor?.color) {
79
- return tabInactiveColor.color;
80
- }
81
- return customTabInactiveColor;
82
- }, [tabInactiveColor, customTabInactiveColor, className]);
83
- const inactiveText = (0, import_element.useMemo)(() => {
84
- if (tabTextColor?.color) {
85
- return tabTextColor.color;
86
- }
87
- return customTabTextColor;
88
- }, [tabTextColor, customTabTextColor]);
89
- const hoverBackground = (0, import_element.useMemo)(() => {
90
- if (tabHoverColor?.color) {
91
- return tabHoverColor.color;
92
- }
93
- return customTabHoverColor;
94
- }, [tabHoverColor, customTabHoverColor]);
95
- const hoverText = (0, import_element.useMemo)(() => {
96
- if (tabHoverTextColor?.color) {
97
- return tabHoverTextColor.color;
98
- }
99
- return customTabHoverTextColor;
100
- }, [tabHoverTextColor, customTabHoverTextColor]);
101
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
102
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
103
- import_block_editor.ContrastChecker,
104
- {
105
- backgroundColor: activeBackground,
106
- fontSize,
107
- textColor: activeText
108
- }
109
- ),
110
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
- import_block_editor.ContrastChecker,
112
- {
113
- backgroundColor: inactiveBackground,
114
- fontSize,
115
- textColor: inactiveText
116
- }
117
- ),
118
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
- import_block_editor.ContrastChecker,
120
- {
121
- backgroundColor: hoverBackground,
122
- fontSize,
123
- textColor: hoverText
124
- }
125
- )
126
- ] });
127
- }
128
- function Controls({
129
- attributes,
130
- setAttributes,
131
- clientId,
132
- tabInactiveColor,
133
- setTabInactiveColor,
134
- tabHoverColor,
135
- setTabHoverColor,
136
- tabActiveColor,
137
- setTabActiveColor,
138
- tabTextColor,
139
- setTabTextColor,
140
- tabActiveTextColor,
141
- setTabActiveTextColor,
142
- tabHoverTextColor,
143
- setTabHoverTextColor
144
- }) {
145
- const {
146
- customTabInactiveColor,
147
- customTabActiveColor,
148
- customTabHoverColor,
149
- customTabTextColor,
150
- customTabActiveTextColor,
151
- customTabHoverTextColor,
152
- orientation,
153
44
  metadata = {
154
45
  name: ""
155
46
  }
156
47
  } = attributes;
157
- const colorSettings = (0, import_block_editor.__experimentalUseMultipleOriginColorsAndGradients)();
158
48
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
159
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
160
- import_add_tab_toolbar_control.default,
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId: clientId }),
50
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId: clientId }),
51
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PanelBody, { title: (0, import_i18n.__)("Settings"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
52
+ import_components.TextControl,
161
53
  {
162
- tabsClientId: clientId,
163
- attributes
54
+ label: (0, import_i18n.__)("Tabs Title"),
55
+ help: (0, import_i18n.__)(
56
+ "The tabs title is used by screen readers to describe the purpose and content of the tabs."
57
+ ),
58
+ value: metadata.name,
59
+ placeholder: (0, import_i18n.__)("Tab Contents"),
60
+ onChange: (value) => {
61
+ setAttributes({
62
+ metadata: { ...metadata, name: value }
63
+ });
64
+ },
65
+ __next40pxDefaultSize: true
164
66
  }
165
- ),
166
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.PanelBody, { title: (0, import_i18n.__)("Tabs Settings"), children: [
167
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
168
- import_components.ToggleControl,
169
- {
170
- label: (0, import_i18n.__)("Vertical Tabs"),
171
- checked: "vertical" === orientation,
172
- onChange: () => setAttributes({
173
- orientation: "vertical" === orientation ? "horizontal" : "vertical"
174
- })
175
- }
176
- ),
177
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
178
- import_components.TextControl,
179
- {
180
- label: (0, import_i18n.__)("Tabs Title"),
181
- help: (0, import_i18n.__)(
182
- "The tabs title is used by screen readers to describe the purpose and content of the tabs."
183
- ),
184
- value: metadata.name,
185
- placeholder: (0, import_i18n.__)("Tab Contents"),
186
- onChange: (value) => {
187
- setAttributes({
188
- metadata: { ...metadata, name: value }
189
- });
190
- },
191
- __next40pxDefaultSize: true
192
- }
193
- )
194
- ] }) }),
195
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_block_editor.InspectorControls, { group: "color", children: [
196
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
197
- import_block_editor.__experimentalColorGradientSettingsDropdown,
198
- {
199
- settings: [
200
- {
201
- label: (0, import_i18n.__)("Tab Active Background"),
202
- colorValue: tabActiveColor?.color ?? customTabActiveColor,
203
- onColorChange: (value) => {
204
- setTabActiveColor(value);
205
- setAttributes({
206
- customTabActiveColor: value
207
- });
208
- }
209
- },
210
- {
211
- label: (0, import_i18n.__)("Tab Active Text"),
212
- colorValue: tabActiveTextColor?.color ?? customTabActiveTextColor,
213
- onColorChange: (value) => {
214
- setTabActiveTextColor(value);
215
- setAttributes({
216
- customTabActiveTextColor: value
217
- });
218
- }
219
- },
220
- {
221
- label: (0, import_i18n.__)("Tab Inactive Background"),
222
- colorValue: tabInactiveColor?.color ?? customTabInactiveColor,
223
- onColorChange: (value) => {
224
- setTabInactiveColor(value);
225
- setAttributes({
226
- customTabInactiveColor: value
227
- });
228
- }
229
- },
230
- {
231
- label: (0, import_i18n.__)("Tab Inactive Text"),
232
- colorValue: tabTextColor?.color ?? customTabTextColor,
233
- onColorChange: (value) => {
234
- setTabTextColor(value);
235
- setAttributes({
236
- customTabTextColor: value
237
- });
238
- }
239
- },
240
- {
241
- label: (0, import_i18n.__)("Tab Hover Background"),
242
- colorValue: tabHoverColor?.color ?? customTabHoverColor,
243
- onColorChange: (value) => {
244
- setTabHoverColor(value);
245
- setAttributes({
246
- customTabHoverColor: value
247
- });
248
- }
249
- },
250
- {
251
- label: (0, import_i18n.__)("Tab Hover Text"),
252
- colorValue: tabHoverTextColor?.color ?? customTabHoverTextColor,
253
- onColorChange: (value) => {
254
- setTabHoverTextColor(value);
255
- setAttributes({
256
- customTabHoverTextColor: value
257
- });
258
- }
259
- }
260
- ],
261
- panelId: clientId,
262
- disableCustomColors: false,
263
- __experimentalIsRenderedInSidebar: true,
264
- __next40pxDefaultSize: true,
265
- ...colorSettings
266
- }
267
- ),
268
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContrastCheckerMatrix, { attributes })
269
- ] })
67
+ ) }) })
270
68
  ] });
271
69
  }
272
70
  //# sourceMappingURL=controls.cjs.map
@@ -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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",
6
- "names": ["useMultipleOriginColorsAndGradients", "AddTabToolbarControl", "ColorGradientSettingsDropdown"]
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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAuC;AACvC,0BAAkC;AAKlC,qCAAiC;AACjC,wCAAoC;AAUlC;AARa,SAAR,SAA2B,EAAE,YAAY,eAAe,SAAS,GAAI;AAC3E,QAAM;AAAA,IACL,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,EACD,IAAI;AAEJ,SACC,4EACC;AAAA,gDAAC,+BAAAA,SAAA,EAAqB,cAAe,UAAW;AAAA,IAChD,4CAAC,kCAAAC,SAAA,EAAwB,cAAe,UAAW;AAAA,IACnD,4CAAC,yCACA,sDAAC,+BAAU,WAAQ,gBAAI,UAAW,GACjC;AAAA,MAAC;AAAA;AAAA,QACA,WAAQ,gBAAI,YAAa;AAAA,QACzB,UAAO;AAAA,UACN;AAAA,QACD;AAAA,QACA,OAAQ,SAAS;AAAA,QACjB,iBAAc,gBAAI,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
+ "names": ["AddTabToolbarControl", "RemoveTabToolbarControl"]
7
7
  }
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/block-library/src/tabs/deprecated.js
21
+ var deprecated_exports = {};
22
+ __export(deprecated_exports, {
23
+ default: () => deprecated_default
24
+ });
25
+ module.exports = __toCommonJS(deprecated_exports);
26
+ var import_block_editor = require("@wordpress/block-editor");
27
+ var import_blocks = require("@wordpress/blocks");
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ var v1Attributes = {
30
+ tabsId: {
31
+ type: "string",
32
+ default: ""
33
+ },
34
+ orientation: {
35
+ type: "string",
36
+ default: "horizontal",
37
+ enum: ["horizontal", "vertical"]
38
+ },
39
+ activeTabIndex: {
40
+ type: "number",
41
+ default: 0
42
+ },
43
+ tabInactiveColor: {
44
+ type: "string"
45
+ },
46
+ customTabInactiveColor: {
47
+ type: "string"
48
+ },
49
+ tabHoverColor: {
50
+ type: "string"
51
+ },
52
+ customTabHoverColor: {
53
+ type: "string"
54
+ },
55
+ tabActiveColor: {
56
+ type: "string"
57
+ },
58
+ customTabActiveColor: {
59
+ type: "string"
60
+ },
61
+ tabTextColor: {
62
+ type: "string"
63
+ },
64
+ customTabTextColor: {
65
+ type: "string"
66
+ },
67
+ tabActiveTextColor: {
68
+ type: "string"
69
+ },
70
+ customTabActiveTextColor: {
71
+ type: "string"
72
+ },
73
+ tabHoverTextColor: {
74
+ type: "string"
75
+ },
76
+ customTabHoverTextColor: {
77
+ type: "string"
78
+ }
79
+ };
80
+ function v1Save({ attributes }) {
81
+ const blockProps = import_block_editor.useBlockProps.save();
82
+ const innerBlocksProps = import_block_editor.useInnerBlocksProps.save({});
83
+ const title = attributes?.metadata?.name || "Tab Contents";
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...blockProps, children: [
85
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "tabs__title", children: title }),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: "tabs__list" }),
87
+ innerBlocksProps.children
88
+ ] });
89
+ }
90
+ function v1Migrate(attributes, innerBlocks) {
91
+ const tabsMenuAttributes = {
92
+ // Map inactive colors to core background/text supports
93
+ backgroundColor: attributes.tabInactiveColor,
94
+ textColor: attributes.tabTextColor,
95
+ // Map custom inactive colors
96
+ style: {
97
+ color: {
98
+ background: attributes.customTabInactiveColor,
99
+ text: attributes.customTabTextColor
100
+ }
101
+ },
102
+ // Active colors
103
+ activeBackgroundColor: attributes.tabActiveColor,
104
+ customActiveBackgroundColor: attributes.customTabActiveColor,
105
+ activeTextColor: attributes.tabActiveTextColor,
106
+ customActiveTextColor: attributes.customTabActiveTextColor,
107
+ // Hover colors
108
+ hoverBackgroundColor: attributes.tabHoverColor,
109
+ customHoverBackgroundColor: attributes.customTabHoverColor,
110
+ hoverTextColor: attributes.tabHoverTextColor,
111
+ customHoverTextColor: attributes.customTabHoverTextColor
112
+ };
113
+ if (tabsMenuAttributes.style?.color) {
114
+ if (!tabsMenuAttributes.style.color.background) {
115
+ delete tabsMenuAttributes.style.color.background;
116
+ }
117
+ if (!tabsMenuAttributes.style.color.text) {
118
+ delete tabsMenuAttributes.style.color.text;
119
+ }
120
+ if (Object.keys(tabsMenuAttributes.style.color).length === 0) {
121
+ delete tabsMenuAttributes.style.color;
122
+ }
123
+ if (Object.keys(tabsMenuAttributes.style).length === 0) {
124
+ delete tabsMenuAttributes.style;
125
+ }
126
+ }
127
+ Object.keys(tabsMenuAttributes).forEach((key) => {
128
+ if (tabsMenuAttributes[key] === void 0) {
129
+ delete tabsMenuAttributes[key];
130
+ }
131
+ });
132
+ const tabsMenuBlock = (0, import_blocks.createBlock)("core/tabs-menu", tabsMenuAttributes);
133
+ const tabPanelsBlock = (0, import_blocks.createBlock)("core/tab-panels", {}, innerBlocks);
134
+ const newAttributes = {
135
+ tabsId: attributes.tabsId,
136
+ orientation: attributes.orientation,
137
+ activeTabIndex: attributes.activeTabIndex,
138
+ metadata: attributes.metadata
139
+ };
140
+ return [newAttributes, [tabsMenuBlock, tabPanelsBlock]];
141
+ }
142
+ function v1IsEligible(attributes, innerBlocks) {
143
+ return innerBlocks.some((block) => block.name === "core/tab");
144
+ }
145
+ var deprecated = [
146
+ {
147
+ attributes: v1Attributes,
148
+ supports: {
149
+ align: true,
150
+ color: {
151
+ text: false,
152
+ background: false
153
+ },
154
+ html: false,
155
+ interactivity: true,
156
+ spacing: {
157
+ blockGap: ["horizontal", "vertical"],
158
+ margin: true,
159
+ padding: false
160
+ },
161
+ typography: {
162
+ fontSize: true,
163
+ __experimentalFontFamily: true
164
+ },
165
+ __experimentalBorder: {
166
+ radius: true,
167
+ __experimentalSkipSerialization: true,
168
+ __experimentalDefaultControls: {
169
+ radius: true
170
+ }
171
+ }
172
+ },
173
+ isEligible: v1IsEligible,
174
+ migrate: v1Migrate,
175
+ save: v1Save
176
+ }
177
+ ];
178
+ var deprecated_default = deprecated;
179
+ //# sourceMappingURL=deprecated.cjs.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
+ }
@@ -33,85 +33,107 @@ __export(edit_exports, {
33
33
  default: () => edit_default
34
34
  });
35
35
  module.exports = __toCommonJS(edit_exports);
36
- var import_clsx = __toESM(require("clsx"));
36
+ var import_i18n = require("@wordpress/i18n");
37
37
  var import_block_editor = require("@wordpress/block-editor");
38
- var import_style_engine = __toESM(require("./style-engine.cjs"));
38
+ var import_data = require("@wordpress/data");
39
+ var import_element = require("@wordpress/element");
39
40
  var import_controls = __toESM(require("./controls.cjs"));
40
41
  var import_jsx_runtime = require("react/jsx-runtime");
41
- var TABS_TEMPLATE = [["core/tab", {}]];
42
- var DEFAULT_BLOCK = {
43
- name: "core/tab",
44
- attributesToCopy: ["className", "fontFamily", "fontSize"]
45
- };
42
+ var TABS_TEMPLATE = [
43
+ [
44
+ "core/tabs-menu",
45
+ {
46
+ lock: {
47
+ remove: true
48
+ }
49
+ }
50
+ ],
51
+ [
52
+ "core/tab-panels",
53
+ {
54
+ lock: {
55
+ remove: true
56
+ }
57
+ },
58
+ [
59
+ [
60
+ "core/tab",
61
+ {
62
+ anchor: "tab-1",
63
+ label: "Tab 1"
64
+ },
65
+ [
66
+ [
67
+ "core/paragraph",
68
+ {
69
+ placeholder: (0, import_i18n.__)("Type / to add a block to tab")
70
+ }
71
+ ]
72
+ ]
73
+ ]
74
+ ]
75
+ ]
76
+ ];
46
77
  function Edit({
47
78
  clientId,
48
79
  attributes,
49
80
  setAttributes,
50
- tabInactiveColor,
51
- setTabInactiveColor,
52
- tabHoverColor,
53
- setTabHoverColor,
54
- tabActiveColor,
55
- setTabActiveColor,
56
- tabTextColor,
57
- setTabTextColor,
58
- tabActiveTextColor,
59
- setTabActiveTextColor,
60
- tabHoverTextColor,
61
- setTabHoverTextColor
81
+ __unstableLayoutClassNames: layoutClassNames
62
82
  }) {
63
- const { style, orientation } = attributes;
64
- const blockProps = (0, import_block_editor.useBlockProps)({
65
- className: (0, import_clsx.default)(
66
- "vertical" === orientation ? "is-vertical" : "is-horizontal"
67
- ),
68
- style: {
69
- ...style
83
+ const { anchor, activeTabIndex, editorActiveTabIndex } = attributes;
84
+ (0, import_element.useEffect)(() => {
85
+ if (editorActiveTabIndex === void 0) {
86
+ setAttributes({ editorActiveTabIndex: activeTabIndex });
70
87
  }
88
+ }, []);
89
+ const tabsList = (0, import_data.useSelect)(
90
+ (select) => {
91
+ const { getBlocks } = select(import_block_editor.store);
92
+ const innerBlocks = getBlocks(clientId);
93
+ const tabPanels = innerBlocks.find(
94
+ (block) => block.name === "core/tab-panels"
95
+ );
96
+ if (!tabPanels) {
97
+ return [];
98
+ }
99
+ return tabPanels.innerBlocks.filter((block) => block.name === "core/tab").map((tab, index) => ({
100
+ id: tab.attributes.anchor || `tab-${index}`,
101
+ label: tab.attributes.label || "",
102
+ clientId: tab.clientId,
103
+ index
104
+ }));
105
+ },
106
+ [clientId]
107
+ );
108
+ const contextValue = (0, import_element.useMemo)(
109
+ () => ({
110
+ "core/tabs-list": tabsList,
111
+ "core/tabs-id": anchor,
112
+ "core/tabs-activeTabIndex": activeTabIndex,
113
+ "core/tabs-editorActiveTabIndex": editorActiveTabIndex
114
+ }),
115
+ [tabsList, anchor, activeTabIndex, editorActiveTabIndex]
116
+ );
117
+ const blockProps = (0, import_block_editor.useBlockProps)({
118
+ className: layoutClassNames
71
119
  });
72
120
  const innerBlockProps = (0, import_block_editor.useInnerBlocksProps)(blockProps, {
73
- defaultBlock: DEFAULT_BLOCK,
74
- directInsert: true,
75
- __experimentalCaptureToolbars: true,
76
- clientId,
77
- orientation,
78
121
  template: TABS_TEMPLATE,
79
- renderAppender: false
80
- // Appender is rendered by individual tab blocks.
122
+ templateLock: false,
123
+ renderAppender: false,
124
+ __experimentalCaptureToolbars: true
81
125
  });
82
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...innerBlockProps, children: [
83
- innerBlockProps.children,
84
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_style_engine.default, { attributes, clientId }),
126
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockContextProvider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...innerBlockProps, children: [
85
127
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
86
128
  import_controls.default,
87
129
  {
88
- ...{
89
- clientId,
90
- attributes,
91
- setAttributes,
92
- tabInactiveColor,
93
- setTabInactiveColor,
94
- tabHoverColor,
95
- setTabHoverColor,
96
- tabActiveColor,
97
- setTabActiveColor,
98
- tabTextColor,
99
- setTabTextColor,
100
- tabActiveTextColor,
101
- setTabActiveTextColor,
102
- tabHoverTextColor,
103
- setTabHoverTextColor
104
- }
130
+ clientId,
131
+ attributes,
132
+ setAttributes
105
133
  }
106
- )
134
+ ),
135
+ innerBlockProps.children
107
136
  ] }) });
108
137
  }
109
- var edit_default = (0, import_block_editor.withColors)(
110
- "tabInactiveColor",
111
- "tabHoverColor",
112
- "tabActiveColor",
113
- "tabTextColor",
114
- "tabActiveTextColor",
115
- "tabHoverTextColor"
116
- )(Edit);
138
+ var edit_default = Edit;
117
139
  //# sourceMappingURL=edit.cjs.map