@eightshift/ui-components 1.0.6 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/{Button-eebLs4cp.js → Button-CbFrFO04.js} +5 -5
- package/dist/{Checkbox-BN0TEda-.js → Checkbox-Cv3pZDHg.js} +12 -16
- package/dist/{ColorSwatch-BrowHhTG.js → ColorSwatch-CNQmCQV8.js} +6 -7
- package/dist/{FieldError-ILxgMZy5.js → FieldError-J1-YPbi6.js} +2 -2
- package/dist/{FocusScope-B9b0VMib.js → FocusScope-Bw-IatMO.js} +79 -153
- package/dist/{GridList-CzpWxJsS.js → GridList-CEzzyr-l.js} +62 -90
- package/dist/{Group-Dkdm2-E7.js → Group-D3Qa6PrV.js} +3 -3
- package/dist/{Input-BJA4rmIo.js → Input-CX_rocyZ.js} +8 -8
- package/dist/{Label-9x5iLJ-Y.js → Label-Bg5O81Wb.js} +1 -1
- package/dist/{ListBox-D3Vr4vvC.js → ListBox-CCWXTj0t.js} +391 -598
- package/dist/{LiveAnnouncer-IsokfWQ5.js → LiveAnnouncer-D8h-3GrG.js} +12 -22
- package/dist/{NumberFormatter-LzoKy975.js → NumberFormatter-U_Gx0UDq.js} +26 -44
- package/dist/{Select-49a62830.esm-CKPmlkza.js → Select-49a62830.esm-BnlXlUnT.js} +92 -166
- package/dist/{SelectionManager-sedvcM-1.js → SelectionManager-XOAt-Ekx.js} +219 -401
- package/dist/{Separator-B6rnDabE.js → Separator-DZeg0KOr.js} +41 -72
- package/dist/{Slider-C5U5N7uM.js → Slider-fULMI0gI.js} +51 -82
- package/dist/{Text-Cyxp9ewv.js → Text-WqetJduR.js} +1 -1
- package/dist/{VisuallyHidden-BPJVSUyp.js → VisuallyHidden-Di1zXprL.js} +8 -11
- package/dist/{ariaHideOutside-ByKBPHmX.js → ariaHideOutside-Zn64-frS.js} +20 -36
- package/dist/assets/style.css +1 -1
- package/dist/assets/wp-font-enhancements.css +1 -1
- package/dist/assets/wp-ui-enhancements.css +1 -1
- package/dist/{button-idVI4jmd.js → button-CD8Q1eok.js} +17 -29
- package/dist/components/animated-visibility/animated-visibility.js +125 -113
- package/dist/components/base-control/base-control.js +3 -9
- package/dist/components/breakpoint-preview/breakpoint-preview.js +51 -108
- package/dist/components/button/button.js +6 -6
- package/dist/components/checkbox/checkbox.js +2 -2
- package/dist/components/color-pickers/color-picker.js +2 -2
- package/dist/components/color-pickers/color-swatch.js +5 -9
- package/dist/components/color-pickers/gradient-editor.js +15 -29
- package/dist/components/color-pickers/solid-color-picker.js +81 -128
- package/dist/components/component-toggle/component-toggle.js +4 -4
- package/dist/components/container-panel/container-panel.js +4 -11
- package/dist/components/draggable-list/draggable-list-item.js +4 -4
- package/dist/components/draggable-list/draggable-list.js +5 -5
- package/dist/components/expandable/expandable.js +45 -57
- package/dist/components/index.js +3 -3
- package/dist/components/input-field/input-field.js +11 -26
- package/dist/components/layout/hstack.js +2 -12
- package/dist/components/layout/vstack.js +2 -12
- package/dist/components/link-input/link-input.js +36 -53
- package/dist/components/list-box/list-box.js +4 -4
- package/dist/components/matrix-align/matrix-align.js +6 -10
- package/dist/components/menu/menu.js +101 -170
- package/dist/components/notice/notice.js +1 -1
- package/dist/components/number-picker/number-picker.js +15 -15
- package/dist/components/option-select/option-select.js +48 -64
- package/dist/components/options-panel/options-panel.js +3 -3
- package/dist/components/placeholders/file-placeholder.js +2 -2
- package/dist/components/placeholders/image-placeholder.js +1 -1
- package/dist/components/placeholders/media-placeholder.js +1 -1
- package/dist/components/popover/popover.js +4 -4
- package/dist/components/radio/radio.js +25 -38
- package/dist/components/repeater/repeater-item.js +6 -17
- package/dist/components/repeater/repeater.js +6 -7
- package/dist/components/responsive/responsive-legacy.js +6 -12
- package/dist/components/responsive/responsive.js +21 -48
- package/dist/components/responsive-preview/responsive-preview.js +1 -1
- package/dist/components/rich-label/rich-label.js +2 -8
- package/dist/components/select/async-multi-select.js +3 -3
- package/dist/components/select/async-single-select.js +2 -2
- package/dist/components/select/custom-select-default-components.js +2 -2
- package/dist/components/select/multi-select-components.js +2 -2
- package/dist/components/select/multi-select.js +3 -3
- package/dist/components/select/react-select-component-wrappers.js +9 -9
- package/dist/components/select/single-select.js +2 -2
- package/dist/components/select/styles.js +3 -10
- package/dist/components/slider/column-config-slider.js +4 -4
- package/dist/components/slider/slider.js +5 -8
- package/dist/components/slider/utils.js +2 -6
- package/dist/components/spacer/spacer.js +2 -7
- package/dist/components/tabs/tabs.js +29 -50
- package/dist/components/toggle/switch.js +8 -8
- package/dist/components/toggle/toggle.js +1 -1
- package/dist/components/toggle-button/toggle-button.js +8 -22
- package/dist/components/tooltip/tooltip.js +4 -4
- package/dist/{context-BAcFg5GO.js → context-4oSz1ItD.js} +10 -16
- package/dist/{default-i18n-Bk1GxDHz.js → default-i18n-BqwLkgZv.js} +21 -22
- package/dist/{filterDOMProps-DG2RfOUr.js → filterDOMProps-EDDcM64A.js} +1 -3
- package/dist/{focusSafely-B0hyd-S4.js → focusSafely-BS4dllCW.js} +85 -143
- package/dist/icons/generic-color-swatch.js +105 -13
- package/dist/icons/icons.js +31010 -3447
- package/dist/icons/jsx-svg.js +591 -953
- package/dist/{index-BDk0TPWz.js → index-CAPcSs9K.js} +1504 -2087
- package/dist/{index-a301f526.esm-BzTuHLdr.js → index-a301f526.esm-ByOfDxiG.js} +111 -183
- package/dist/index.js +3 -3
- package/dist/{intlStrings-Ctkp0HDc.js → intlStrings-Dxaeitoh.js} +35 -60
- package/dist/{isScrollable-PcyglExV.js → isScrollable-Dh9D9IOd.js} +1 -2
- package/dist/lite-DVmmD_-j.js +7 -0
- package/dist/{multi-select-components-nORKdJ-2.js → multi-select-components-7vKCF8dG.js} +3 -3
- package/dist/{number-rWqELA8W.js → number-CHmNj-oR.js} +3 -6
- package/dist/{popover-o2Q28Ljn.js → popover-Dk2o4S7K.js} +70 -112
- package/dist/{react-select-async.esm-CLj9uZTq.js → react-select-async.esm-5zW9Dv9E.js} +7 -11
- package/dist/{react-select.esm-3tyTZmrx.js → react-select.esm-Bi6uzjbT.js} +3 -3
- package/dist/{textSelection-BRZdHY-4.js → textSelection-exP_9srp.js} +5 -9
- package/dist/{tooltip-T6H9uF-Z.js → tooltip-BRQ4tvZL.js} +64 -111
- package/dist/{useButton-D-xACzEY.js → useButton-DbjDV_33.js} +19 -22
- package/dist/{useEvent-XlYPKgwX.js → useEvent-zvxfEnmK.js} +2 -3
- package/dist/{useFocusRing-CRx_hYC4.js → useFocusRing-SPRI0-SN.js} +1 -1
- package/dist/{useFocusable-CHfpEdlE.js → useFocusable-CLmhO94g.js} +5 -8
- package/dist/{useFormReset-aHn6-wRk.js → useFormReset-BVWgcyGO.js} +2 -3
- package/dist/{useFormValidationState-CdYmOaXI.js → useFormValidationState-CthG9Fbc.js} +20 -38
- package/dist/{useHasTabbableChild-domoFB7A.js → useHasTabbableChild--gkWUICh.js} +2 -2
- package/dist/{useLabel-DVhXVhtH.js → useLabel-g836T8kL.js} +3 -4
- package/dist/{useLabels-C7E5SkOi.js → useLabels-CfOtyOe2.js} +3 -5
- package/dist/{useListData-BelKu4kx.js → useListData-BpYQj7kK.js} +18 -32
- package/dist/{useListState-BRsq7O1C.js → useListState-DnWZa__1.js} +6 -12
- package/dist/{useLocalizedStringFormatter-WsEL47qR.js → useLocalizedStringFormatter-BQCMno9k.js} +12 -21
- package/dist/{useNumberFieldState-ZH2Qyyxh.js → useNumberFieldState-BegO5X6F.js} +75 -132
- package/dist/{useNumberFormatter-mhdYLxWQ.js → useNumberFormatter-DhOGEsEK.js} +2 -2
- package/dist/{usePress-B42RawCH.js → usePress-CScNeV3V.js} +92 -175
- package/dist/{useToggle-CExfZM8x.js → useToggle-6LnpaJ7-.js} +6 -7
- package/dist/{useToggleState-DghG5ImG.js → useToggleState-Cymkpac8.js} +3 -5
- package/dist/utilities/array-helpers.js +1 -1
- package/dist/utilities/index.js +1 -1
- package/dist/utilities/text-helpers.js +20 -20
- package/dist/{utils-DIBzm1e4.js → utils-Dc35LwuT.js} +49 -90
- package/package.json +96 -90
- package/dist/lite-pbIeT7tm.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
.edit-post-header,.components-popover,.edit-post-sidebar,.wp-block-post-title,.components-select-control__input,.components-base-control__field,.components-base-control__label,.components-combobox-control__suggestions-container,.components-input-control__label,.components-input-control__input,.components-checkbox-control__label,.components-menu-group__label,.components-menu-item__button,.components-notice .components-notice__content,.components-tooltip,.components-modal__header,.preferences-modal__section-title,.preferences-modal__section-description,.block-editor-inserter__tabs,.editor-list-view-sidebar,.edit-post-layout__footer,.components-snackbar,.components-text-control__input{font-family:Geist,ui-sans-serif,system-ui,sans-serif,
|
|
1
|
+
.edit-post-header,.components-popover,.edit-post-sidebar,.wp-block-post-title,.components-select-control__input,.components-base-control__field,.components-base-control__label,.components-combobox-control__suggestions-container,.components-input-control__label,.components-input-control__input,.components-checkbox-control__label,.components-menu-group__label,.components-menu-item__button,.components-notice .components-notice__content,.components-tooltip,.components-modal__header,.preferences-modal__section-title,.preferences-modal__section-description,.block-editor-inserter__tabs,.editor-list-view-sidebar,.edit-post-layout__footer,.components-snackbar,.components-text-control__input{font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body.wp-admin{font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.edit-post-header__toolbar .components-button,.edit-post-header__settings .components-button,.edit-post-sidebar .components-button:not(.components-panel__body-toggle,.editor-post-last-revision__title),.components-snackbar,.components-toggle-group-control,.editor-post-publish-panel .components-button{border-radius:.375rem!important}.components-input-control__container,.components-combobox-control__suggestions-container,.components-checkbox-control__input,.components-tooltip,button.components-toggle-group-control-option-base,.editor-post-visibility__password-input{border-radius:.25rem!important}.components-button-group .components-button:first-child{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.components-button-group .components-button:last-child{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.components-popover__content{border-radius:.5rem!important}.block-editor-inserter__search{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.components-base-control__label,.components-input-control__label,.components-custom-select-control__label{
|
|
1
|
+
.edit-post-header__toolbar .components-button,.edit-post-header__settings .components-button,.edit-post-sidebar .components-button:not(:-webkit-any(.components-panel__body-toggle,.editor-post-last-revision__title)),.components-snackbar,.components-toggle-group-control,.editor-post-publish-panel .components-button{border-radius:.375rem!important}.edit-post-header__toolbar .components-button,.edit-post-header__settings .components-button,.edit-post-sidebar .components-button:not(:-moz-any(.components-panel__body-toggle,.editor-post-last-revision__title)),.components-snackbar,.components-toggle-group-control,.editor-post-publish-panel .components-button{border-radius:.375rem!important}.edit-post-header__toolbar .components-button,.edit-post-header__settings .components-button,.edit-post-sidebar .components-button:not(:is(.components-panel__body-toggle,.editor-post-last-revision__title)),.components-snackbar,.components-toggle-group-control,.editor-post-publish-panel .components-button{border-radius:.375rem!important}.components-input-control__container,.components-combobox-control__suggestions-container,.components-checkbox-control__input,.components-tooltip,button.components-toggle-group-control-option-base,.editor-post-visibility__password-input{border-radius:.25rem!important}.components-button-group .components-button:first-child{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.components-button-group .components-button:last-child{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.components-popover__content{border-radius:.5rem!important}.block-editor-inserter__search{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.components-base-control__label,.components-input-control__label,.components-custom-select-control__label{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:400!important}.edit-post-sidebar{width:20rem!important}.block-list-appender.wp-block{padding:.25rem!important;position:static!important}.components-dropdown.block-editor-inserter{width:-moz-fit-content!important;width:fit-content!important;margin-left:auto!important;margin-right:auto!important}.block-editor-block-list__block-crash-warning{--tw-shadow:var(--tw-shadow-colored)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;--tw-shadow-color:#b91c1c1a!important;border-color:#b91c1c26!important;border-radius:.5rem!important}.block-editor-block-list__block-crash-warning .block-editor-warning__message{--tw-text-opacity:1!important;color:rgb(69 10 10/var(--tw-text-opacity))!important}.block-editor-block-contextual-toolbar,.block-editor-block-parent-selector__button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:.5rem!important}.block-editor-block-types-list .block-editor-block-types-list__item{border-radius:.5rem!important}.block-editor-block-types-list .block-editor-block-types-list__item:after{content:var(--tw-content)!important;border-radius:.5rem!important}.block-editor-block-types-list .block-editor-block-types-list__item svg{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.block-editor-list-view-tree .block-editor-block-icon{border-radius:.25rem!important}.block-editor-list-view-tree .block-editor-list-view-leaf>:first-child{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.block-editor-list-view-tree .block-editor-list-view-leaf>:last-child{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.block-editor-block-inspector .block-editor-block-card .block-editor-block-icon{border-radius:.25rem!important}.block-list-appender.wp-block>.block-editor-default-block-appender{width:-moz-fit-content;width:fit-content}.block-list-appender.wp-block>.block-editor-default-block-appender .block-editor-inserter__toggle{width:2.25rem!important;height:2.25rem!important}.block-list-appender.wp-block>.block-editor-default-block-appender .block-editor-inserter__toggle{border-radius:.375rem!important}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { a as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "./Button-
|
|
3
|
-
import { g as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, a as $64fa3d84918910a7$export$29f1550f4b0d4415, c as $64fa3d84918910a7$export$4d86445c2cf5e3, d as $3ef42575df84b30b$export$9d1611c77c2fe928, l as $df56164dff5785e2$export$4338b53315abf666 } from "./utils-
|
|
4
|
-
import { b as $9bf71ea28793e738$export$c5251b9e124bf29 } from "./FocusScope-
|
|
2
|
+
import { a as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "./Button-CbFrFO04.js";
|
|
3
|
+
import { g as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, a as $64fa3d84918910a7$export$29f1550f4b0d4415, c as $64fa3d84918910a7$export$4d86445c2cf5e3, d as $3ef42575df84b30b$export$9d1611c77c2fe928, l as $df56164dff5785e2$export$4338b53315abf666 } from "./utils-Dc35LwuT.js";
|
|
4
|
+
import { b as $9bf71ea28793e738$export$c5251b9e124bf29 } from "./FocusScope-Bw-IatMO.js";
|
|
5
5
|
import React__default, { useState, useRef, forwardRef, createContext } from "react";
|
|
6
|
-
import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./context-
|
|
7
|
-
import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "./filterDOMProps-
|
|
8
|
-
import { c as clsx } from "./lite-
|
|
9
|
-
import { T as Tooltip } from "./tooltip-
|
|
10
|
-
import { _ as __ } from "./default-i18n-
|
|
6
|
+
import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./context-4oSz1ItD.js";
|
|
7
|
+
import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "./filterDOMProps-EDDcM64A.js";
|
|
8
|
+
import { c as clsx } from "./lite-DVmmD_-j.js";
|
|
9
|
+
import { T as Tooltip } from "./tooltip-BRQ4tvZL.js";
|
|
10
|
+
import { _ as __ } from "./default-i18n-BqwLkgZv.js";
|
|
11
11
|
function $2680b1829e803644$export$fa142eb1681c520(props, ref) {
|
|
12
12
|
const { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, orientation = "horizontal" } = props;
|
|
13
13
|
let [isInToolbar, setInToolbar] = useState(false);
|
|
@@ -19,25 +19,18 @@ function $2680b1829e803644$export$fa142eb1681c520(props, ref) {
|
|
|
19
19
|
const shouldReverse = direction === "rtl" && orientation === "horizontal";
|
|
20
20
|
let focusManager = $9bf71ea28793e738$export$c5251b9e124bf29(ref);
|
|
21
21
|
const onKeyDown = (e) => {
|
|
22
|
-
if (!e.currentTarget.contains(e.target))
|
|
23
|
-
return;
|
|
22
|
+
if (!e.currentTarget.contains(e.target)) return;
|
|
24
23
|
if (orientation === "horizontal" && e.key === "ArrowRight" || orientation === "vertical" && e.key === "ArrowDown") {
|
|
25
|
-
if (shouldReverse)
|
|
26
|
-
|
|
27
|
-
else
|
|
28
|
-
focusManager.focusNext();
|
|
24
|
+
if (shouldReverse) focusManager.focusPrevious();
|
|
25
|
+
else focusManager.focusNext();
|
|
29
26
|
} else if (orientation === "horizontal" && e.key === "ArrowLeft" || orientation === "vertical" && e.key === "ArrowUp") {
|
|
30
|
-
if (shouldReverse)
|
|
31
|
-
|
|
32
|
-
else
|
|
33
|
-
focusManager.focusPrevious();
|
|
27
|
+
if (shouldReverse) focusManager.focusNext();
|
|
28
|
+
else focusManager.focusPrevious();
|
|
34
29
|
} else if (e.key === "Tab") {
|
|
35
30
|
e.stopPropagation();
|
|
36
31
|
lastFocused.current = document.activeElement;
|
|
37
|
-
if (e.shiftKey)
|
|
38
|
-
|
|
39
|
-
else
|
|
40
|
-
focusManager.focusLast();
|
|
32
|
+
if (e.shiftKey) focusManager.focusFirst();
|
|
33
|
+
else focusManager.focusLast();
|
|
41
34
|
return;
|
|
42
35
|
} else
|
|
43
36
|
return;
|
|
@@ -46,8 +39,7 @@ function $2680b1829e803644$export$fa142eb1681c520(props, ref) {
|
|
|
46
39
|
};
|
|
47
40
|
const lastFocused = useRef(null);
|
|
48
41
|
const onBlur = (e) => {
|
|
49
|
-
if (!e.currentTarget.contains(e.relatedTarget) && !lastFocused.current)
|
|
50
|
-
lastFocused.current = e.target;
|
|
42
|
+
if (!e.currentTarget.contains(e.relatedTarget) && !lastFocused.current) lastFocused.current = e.target;
|
|
51
43
|
};
|
|
52
44
|
const onFocus = (e) => {
|
|
53
45
|
var _ref_current;
|
|
@@ -270,11 +262,7 @@ const ButtonGroup = ({ children, className, vertical, hidden, ...rest }) => {
|
|
|
270
262
|
return /* @__PURE__ */ jsx(
|
|
271
263
|
$13c3c67164f4d5be$export$4c260019440d418f,
|
|
272
264
|
{
|
|
273
|
-
className: clsx(
|
|
274
|
-
"es-uic-flex",
|
|
275
|
-
vertical ? "es-uic-button-group-v es-uic-flex-col" : "es-uic-button-group-h",
|
|
276
|
-
className
|
|
277
|
-
),
|
|
265
|
+
className: clsx("es-uic-flex", vertical ? "es-uic-button-group-v es-uic-flex-col" : "es-uic-button-group-h", className),
|
|
278
266
|
orientation: vertical ? "vertical" : "horizontal",
|
|
279
267
|
...rest,
|
|
280
268
|
children
|
|
@@ -164,7 +164,12 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
|
|
|
164
164
|
return { schedule, cancel, state, steps: steps2 };
|
|
165
165
|
}
|
|
166
166
|
const { schedule: microtask, cancel: cancelMicrotask } = createRenderBatcher(queueMicrotask, false);
|
|
167
|
-
function
|
|
167
|
+
function isRefObject(ref) {
|
|
168
|
+
return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
|
|
169
|
+
}
|
|
170
|
+
const SwitchLayoutGroupContext = createContext({});
|
|
171
|
+
let scheduleHandoffComplete = false;
|
|
172
|
+
function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor) {
|
|
168
173
|
const { visualElement: parent } = useContext(MotionContext);
|
|
169
174
|
const lazyContext = useContext(LazyContext);
|
|
170
175
|
const presenceContext = useContext(PresenceContext);
|
|
@@ -182,6 +187,10 @@ function useVisualElement(Component2, visualState, props, createVisualElement) {
|
|
|
182
187
|
});
|
|
183
188
|
}
|
|
184
189
|
const visualElement = visualElementRef.current;
|
|
190
|
+
const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);
|
|
191
|
+
if (visualElement && !visualElement.projection && ProjectionNodeConstructor && (visualElement.type === "html" || visualElement.type === "svg")) {
|
|
192
|
+
createProjectionNode$1(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);
|
|
193
|
+
}
|
|
185
194
|
useInsertionEffect(() => {
|
|
186
195
|
visualElement && visualElement.update(props, presenceContext);
|
|
187
196
|
});
|
|
@@ -189,6 +198,7 @@ function useVisualElement(Component2, visualState, props, createVisualElement) {
|
|
|
189
198
|
useIsomorphicLayoutEffect(() => {
|
|
190
199
|
if (!visualElement)
|
|
191
200
|
return;
|
|
201
|
+
visualElement.updateFeatures();
|
|
192
202
|
microtask.render(visualElement.render);
|
|
193
203
|
if (wantsHandoff.current && visualElement.animationState) {
|
|
194
204
|
visualElement.animationState.animateChanges();
|
|
@@ -197,26 +207,59 @@ function useVisualElement(Component2, visualState, props, createVisualElement) {
|
|
|
197
207
|
useEffect(() => {
|
|
198
208
|
if (!visualElement)
|
|
199
209
|
return;
|
|
200
|
-
visualElement.updateFeatures();
|
|
201
210
|
if (!wantsHandoff.current && visualElement.animationState) {
|
|
202
211
|
visualElement.animationState.animateChanges();
|
|
203
212
|
}
|
|
204
213
|
if (wantsHandoff.current) {
|
|
205
214
|
wantsHandoff.current = false;
|
|
206
|
-
|
|
215
|
+
if (!scheduleHandoffComplete) {
|
|
216
|
+
scheduleHandoffComplete = true;
|
|
217
|
+
queueMicrotask(completeHandoff);
|
|
218
|
+
}
|
|
207
219
|
}
|
|
208
220
|
});
|
|
209
221
|
return visualElement;
|
|
210
222
|
}
|
|
211
|
-
function
|
|
212
|
-
|
|
223
|
+
function completeHandoff() {
|
|
224
|
+
window.HandoffComplete = true;
|
|
225
|
+
}
|
|
226
|
+
function createProjectionNode$1(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {
|
|
227
|
+
const { layoutId, layout: layout2, drag: drag2, dragConstraints, layoutScroll, layoutRoot } = props;
|
|
228
|
+
visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(visualElement.parent));
|
|
229
|
+
visualElement.projection.setOptions({
|
|
230
|
+
layoutId,
|
|
231
|
+
layout: layout2,
|
|
232
|
+
alwaysMeasureLayout: Boolean(drag2) || dragConstraints && isRefObject(dragConstraints),
|
|
233
|
+
visualElement,
|
|
234
|
+
scheduleRender: () => visualElement.scheduleRender(),
|
|
235
|
+
/**
|
|
236
|
+
* TODO: Update options in an effect. This could be tricky as it'll be too late
|
|
237
|
+
* to update by the time layout animations run.
|
|
238
|
+
* We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
|
|
239
|
+
* ensuring it gets called if there's no potential layout animations.
|
|
240
|
+
*
|
|
241
|
+
*/
|
|
242
|
+
animationType: typeof layout2 === "string" ? layout2 : "both",
|
|
243
|
+
initialPromotionConfig,
|
|
244
|
+
layoutScroll,
|
|
245
|
+
layoutRoot
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
function getClosestProjectingNode(visualElement) {
|
|
249
|
+
if (!visualElement)
|
|
250
|
+
return void 0;
|
|
251
|
+
return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
|
|
213
252
|
}
|
|
214
253
|
function useMotionRef(visualState, visualElement, externalRef) {
|
|
215
254
|
return useCallback(
|
|
216
255
|
(instance) => {
|
|
217
256
|
instance && visualState.mount && visualState.mount(instance);
|
|
218
257
|
if (visualElement) {
|
|
219
|
-
|
|
258
|
+
if (instance) {
|
|
259
|
+
visualElement.mount(instance);
|
|
260
|
+
} else {
|
|
261
|
+
visualElement.unmount();
|
|
262
|
+
}
|
|
220
263
|
}
|
|
221
264
|
if (externalRef) {
|
|
222
265
|
if (typeof externalRef === "function") {
|
|
@@ -308,8 +351,22 @@ function loadFeatures(features) {
|
|
|
308
351
|
}
|
|
309
352
|
}
|
|
310
353
|
const LayoutGroupContext = createContext({});
|
|
311
|
-
const SwitchLayoutGroupContext = createContext({});
|
|
312
354
|
const motionComponentSymbol = Symbol.for("motionComponentSymbol");
|
|
355
|
+
const noop = (any) => any;
|
|
356
|
+
let warning = noop;
|
|
357
|
+
let invariant = noop;
|
|
358
|
+
if (process.env.NODE_ENV !== "production") {
|
|
359
|
+
warning = (check, message) => {
|
|
360
|
+
if (!check && typeof console !== "undefined") {
|
|
361
|
+
console.warn(message);
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
invariant = (check, message) => {
|
|
365
|
+
if (!check) {
|
|
366
|
+
throw new Error(message);
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
}
|
|
313
370
|
function createMotionComponent({ preloadedFeatures: preloadedFeatures2, createVisualElement, useRender, useVisualState, Component: Component2 }) {
|
|
314
371
|
preloadedFeatures2 && loadFeatures(preloadedFeatures2);
|
|
315
372
|
function MotionComponent(props, externalRef) {
|
|
@@ -323,18 +380,10 @@ function createMotionComponent({ preloadedFeatures: preloadedFeatures2, createVi
|
|
|
323
380
|
const context = useCreateMotionContext(props);
|
|
324
381
|
const visualState = useVisualState(props, isStatic);
|
|
325
382
|
if (!isStatic && isBrowser) {
|
|
326
|
-
|
|
327
|
-
const
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
MeasureLayout2 = context.visualElement.loadFeatures(
|
|
331
|
-
// Note: Pass the full new combined props to correctly re-render dynamic feature components.
|
|
332
|
-
configAndProps,
|
|
333
|
-
isStrict,
|
|
334
|
-
preloadedFeatures2,
|
|
335
|
-
initialLayoutGroupConfig
|
|
336
|
-
);
|
|
337
|
-
}
|
|
383
|
+
useStrictMode(configAndProps, preloadedFeatures2);
|
|
384
|
+
const layoutProjection = getProjectionFunctionality(configAndProps);
|
|
385
|
+
MeasureLayout2 = layoutProjection.MeasureLayout;
|
|
386
|
+
context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode);
|
|
338
387
|
}
|
|
339
388
|
return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement)] });
|
|
340
389
|
}
|
|
@@ -346,6 +395,23 @@ function useLayoutId({ layoutId }) {
|
|
|
346
395
|
const layoutGroupId = useContext(LayoutGroupContext).id;
|
|
347
396
|
return layoutGroupId && layoutId !== void 0 ? layoutGroupId + "-" + layoutId : layoutId;
|
|
348
397
|
}
|
|
398
|
+
function useStrictMode(configAndProps, preloadedFeatures2) {
|
|
399
|
+
const isStrict = useContext(LazyContext).strict;
|
|
400
|
+
if (process.env.NODE_ENV !== "production" && preloadedFeatures2 && isStrict) {
|
|
401
|
+
const strictMessage = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
|
|
402
|
+
configAndProps.ignoreStrict ? warning(false, strictMessage) : invariant(false, strictMessage);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
function getProjectionFunctionality(props) {
|
|
406
|
+
const { drag: drag2, layout: layout2 } = featureDefinitions;
|
|
407
|
+
if (!drag2 && !layout2)
|
|
408
|
+
return {};
|
|
409
|
+
const combined = { ...drag2, ...layout2 };
|
|
410
|
+
return {
|
|
411
|
+
MeasureLayout: (drag2 === null || drag2 === void 0 ? void 0 : drag2.isEnabled(props)) || (layout2 === null || layout2 === void 0 ? void 0 : layout2.isEnabled(props)) ? combined.MeasureLayout : void 0,
|
|
412
|
+
ProjectionNode: combined.ProjectionNode
|
|
413
|
+
};
|
|
414
|
+
}
|
|
349
415
|
function createMotionProxy(createConfig) {
|
|
350
416
|
function custom(Component2, customMotionComponentConfig = {}) {
|
|
351
417
|
return createMotionComponent(createConfig(Component2, customMotionComponentConfig));
|
|
@@ -996,7 +1062,6 @@ function makeLatestValues(props, context, presenceContext, scrapeMotionValues) {
|
|
|
996
1062
|
}
|
|
997
1063
|
return values;
|
|
998
1064
|
}
|
|
999
|
-
const noop = (any) => any;
|
|
1000
1065
|
const { schedule: frame, cancel: cancelFrame, state: frameData, steps } = createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
|
|
1001
1066
|
const svgMotionConfig = {
|
|
1002
1067
|
useVisualState: makeUseVisualState({
|
|
@@ -1473,20 +1538,6 @@ function isNone(value) {
|
|
|
1473
1538
|
return true;
|
|
1474
1539
|
}
|
|
1475
1540
|
}
|
|
1476
|
-
let warning = noop;
|
|
1477
|
-
let invariant = noop;
|
|
1478
|
-
if (process.env.NODE_ENV !== "production") {
|
|
1479
|
-
warning = (check, message) => {
|
|
1480
|
-
if (!check && typeof console !== "undefined") {
|
|
1481
|
-
console.warn(message);
|
|
1482
|
-
}
|
|
1483
|
-
};
|
|
1484
|
-
invariant = (check, message) => {
|
|
1485
|
-
if (!check) {
|
|
1486
|
-
throw new Error(message);
|
|
1487
|
-
}
|
|
1488
|
-
};
|
|
1489
|
-
}
|
|
1490
1541
|
const isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
|
|
1491
1542
|
const splitCSSVariableRegex = (
|
|
1492
1543
|
// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
|
|
@@ -3403,7 +3454,7 @@ class MotionValue {
|
|
|
3403
3454
|
* @internal
|
|
3404
3455
|
*/
|
|
3405
3456
|
constructor(init, options = {}) {
|
|
3406
|
-
this.version = "11.2.
|
|
3457
|
+
this.version = "11.2.12";
|
|
3407
3458
|
this.canTrackVelocity = null;
|
|
3408
3459
|
this.events = {};
|
|
3409
3460
|
this.updateAndNotify = (v, render = true) => {
|
|
@@ -3789,7 +3840,7 @@ function animateList(visualElement) {
|
|
|
3789
3840
|
}
|
|
3790
3841
|
function createAnimationState(visualElement) {
|
|
3791
3842
|
let animate = animateList(visualElement);
|
|
3792
|
-
|
|
3843
|
+
let state = createState();
|
|
3793
3844
|
let isInitialRender = true;
|
|
3794
3845
|
const buildResolvedTypeValues = (type) => (acc, definition) => {
|
|
3795
3846
|
var _a;
|
|
@@ -3931,7 +3982,11 @@ function createAnimationState(visualElement) {
|
|
|
3931
3982
|
animateChanges,
|
|
3932
3983
|
setActive,
|
|
3933
3984
|
setAnimateFunction,
|
|
3934
|
-
getState: () => state
|
|
3985
|
+
getState: () => state,
|
|
3986
|
+
reset: () => {
|
|
3987
|
+
state = createState();
|
|
3988
|
+
isInitialRender = true;
|
|
3989
|
+
}
|
|
3935
3990
|
};
|
|
3936
3991
|
}
|
|
3937
3992
|
function checkVariantsDidChange(prev, next) {
|
|
@@ -3973,9 +4028,8 @@ class AnimationFeature extends Feature {
|
|
|
3973
4028
|
}
|
|
3974
4029
|
updateAnimationControlsSubscription() {
|
|
3975
4030
|
const { animate } = this.node.getProps();
|
|
3976
|
-
this.unmount();
|
|
3977
4031
|
if (isAnimationControls(animate)) {
|
|
3978
|
-
this.
|
|
4032
|
+
this.unmountControls = animate.subscribe(this.node);
|
|
3979
4033
|
}
|
|
3980
4034
|
}
|
|
3981
4035
|
/**
|
|
@@ -3992,6 +4046,9 @@ class AnimationFeature extends Feature {
|
|
|
3992
4046
|
}
|
|
3993
4047
|
}
|
|
3994
4048
|
unmount() {
|
|
4049
|
+
var _a;
|
|
4050
|
+
this.node.animationState.reset();
|
|
4051
|
+
(_a = this.unmountControls) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
3995
4052
|
}
|
|
3996
4053
|
}
|
|
3997
4054
|
let id$1 = 0;
|
|
@@ -4698,7 +4755,7 @@ class VisualElementDragControls {
|
|
|
4698
4755
|
});
|
|
4699
4756
|
const measureDragConstraints = () => {
|
|
4700
4757
|
const { dragConstraints } = this.getProps();
|
|
4701
|
-
if (isRefObject(dragConstraints)) {
|
|
4758
|
+
if (isRefObject(dragConstraints) && dragConstraints.current) {
|
|
4702
4759
|
this.constraints = this.resolveRefConstraints();
|
|
4703
4760
|
}
|
|
4704
4761
|
};
|
|
@@ -4708,7 +4765,7 @@ class VisualElementDragControls {
|
|
|
4708
4765
|
projection.root && projection.root.updateScroll();
|
|
4709
4766
|
projection.updateLayout();
|
|
4710
4767
|
}
|
|
4711
|
-
measureDragConstraints
|
|
4768
|
+
frame.read(measureDragConstraints);
|
|
4712
4769
|
const stopResizeListener = addDomEvent(window, "resize", () => this.scalePositionWithinConstraints());
|
|
4713
4770
|
const stopLayoutUpdateListener = projection.addEventListener("didUpdate", ({ delta, hasLayoutChanged }) => {
|
|
4714
4771
|
if (this.isDragging && hasLayoutChanged) {
|
|
@@ -5314,6 +5371,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
5314
5371
|
this.eventHandlers = /* @__PURE__ */ new Map();
|
|
5315
5372
|
this.hasTreeAnimated = false;
|
|
5316
5373
|
this.updateScheduled = false;
|
|
5374
|
+
this.scheduleUpdate = () => this.update();
|
|
5317
5375
|
this.projectionUpdateScheduled = false;
|
|
5318
5376
|
this.checkUpdateFailed = () => {
|
|
5319
5377
|
if (this.isUpdating) {
|
|
@@ -5522,7 +5580,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
5522
5580
|
didUpdate() {
|
|
5523
5581
|
if (!this.updateScheduled) {
|
|
5524
5582
|
this.updateScheduled = true;
|
|
5525
|
-
microtask.read(
|
|
5583
|
+
microtask.read(this.scheduleUpdate);
|
|
5526
5584
|
}
|
|
5527
5585
|
}
|
|
5528
5586
|
clearAllSnapshots() {
|
|
@@ -5591,7 +5649,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
|
|
|
5591
5649
|
resetTransform() {
|
|
5592
5650
|
if (!resetTransform)
|
|
5593
5651
|
return;
|
|
5594
|
-
const isResetRequested = this.isLayoutDirty || this.shouldResetTransform;
|
|
5652
|
+
const isResetRequested = this.isLayoutDirty || this.shouldResetTransform || this.options.alwaysMeasureLayout;
|
|
5595
5653
|
const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);
|
|
5596
5654
|
const transformTemplate = this.getTransformTemplate();
|
|
5597
5655
|
const transformTemplateValue = transformTemplate ? transformTemplate(this.latestValues, "") : void 0;
|
|
@@ -6343,7 +6401,7 @@ function updateMotionValuesFromProps(element, next, prev) {
|
|
|
6343
6401
|
willChange.add(key);
|
|
6344
6402
|
}
|
|
6345
6403
|
if (process.env.NODE_ENV === "development") {
|
|
6346
|
-
warnOnce(nextValue.version === "11.2.
|
|
6404
|
+
warnOnce(nextValue.version === "11.2.12", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.2.12 may not work as expected.`);
|
|
6347
6405
|
}
|
|
6348
6406
|
} else if (isMotionValue(prevValue)) {
|
|
6349
6407
|
element.addValue(key, motionValue(nextValue, { owner: element }));
|
|
@@ -6373,8 +6431,6 @@ function updateMotionValuesFromProps(element, next, prev) {
|
|
|
6373
6431
|
const visualElementStore = /* @__PURE__ */ new WeakMap();
|
|
6374
6432
|
const valueTypes = [...dimensionValueTypes, color, complex];
|
|
6375
6433
|
const findValueType = (v) => valueTypes.find(testValueType(v));
|
|
6376
|
-
const featureNames = Object.keys(featureDefinitions);
|
|
6377
|
-
const numFeatures = featureNames.length;
|
|
6378
6434
|
const propEventHandlers = [
|
|
6379
6435
|
"AnimationStart",
|
|
6380
6436
|
"AnimationComplete",
|
|
@@ -6385,11 +6441,6 @@ const propEventHandlers = [
|
|
|
6385
6441
|
"LayoutAnimationComplete"
|
|
6386
6442
|
];
|
|
6387
6443
|
const numVariantProps = variantProps.length;
|
|
6388
|
-
function getClosestProjectingNode(visualElement) {
|
|
6389
|
-
if (!visualElement)
|
|
6390
|
-
return void 0;
|
|
6391
|
-
return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
|
|
6392
|
-
}
|
|
6393
6444
|
class VisualElement {
|
|
6394
6445
|
/**
|
|
6395
6446
|
* This method takes React props and returns found MotionValues. For example, HTML
|
|
@@ -6476,7 +6527,6 @@ class VisualElement {
|
|
|
6476
6527
|
this.update(this.props, this.presenceContext);
|
|
6477
6528
|
}
|
|
6478
6529
|
unmount() {
|
|
6479
|
-
var _a;
|
|
6480
6530
|
visualElementStore.delete(this.current);
|
|
6481
6531
|
this.projection && this.projection.unmount();
|
|
6482
6532
|
cancelFrame(this.notifyUpdate);
|
|
@@ -6488,7 +6538,11 @@ class VisualElement {
|
|
|
6488
6538
|
this.events[key].clear();
|
|
6489
6539
|
}
|
|
6490
6540
|
for (const key in this.features) {
|
|
6491
|
-
|
|
6541
|
+
const feature = this.features[key];
|
|
6542
|
+
if (feature) {
|
|
6543
|
+
feature.unmount();
|
|
6544
|
+
feature.isMounted = false;
|
|
6545
|
+
}
|
|
6492
6546
|
}
|
|
6493
6547
|
this.current = null;
|
|
6494
6548
|
}
|
|
@@ -6515,59 +6569,24 @@ class VisualElement {
|
|
|
6515
6569
|
}
|
|
6516
6570
|
return this.sortInstanceNodePosition(this.current, other.current);
|
|
6517
6571
|
}
|
|
6518
|
-
loadFeatures({ children, ...renderedProps }, isStrict, preloadedFeatures2, initialLayoutGroupConfig) {
|
|
6519
|
-
let ProjectionNodeConstructor;
|
|
6520
|
-
let MeasureLayout2;
|
|
6521
|
-
if (process.env.NODE_ENV !== "production" && preloadedFeatures2 && isStrict) {
|
|
6522
|
-
const strictMessage = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
|
|
6523
|
-
renderedProps.ignoreStrict ? warning(false, strictMessage) : invariant(false, strictMessage);
|
|
6524
|
-
}
|
|
6525
|
-
for (let i = 0; i < numFeatures; i++) {
|
|
6526
|
-
const name = featureNames[i];
|
|
6527
|
-
const { isEnabled, Feature: FeatureConstructor, ProjectionNode, MeasureLayout: MeasureLayoutComponent } = featureDefinitions[name];
|
|
6528
|
-
if (ProjectionNode)
|
|
6529
|
-
ProjectionNodeConstructor = ProjectionNode;
|
|
6530
|
-
if (isEnabled(renderedProps)) {
|
|
6531
|
-
if (!this.features[name] && FeatureConstructor) {
|
|
6532
|
-
this.features[name] = new FeatureConstructor(this);
|
|
6533
|
-
}
|
|
6534
|
-
if (MeasureLayoutComponent) {
|
|
6535
|
-
MeasureLayout2 = MeasureLayoutComponent;
|
|
6536
|
-
}
|
|
6537
|
-
}
|
|
6538
|
-
}
|
|
6539
|
-
if ((this.type === "html" || this.type === "svg") && !this.projection && ProjectionNodeConstructor) {
|
|
6540
|
-
const { layoutId, layout: layout2, drag: drag2, dragConstraints, layoutScroll, layoutRoot } = renderedProps;
|
|
6541
|
-
this.projection = new ProjectionNodeConstructor(this.latestValues, renderedProps["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(this.parent));
|
|
6542
|
-
this.projection.setOptions({
|
|
6543
|
-
layoutId,
|
|
6544
|
-
layout: layout2,
|
|
6545
|
-
alwaysMeasureLayout: Boolean(drag2) || dragConstraints && isRefObject(dragConstraints),
|
|
6546
|
-
visualElement: this,
|
|
6547
|
-
scheduleRender: () => this.scheduleRender(),
|
|
6548
|
-
/**
|
|
6549
|
-
* TODO: Update options in an effect. This could be tricky as it'll be too late
|
|
6550
|
-
* to update by the time layout animations run.
|
|
6551
|
-
* We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
|
|
6552
|
-
* ensuring it gets called if there's no potential layout animations.
|
|
6553
|
-
*
|
|
6554
|
-
*/
|
|
6555
|
-
animationType: typeof layout2 === "string" ? layout2 : "both",
|
|
6556
|
-
initialPromotionConfig: initialLayoutGroupConfig,
|
|
6557
|
-
layoutScroll,
|
|
6558
|
-
layoutRoot
|
|
6559
|
-
});
|
|
6560
|
-
}
|
|
6561
|
-
return MeasureLayout2;
|
|
6562
|
-
}
|
|
6563
6572
|
updateFeatures() {
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6573
|
+
let key = "animation";
|
|
6574
|
+
for (key in featureDefinitions) {
|
|
6575
|
+
const featureDefinition = featureDefinitions[key];
|
|
6576
|
+
if (!featureDefinition)
|
|
6577
|
+
continue;
|
|
6578
|
+
const { isEnabled, Feature: FeatureConstructor } = featureDefinition;
|
|
6579
|
+
if (!this.features[key] && FeatureConstructor && isEnabled(this.props)) {
|
|
6580
|
+
this.features[key] = new FeatureConstructor(this);
|
|
6581
|
+
}
|
|
6582
|
+
if (this.features[key]) {
|
|
6583
|
+
const feature = this.features[key];
|
|
6584
|
+
if (feature.isMounted) {
|
|
6585
|
+
feature.update();
|
|
6586
|
+
} else {
|
|
6587
|
+
feature.mount();
|
|
6588
|
+
feature.isMounted = true;
|
|
6589
|
+
}
|
|
6571
6590
|
}
|
|
6572
6591
|
}
|
|
6573
6592
|
}
|
|
@@ -7123,14 +7142,7 @@ const AnimatePresence = ({ children, custom, initial = true, onExitComplete, exi
|
|
|
7123
7142
|
* @preserve
|
|
7124
7143
|
*/
|
|
7125
7144
|
const AnimatedVisibility = (props) => {
|
|
7126
|
-
const {
|
|
7127
|
-
visible,
|
|
7128
|
-
className,
|
|
7129
|
-
children,
|
|
7130
|
-
noInitial = false,
|
|
7131
|
-
transition = "slideFade",
|
|
7132
|
-
...other
|
|
7133
|
-
} = props;
|
|
7145
|
+
const { visible, className, children, noInitial = false, transition = "slideFade", ...other } = props;
|
|
7134
7146
|
const transitions = {
|
|
7135
7147
|
slideFade: {
|
|
7136
7148
|
initial: { opacity: 0, y: -5 },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { $ as $514c0188e459b4c0$export$5f1af8db9871e1d6 } from "../../Text-
|
|
3
|
-
import { c as clsx } from "../../lite-
|
|
2
|
+
import { $ as $514c0188e459b4c0$export$5f1af8db9871e1d6 } from "../../Text-WqetJduR.js";
|
|
3
|
+
import { c as clsx } from "../../lite-DVmmD_-j.js";
|
|
4
4
|
import { RichLabel } from "../rich-label/rich-label.js";
|
|
5
5
|
/**
|
|
6
6
|
* Component that allows wrapping components with a common layout that includes a label and optional icon, subtitle, actions, and help text.
|
|
@@ -66,13 +66,7 @@ const BaseControl = (props) => {
|
|
|
66
66
|
className: labelClassName
|
|
67
67
|
}
|
|
68
68
|
),
|
|
69
|
-
inline && /* @__PURE__ */ jsx(
|
|
70
|
-
"div",
|
|
71
|
-
{
|
|
72
|
-
className: clsx("es-uic-ml-auto es-uic-flex es-uic-items-center es-uic-gap-1", controlContainerClassName),
|
|
73
|
-
children
|
|
74
|
-
}
|
|
75
|
-
),
|
|
69
|
+
inline && /* @__PURE__ */ jsx("div", { className: clsx("es-uic-ml-auto es-uic-flex es-uic-items-center es-uic-gap-1", controlContainerClassName), children }),
|
|
76
70
|
!inline && actions && /* @__PURE__ */ jsx("div", { className: clsx("es-uic-flex es-uic-items-center es-uic-gap-1", !inline && "es-uic-ml-auto"), children: actions })
|
|
77
71
|
] }),
|
|
78
72
|
!inline && Array.isArray(children) && children.filter(Boolean).length > 1 && /* @__PURE__ */ jsx("div", { className: clsx("es-uic-space-y-1", controlContainerClassName), children }),
|