PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | build/widgets/site-preview/render.js +42 -39 24.0.0 → trunk View file →
@@ -117,23 +117,34 @@
117 117 return n;
118 118 }
119 119 var clsx_default = clsx;
120 120
121 -// node_modules/@base-ui/utils/error.mjs
122 -var set;
121 +// node_modules/@base-ui/utils/createLogOnce.mjs
122 +var loggedMessages;
123 123 if (true) {
124 - set = /* @__PURE__ */ new Set();
124 + loggedMessages = /* @__PURE__ */ new Set();
125 125 }
126 -function error(...messages) {
127 - if (true) {
128 - const messageKey = messages.join(" ");
129 - if (!set.has(messageKey)) {
130 - set.add(messageKey);
131 - console.error(`Base UI: ${messageKey}`);
126 +function createLogOnce(severity, prefix) {
127 + return function logOnce(...messages) {
128 + if (true) {
129 + const message = messages.join(" ");
130 + const output = prefix ? `${prefix}: ${message}` : message;
131 + const key = `${severity}:${output}`;
132 + if (!loggedMessages.has(key)) {
133 + loggedMessages.add(key);
134 + if (severity === "warn") {
135 + console.warn(output);
136 + } else {
137 + console.error(output);
138 + }
139 + }
132 140 }
133 - }
141 + };
134 142 }
135 143
144 +// node_modules/@base-ui/utils/error.mjs
145 +var error = createLogOnce("error", "Base UI");
146 +
136 147 // node_modules/@base-ui/utils/safeReact.mjs
137 148 var React = __toESM(require_react(), 1);
138 149 var SafeReact = {
139 150 ...React
@@ -183,22 +194,14 @@
183 194 }
184 195 }
185 196
186 197 // node_modules/@base-ui/utils/warn.mjs
187 -var set2;
188 -if (true) {
189 - set2 = /* @__PURE__ */ new Set();
190 -}
191 -function warn(...messages) {
192 - if (true) {
193 - const messageKey = messages.join(" ");
194 - if (!set2.has(messageKey)) {
195 - set2.add(messageKey);
196 - console.warn(`Base UI: ${messageKey}`);
197 - }
198 - }
199 -}
198 +var warn = createLogOnce("warn", "Base UI");
200 199
200 +// node_modules/@base-ui/utils/empty.mjs
201 +var EMPTY_ARRAY = Object.freeze([]);
202 +var EMPTY_OBJECT = Object.freeze({});
203 +
201 204 // node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
202 205 var React3 = __toESM(require_react(), 1);
203 206 var noop = () => {
204 207 };
@@ -332,12 +335,8 @@
332 335 }
333 336 return void 0;
334 337 }
335 338
336 -// node_modules/@base-ui/utils/empty.mjs
337 -var EMPTY_ARRAY = Object.freeze([]);
338 -var EMPTY_OBJECT = Object.freeze({});
339 -
340 339 // node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
341 340 function getStateAttributesProps(state, customMapping) {
342 341 const props = {};
343 342 for (const key in state) {
@@ -525,10 +524,13 @@
525 524
526 525 // node_modules/@base-ui/react/internals/useRenderElement.mjs
527 526 var import_react = __toESM(require_react(), 1);
528 527 function useRenderElement(element, componentProps, params = {}) {
529 - const renderProp = componentProps.render;
530 - const outProps = useRenderElementProps(componentProps, params);
528 + let renderProp = componentProps.render;
529 + if (params.enabled !== false) {
530 + renderProp = unwrapLazyRenderProp(renderProp);
531 + }
532 + const outProps = useRenderElementProps(componentProps, params, renderProp);
531 533 if (params.enabled === false) {
532 534 return null;
533 535 }
534 536 const state = params.state ?? EMPTY_OBJECT;
@@ -533,13 +535,12 @@
533 535 }
534 536 const state = params.state ?? EMPTY_OBJECT;
535 537 return evaluateRenderProp(element, renderProp, outProps, state);
536 538 }
537 -function useRenderElementProps(componentProps, params = {}) {
539 +function useRenderElementProps(componentProps, params, renderProp) {
538 540 const {
539 541 className: classNameProp,
540 - style: styleProp,
541 - render: renderProp
542 + style: styleProp
542 543 } = componentProps;
543 544 const {
544 545 state = EMPTY_OBJECT,
545 546 ref,
@@ -580,8 +581,15 @@
580 581 }
581 582 var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
582 583 var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
583 584 var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
585 +function unwrapLazyRenderProp(render) {
586 + if (render?.$$typeof !== REACT_LAZY_TYPE) {
587 + return render;
588 + }
589 + const unwrapped = React6.Children.toArray(render)[0];
590 + return /* @__PURE__ */ React6.isValidElement(unwrapped) ? unwrapped : render;
591 +}
584 592 function evaluateRenderProp(element, render, props, state) {
585 593 if (render) {
586 594 if (typeof render === "function") {
587 595 if (true) {
@@ -590,19 +598,14 @@
590 598 return render(props, state);
591 599 }
592 600 const mergedProps = mergeProps(props, render.props);
593 601 mergedProps.ref = props.ref;
594 - let newElement = render;
595 - if (newElement?.$$typeof === REACT_LAZY_TYPE) {
596 - const children = React6.Children.toArray(render);
597 - newElement = children[0];
598 - }
599 602 if (true) {
600 - if (!/* @__PURE__ */ React6.isValidElement(newElement)) {
603 + if (!/* @__PURE__ */ React6.isValidElement(render)) {
601 604 throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n"));
602 605 }
603 606 }
604 - return /* @__PURE__ */ React6.cloneElement(newElement, mergedProps);
607 + return /* @__PURE__ */ React6.cloneElement(render, mergedProps);
605 608 }
606 609 if (element) {
607 610 if (typeof element === "string") {
608 611 return renderTag(element, props);