@rpcbase/ui 0.280.0 → 0.281.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.
- package/dist/components/AddressAutocompleteInput/index.d.ts +1 -1
- package/dist/components/AddressAutocompleteInput/index.d.ts.map +1 -1
- package/dist/components/ApplePayButton/index.d.ts +1 -1
- package/dist/components/ApplePayButton/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.d.ts +1 -1
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/DayPickerField/index.d.ts +2 -2
- package/dist/components/DayPickerField/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.d.ts +9 -9
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/FilesUploadField/index.d.ts +1 -1
- package/dist/components/FilesUploadField/index.d.ts.map +1 -1
- package/dist/components/HourPickerField/index.d.ts +2 -2
- package/dist/components/HourPickerField/index.d.ts.map +1 -1
- package/dist/components/I18nField/index.d.ts +1 -1
- package/dist/components/I18nField/index.d.ts.map +1 -1
- package/dist/components/Image/index.d.ts +1 -1
- package/dist/components/Image/index.d.ts.map +1 -1
- package/dist/components/ImagesField/index.d.ts +1 -1
- package/dist/components/ImagesField/index.d.ts.map +1 -1
- package/dist/components/Input/index.d.ts +1 -1
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Notifications/NotificationsButton.d.ts +1 -1
- package/dist/components/Notifications/NotificationsButton.d.ts.map +1 -1
- package/dist/components/Notifications/NotificationsDrawer.d.ts +1 -1
- package/dist/components/Notifications/NotificationsDrawer.d.ts.map +1 -1
- package/dist/components/Notifications/NotificationsSettings.d.ts +1 -1
- package/dist/components/Notifications/NotificationsSettings.d.ts.map +1 -1
- package/dist/components/PhoneNumberInput/suggestions.d.ts +3 -3
- package/dist/components/PhoneNumberInput/suggestions.d.ts.map +1 -1
- package/dist/components/Select/index.d.ts +2 -2
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/header/MenuPopover/index.d.ts +1 -1
- package/dist/components/header/MenuPopover/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index10.js +6 -4
- package/dist/index10.js.map +1 -1
- package/dist/index12.js.map +1 -1
- package/dist/index13.js.map +1 -1
- package/dist/index14.js.map +1 -1
- package/dist/index15.js.map +1 -1
- package/dist/index154.js +19 -7
- package/dist/index154.js.map +1 -1
- package/dist/index16.js +36 -45
- package/dist/index16.js.map +1 -1
- package/dist/index160.js +3 -3
- package/dist/index160.js.map +1 -1
- package/dist/index166.js +5 -5
- package/dist/index166.js.map +1 -1
- package/dist/index172.js +27 -25
- package/dist/index172.js.map +1 -1
- package/dist/index181.js +1 -1
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +145 -162
- package/dist/index182.js.map +1 -1
- package/dist/index184.js +6 -8
- package/dist/index184.js.map +1 -1
- package/dist/index186.js +2 -8
- package/dist/index186.js.map +1 -1
- package/dist/index19.js +1 -1
- package/dist/index19.js.map +1 -1
- package/dist/index195.js +1 -1
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -2
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +1 -1
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +16 -15
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +13 -17
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +3 -2
- package/dist/index200.js.map +1 -1
- package/dist/index207.js +5 -90
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +15 -3
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +102 -22
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +3 -28
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +23 -19
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +27 -6
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +19 -14
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +5 -6
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +14 -26
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +7 -22
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +27 -6
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +23 -5
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +6 -4
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +5 -4
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +4 -24
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +4 -3
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +21 -21
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +3 -23
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +23 -6
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +22 -9
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +5 -17
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +8 -49
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +18 -5
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +50 -19
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +20 -28
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +27 -104
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +98 -33
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +28 -113
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +117 -11
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +12 -4
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +4 -15
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +13 -62
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +64 -9
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +10 -106
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +107 -13
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +16 -13
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +13 -5
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +4 -316
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +315 -58
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +58 -223
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +215 -318
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +250 -306
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +308 -173
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +178 -7
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +8 -15
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +41 -5
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +46 -38
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +7 -50
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +49 -6
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +48 -46
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +6 -51
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +10 -9
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +60 -8
- package/dist/index259.js.map +1 -1
- package/dist/index26.js.map +1 -1
- package/dist/index260.js +41 -60
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +88 -34
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +47 -94
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +36 -49
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +45 -32
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +47 -46
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +18 -48
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +174 -15
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +47 -169
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +17 -34
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +59 -10
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +10 -66
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +4 -4
- package/dist/index273.js +71 -69
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +158 -152
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +7 -13
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +12 -5
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +12 -6
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +11 -12
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +65 -9
- package/dist/index279.js.map +1 -1
- package/dist/index280.js +6 -74
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +25 -6
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +24 -24
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +125 -24
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +52 -115
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +59 -55
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +48 -61
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +5 -48
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +14 -8
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +18 -14
- package/dist/index289.js.map +1 -1
- package/dist/index290.js +10 -17
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +23 -11
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +52 -25
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +6 -52
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +137 -5
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +59 -149
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +90 -49
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +11 -117
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +863 -11
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +21 -865
- package/dist/index299.js.map +1 -1
- package/dist/index3.js.map +1 -1
- package/dist/index300.js +417 -27
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +774 -483
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +7436 -803
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +7 -7429
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +12 -6
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +5 -12
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +3 -3
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +469 -5
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +32 -464
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +18 -36
- package/dist/index309.js.map +1 -1
- package/dist/index310.js +28 -17
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +4 -30
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +59 -4
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +11 -59
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +5 -9
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +9 -5
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +12 -9
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +3 -13
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +17 -3
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +23 -14
- package/dist/index319.js.map +1 -1
- package/dist/index320.js +39 -23
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +5 -41
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +25 -5
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +18 -24
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +32 -17
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +5 -34
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +9 -5
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +7 -8
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +9 -8
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +10 -9
- package/dist/index329.js.map +1 -1
- package/dist/index330.js +7 -10
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +75 -7
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +153 -66
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +99 -147
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +13 -113
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +78 -12
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +23 -57
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +12 -45
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +16 -13
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +100 -15
- package/dist/index339.js.map +1 -1
- package/dist/index340.js +50 -95
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +57 -5
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +41 -78
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +100 -58
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +46 -104
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +39 -51
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +143 -42
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +122 -123
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +224 -108
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +158 -174
- package/dist/index349.js.map +1 -1
- package/dist/index350.js +213 -144
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +5 -309
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +6 -5
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +7 -6
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +4 -5
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +4 -4
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +21 -6
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +10 -21
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +128 -10
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +36 -122
- package/dist/index359.js.map +1 -1
- package/dist/index360.js +64 -38
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +115 -66
- package/dist/index361.js.map +1 -1
- package/dist/index362.js +485 -112
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +7 -490
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +1 -1
- package/dist/index364.js.map +1 -1
- package/dist/index367.js +2 -9
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +26 -5
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +43 -27
- package/dist/index369.js.map +1 -1
- package/dist/index370.js +35 -46
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +16 -27
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +41 -16
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +11 -42
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +10 -14
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +51 -9
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +40 -53
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +17 -43
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +4 -15
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +4 -4
- package/dist/index379.js.map +1 -1
- package/dist/index380.js +9 -4
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +304 -9
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +4 -339
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +21 -5
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +106 -16
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +19 -109
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +18 -18
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +14 -19
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +12 -4
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +113 -20
- package/dist/index389.js.map +1 -1
- package/dist/index390.js +5 -11
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +28 -85
- package/dist/index391.js.map +1 -1
- package/dist/index392.js +9 -9
- package/dist/index392.js.map +1 -1
- package/dist/index393.js +6 -29
- package/dist/index393.js.map +1 -1
- package/dist/index394.js +254 -10
- package/dist/index394.js.map +1 -1
- package/dist/index395.js +12 -6
- package/dist/index395.js.map +1 -1
- package/dist/index396.js +11 -252
- package/dist/index396.js.map +1 -1
- package/dist/index397.js +6 -11
- package/dist/index397.js.map +1 -1
- package/dist/index398.js +22 -10
- package/dist/index398.js.map +1 -1
- package/dist/index399.js +22 -6
- package/dist/index399.js.map +1 -1
- package/dist/index4.js.map +1 -1
- package/dist/index400.js +103 -21
- package/dist/index400.js.map +1 -1
- package/dist/index401.js +15 -23
- package/dist/index401.js.map +1 -1
- package/dist/index402.js +11 -108
- package/dist/index402.js.map +1 -1
- package/dist/index403.js +10 -15
- package/dist/index403.js.map +1 -1
- package/dist/index404.js +237 -10
- package/dist/index404.js.map +1 -1
- package/dist/index405.js +27 -9
- package/dist/index405.js.map +1 -1
- package/dist/index406.js +33 -238
- package/dist/index406.js.map +1 -1
- package/dist/index407.js +11 -30
- package/dist/index407.js.map +1 -1
- package/dist/index408.js +118 -48
- package/dist/index408.js.map +1 -1
- package/dist/index409.js +39 -11
- package/dist/index409.js.map +1 -1
- package/dist/index410.js +18 -121
- package/dist/index410.js.map +1 -1
- package/dist/index411.js +11 -39
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +21 -24
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +17 -11
- package/dist/index413.js.map +1 -1
- package/dist/index414.js +10 -20
- package/dist/index414.js.map +1 -1
- package/dist/index415.js +4 -17
- package/dist/index415.js.map +1 -1
- package/dist/index416.js +300 -14
- package/dist/index416.js.map +1 -1
- package/dist/index417.js +61 -323
- package/dist/index417.js.map +1 -1
- package/dist/index418.js +4 -63
- package/dist/index418.js.map +1 -1
- package/dist/index419.js +28 -4
- package/dist/index419.js.map +1 -1
- package/dist/index420.js +468 -25
- package/dist/index420.js.map +1 -1
- package/dist/index421.js +250 -452
- package/dist/index421.js.map +1 -1
- package/dist/index6.js.map +1 -1
- package/dist/index7.js +91 -133
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +2 -2
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +11 -4
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +1 -3
- package/dist/index72.js.map +1 -1
- package/dist/index8.js.map +1 -1
- package/dist/index9.js +16 -19
- package/dist/index9.js.map +1 -1
- package/dist/test-only/TestCoverageTestBadge/index.d.ts +1 -1
- package/dist/test-only/TestCoverageTestBadge/index.d.ts.map +1 -1
- package/package.json +15 -15
- package/dist/index422.js +0 -272
- package/dist/index422.js.map +0 -1
package/dist/index264.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index264.js","names":["React"],"sources":["../../../node_modules/@base-ui/react/
|
|
1
|
+
{"version":3,"file":"index264.js","names":["React"],"sources":["../../../node_modules/@base-ui/react/internals/useTransitionStatus.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AAUA,SAAgB,EAAoB,GAAM,IAAkB,IAAO,IAAmB,IAAO;CAC3F,IAAM,CAAC,GAAkB,KAAuBA,EAAM,SAAS,KAAQ,IAAkB,SAAS,KAAA,CAAS,GACrG,CAAC,GAAS,KAAcA,EAAM,SAAS,CAAI;CAiDjD,OAhDI,KAAQ,CAAC,MACX,EAAW,EAAI,GACf,EAAoB,UAAU,IAE5B,CAAC,KAAQ,KAAW,MAAqB,YAAY,CAAC,KACxD,EAAoB,QAAQ,GAE1B,CAAC,KAAQ,CAAC,KAAW,MAAqB,YAC5C,EAAoB,KAAA,CAAS,GAE/B,QAAyB;EACvB,IAAI,CAAC,KAAQ,KAAW,MAAqB,YAAY,GAAkB;GACzE,IAAM,IAAQ,EAAe,cAAc;IACzC,EAAoB,QAAQ;GAC9B,CAAC;GACD,aAAa;IACX,EAAe,OAAO,CAAK;GAC7B;EACF;CAEF,GAAG;EAAC;EAAM;EAAS;EAAkB;CAAgB,CAAC,GACtD,QAAyB;EACvB,IAAI,CAAC,KAAQ,GACX;EAEF,IAAM,IAAQ,EAAe,cAAc;GAGzC,EAAoB,KAAA,CAAS;EAC/B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG,CAAC,GAAiB,CAAI,CAAC,GAC1B,QAAyB;EACvB,IAAI,CAAC,KAAQ,CAAC,GACZ;EAEF,AAAI,KAAQ,KAAW,MAAqB,UAC1C,EAAoB,UAAU;EAEhC,IAAM,IAAQ,EAAe,cAAc;GACzC,EAAoB,MAAM;EAC5B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG;EAAC;EAAiB;EAAM;EAAS;CAAgB,CAAC,GAC9C;EACL;EACA;EACA;CACF;AACF"}
|
package/dist/index265.js
CHANGED
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import { useStableCallback as e } from "./index202.js";
|
|
3
|
+
import { useAnimationFrame as t } from "./index230.js";
|
|
4
|
+
import { resolveRef as n } from "./index244.js";
|
|
5
|
+
import * as r from "react-dom";
|
|
6
|
+
//#region ../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
|
|
7
|
+
function i(i, a = !1) {
|
|
8
|
+
let o = t();
|
|
9
|
+
return e((e, t = null) => {
|
|
10
|
+
o.cancel();
|
|
11
|
+
let s = n(i);
|
|
12
|
+
if (s == null) return;
|
|
13
|
+
let c = s, l = () => {
|
|
14
|
+
r.flushSync(e);
|
|
15
|
+
};
|
|
16
|
+
if (typeof c.getAnimations != "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
|
|
17
|
+
e();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
function u() {
|
|
21
|
+
Promise.all(c.getAnimations().map((e) => e.finished)).then(() => {
|
|
22
|
+
t?.aborted || l();
|
|
23
|
+
}, () => {
|
|
24
|
+
if (!t?.aborted) {
|
|
25
|
+
if (c.getAnimations().some((e) => e.pending || e.playState !== "finished")) {
|
|
26
|
+
u();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
l();
|
|
30
|
+
}
|
|
12
31
|
});
|
|
13
|
-
return () => {
|
|
14
|
-
t.cancel(e);
|
|
15
|
-
};
|
|
16
32
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
s("idle");
|
|
35
|
-
});
|
|
36
|
-
return () => {
|
|
37
|
-
t.cancel(e);
|
|
38
|
-
};
|
|
39
|
-
}, [
|
|
40
|
-
i,
|
|
41
|
-
r,
|
|
42
|
-
c,
|
|
43
|
-
o
|
|
44
|
-
]), {
|
|
45
|
-
mounted: c,
|
|
46
|
-
setMounted: l,
|
|
47
|
-
transitionStatus: o
|
|
48
|
-
};
|
|
33
|
+
if (a) {
|
|
34
|
+
let e = "data-starting-style";
|
|
35
|
+
if (!c.hasAttribute(e)) {
|
|
36
|
+
o.request(u);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
let n = new MutationObserver(() => {
|
|
40
|
+
c.hasAttribute(e) || (n.disconnect(), u());
|
|
41
|
+
});
|
|
42
|
+
n.observe(c, {
|
|
43
|
+
attributes: !0,
|
|
44
|
+
attributeFilter: [e]
|
|
45
|
+
}), t?.addEventListener("abort", () => n.disconnect(), { once: !0 });
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
o.request(u);
|
|
49
|
+
});
|
|
49
50
|
}
|
|
50
51
|
//#endregion
|
|
51
|
-
export {
|
|
52
|
+
export { i as useAnimationsFinished };
|
|
52
53
|
|
|
53
54
|
//# sourceMappingURL=index265.js.map
|
package/dist/index265.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index265.js","names":[
|
|
1
|
+
{"version":3,"file":"index265.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs"],"sourcesContent":["'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"../utils/resolveRef.mjs\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * If an animation is canceled, waits for any replacement animations before executing.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForStartingStyleRemoved - Whether to wait for [data-starting-style] to be removed before checking for animations.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n const resolvedElement = element;\n const done = () => {\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n };\n if (typeof resolvedElement.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n return;\n }\n function exec() {\n Promise.all(resolvedElement.getAnimations().map(animation => animation.finished)).then(() => {\n if (!signal?.aborted) {\n done();\n }\n }, () => {\n if (signal?.aborted) {\n return;\n }\n const currentAnimations = resolvedElement.getAnimations();\n if (currentAnimations.some(animation => animation.pending || animation.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n return;\n }\n done();\n });\n }\n if (waitForStartingStyleRemoved) {\n const startingStyleAttribute = 'data-starting-style';\n\n // If `[data-starting-style]` isn't present, fall back to waiting one more frame\n // to give \"open\" animations a chance to be registered.\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n frame.request(exec);\n return;\n }\n\n // Wait for `[data-starting-style]` to have been removed.\n const attributeObserver = new MutationObserver(() => {\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n attributeObserver.disconnect();\n exec();\n }\n });\n attributeObserver.observe(resolvedElement, {\n attributes: true,\n attributeFilter: [startingStyleAttribute]\n });\n signal?.addEventListener('abort', () => attributeObserver.disconnect(), {\n once: true\n });\n return;\n }\n frame.request(exec);\n });\n}"],"x_google_ignoreList":[0],"mappings":";;;;;;AAcA,SAAgB,EAAsB,GAAc,IAA8B,IAAO;CACvF,IAAM,IAAQ,EAAkB;CAChC,OAAO,GAAmB,GAM1B,IAAS,SAAS;EAChB,EAAM,OAAO;EACb,IAAM,IAAU,EAAW,CAAY;EACvC,IAAI,KAAW,MACb;EAEF,IAAM,IAAkB,GAClB,UAAa;GAGjB,EAAS,UAAU,CAAW;EAChC;EACA,IAAI,OAAO,EAAgB,iBAAkB,cAAc,WAAW,6BAA6B;GACjG,EAAY;GACZ;EACF;EACA,SAAS,IAAO;GACd,QAAQ,IAAI,EAAgB,cAAc,CAAC,CAAC,KAAI,MAAa,EAAU,QAAQ,CAAC,CAAC,CAAC,WAAW;IAC3F,AAAK,GAAQ,WACX,EAAK;GAET,SAAS;IACH,QAAQ,SAIZ;SAD0B,EAAgB,cACtB,CAAC,CAAC,MAAK,MAAa,EAAU,WAAW,EAAU,cAAc,UAAU,GAAG;MAGhG,EAAK;MACL;KACF;KACA,EAAK;IADL;GAEF,CAAC;EACH;EACA,IAAI,GAA6B;GAC/B,IAAM,IAAyB;GAI/B,IAAI,CAAC,EAAgB,aAAa,CAAsB,GAAG;IACzD,EAAM,QAAQ,CAAI;IAClB;GACF;GAGA,IAAM,IAAoB,IAAI,uBAAuB;IACnD,AAAK,EAAgB,aAAa,CAAsB,MACtD,EAAkB,WAAW,GAC7B,EAAK;GAET,CAAC;GAKD,AAJA,EAAkB,QAAQ,GAAiB;IACzC,YAAY;IACZ,iBAAiB,CAAC,CAAsB;GAC1C,CAAC,GACD,GAAQ,iBAAiB,eAAe,EAAkB,WAAW,GAAG,EACtE,MAAM,GACR,CAAC;GACD;EACF;EACA,EAAM,QAAQ,CAAI;CACpB,CAAC;AACH"}
|
package/dist/index266.js
CHANGED
|
@@ -1,54 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
c.
|
|
12
|
-
|
|
13
|
-
if (l == null) return;
|
|
14
|
-
let u = l, d = () => {
|
|
15
|
-
i.flushSync(t);
|
|
2
|
+
import { useStableCallback as e } from "./index202.js";
|
|
3
|
+
import { useAnimationsFinished as t } from "./index265.js";
|
|
4
|
+
import * as n from "react";
|
|
5
|
+
//#region ../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
|
|
6
|
+
function r(r) {
|
|
7
|
+
let { enabled: i = !0, open: a, ref: o, onComplete: s } = r, c = e(s), l = t(o, a);
|
|
8
|
+
n.useEffect(() => {
|
|
9
|
+
if (!i) return;
|
|
10
|
+
let e = new AbortController();
|
|
11
|
+
return l(c, e.signal), () => {
|
|
12
|
+
e.abort();
|
|
16
13
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
n?.aborted || d();
|
|
24
|
-
}).catch(() => {
|
|
25
|
-
if (s) {
|
|
26
|
-
n?.aborted || d();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
let e = u.getAnimations();
|
|
30
|
-
!n?.aborted && e.length > 0 && e.some((e) => e.pending || e.playState !== "finished") && f();
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (o) {
|
|
34
|
-
let t = e.startingStyle;
|
|
35
|
-
if (!u.hasAttribute(t)) {
|
|
36
|
-
c.request(f);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
let r = new MutationObserver(() => {
|
|
40
|
-
u.hasAttribute(t) || (r.disconnect(), f());
|
|
41
|
-
});
|
|
42
|
-
r.observe(u, {
|
|
43
|
-
attributes: !0,
|
|
44
|
-
attributeFilter: [t]
|
|
45
|
-
}), n?.addEventListener("abort", () => r.disconnect(), { once: !0 });
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
c.request(f);
|
|
49
|
-
});
|
|
14
|
+
}, [
|
|
15
|
+
i,
|
|
16
|
+
a,
|
|
17
|
+
c,
|
|
18
|
+
l
|
|
19
|
+
]);
|
|
50
20
|
}
|
|
51
21
|
//#endregion
|
|
52
|
-
export {
|
|
22
|
+
export { r as useOpenChangeComplete };
|
|
53
23
|
|
|
54
24
|
//# sourceMappingURL=index266.js.map
|
package/dist/index266.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index266.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/
|
|
1
|
+
{"version":3,"file":"index266.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AASA,SAAgB,EAAsB,GAAY;CAChD,IAAM,EACJ,aAAU,IACV,SACA,QACA,YAAY,MACV,GACE,IAAa,EAAkB,CAAe,GAC9C,IAA0B,EAAsB,GAAK,CAAI;CAC/D,EAAM,gBAAgB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAkB,IAAI,gBAAgB;EAE5C,OADA,EAAwB,GAAY,EAAgB,MAAM,SAC7C;GACX,EAAgB,MAAM;EACxB;CACF,GAAG;EAAC;EAAS;EAAM;EAAY;CAAuB,CAAC;AACzD"}
|
package/dist/index267.js
CHANGED
|
@@ -1,24 +1,183 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import { useRefWithInit as e } from "./index185.js";
|
|
3
|
+
import { EMPTY_OBJECT as t } from "./index191.js";
|
|
4
|
+
import { useStableCallback as n } from "./index202.js";
|
|
5
|
+
import { useIsoLayoutEffect as r } from "./index204.js";
|
|
6
|
+
import { none as i } from "./index210.js";
|
|
7
|
+
import { createChangeEventDetails as a } from "./index211.js";
|
|
8
|
+
import { useId as o } from "./index213.js";
|
|
9
|
+
import { FOCUSABLE_ATTRIBUTE as s } from "./index224.js";
|
|
10
|
+
import { useFloatingParentNodeId as c } from "./index243.js";
|
|
11
|
+
import { useSyncedFloatingRootContext as l } from "./index263.js";
|
|
12
|
+
import { useTransitionStatus as u } from "./index264.js";
|
|
13
|
+
import { useOpenChangeComplete as d } from "./index266.js";
|
|
14
|
+
import * as f from "react";
|
|
15
|
+
import "react-dom";
|
|
16
|
+
//#region ../../node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
|
|
17
|
+
var p = {
|
|
18
|
+
tabIndex: -1,
|
|
19
|
+
[s]: ""
|
|
20
|
+
};
|
|
21
|
+
function m(e) {
|
|
22
|
+
return (t) => t !== "touch" || e.current;
|
|
23
|
+
}
|
|
24
|
+
function h(t, n = !1) {
|
|
25
|
+
let r = o(), i = c() != null, a = e(() => t(r, i)).current;
|
|
26
|
+
return l({
|
|
27
|
+
popupStore: a,
|
|
28
|
+
treatPopupAsFloatingElement: n,
|
|
29
|
+
floatingRootContext: a.state.floatingRootContext,
|
|
30
|
+
floatingId: r,
|
|
31
|
+
nested: i,
|
|
32
|
+
onOpenChange: a.setOpen
|
|
33
|
+
}), a;
|
|
34
|
+
}
|
|
35
|
+
function g({ handle: e, store: t }) {
|
|
36
|
+
return r(() => e.attachStore(t), [e, t]), null;
|
|
37
|
+
}
|
|
38
|
+
function _(e, t) {
|
|
39
|
+
let n = f.useRef(null), r = f.useRef(null);
|
|
40
|
+
return f.useCallback((i) => {
|
|
41
|
+
if (e === void 0) return;
|
|
42
|
+
let a = !1;
|
|
43
|
+
if (n.current !== null) {
|
|
44
|
+
let e = n.current, i = r.current, o = t.context.triggerElements.getById(e);
|
|
45
|
+
i && o === i && (t.context.triggerElements.delete(e), a = !0), n.current = null, r.current = null;
|
|
46
|
+
}
|
|
47
|
+
if (i !== null && (n.current = e, r.current = i, t.context.triggerElements.add(e, i), a = !0), a) {
|
|
48
|
+
let e = t.context.triggerElements.size;
|
|
49
|
+
t.select("open") && t.state.triggerCount !== e && t.set("triggerCount", e);
|
|
50
|
+
}
|
|
51
|
+
}, [t, e]);
|
|
52
|
+
}
|
|
53
|
+
function v(e, t, n, r = !1) {
|
|
54
|
+
t ? e.preventUnmountingOnClose = !1 : r && (e.preventUnmountingOnClose = !0);
|
|
55
|
+
let i = n?.id ?? null;
|
|
56
|
+
(i || t) && (e.activeTriggerId = i, e.activeTriggerElement = n ?? null);
|
|
57
|
+
}
|
|
58
|
+
function y(e, t, i, a) {
|
|
59
|
+
let o = i.useState("isMountedByTrigger", e), s = _(e, i), c = n((t) => {
|
|
60
|
+
let n = i.select("open"), r = i.select("activeTriggerId");
|
|
61
|
+
if (r === e) {
|
|
62
|
+
i.update({
|
|
63
|
+
activeTriggerElement: t,
|
|
64
|
+
...n ? a : null
|
|
65
|
+
});
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
r == null && n && i.update({
|
|
69
|
+
activeTriggerId: e,
|
|
70
|
+
activeTriggerElement: t,
|
|
71
|
+
...a
|
|
72
|
+
});
|
|
73
|
+
}), l = f.useCallback((e) => {
|
|
74
|
+
s(e), e && c(e);
|
|
75
|
+
}, [s, c]);
|
|
76
|
+
return r(() => {
|
|
77
|
+
o && i.update({
|
|
78
|
+
activeTriggerElement: t.current,
|
|
79
|
+
...a
|
|
80
|
+
});
|
|
14
81
|
}, [
|
|
82
|
+
o,
|
|
15
83
|
i,
|
|
16
|
-
|
|
84
|
+
t,
|
|
85
|
+
...Object.values(a)
|
|
86
|
+
]), {
|
|
87
|
+
registerTrigger: l,
|
|
88
|
+
isMountedByThisTrigger: o
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function b(e, t = {}) {
|
|
92
|
+
let { closeOnActiveTriggerUnmount: n = !1 } = t, o = f.useRef(null), s = e.useState("open"), c = e.useState("triggerCount"), l = e.useState("activeTriggerId"), u = e.useState("activeTriggerElement");
|
|
93
|
+
r(() => {
|
|
94
|
+
if (!s) {
|
|
95
|
+
o.current = null, e.state.triggerCount !== 0 && e.set("triggerCount", 0);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
let t = e.context.triggerElements.size, r = {};
|
|
99
|
+
e.state.triggerCount !== t && (r.triggerCount = t);
|
|
100
|
+
let c = e.select("activeTriggerId"), l = null;
|
|
101
|
+
if (c) {
|
|
102
|
+
let t = e.context.triggerElements.getById(c);
|
|
103
|
+
if (t) o.current = c, t !== e.state.activeTriggerElement && (r.activeTriggerElement = t);
|
|
104
|
+
else {
|
|
105
|
+
for (let [t, n] of e.context.triggerElements.entries()) if (n === e.state.activeTriggerElement) {
|
|
106
|
+
r.activeTriggerId = t, r.activeTriggerElement = n, o.current = t;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
r.activeTriggerId === void 0 && (o.current === c ? l = c : o.current = null);
|
|
110
|
+
}
|
|
111
|
+
} else o.current = null;
|
|
112
|
+
if (!l && !c && t === 1) {
|
|
113
|
+
let t = e.context.triggerElements.entries().next();
|
|
114
|
+
if (!t.done) {
|
|
115
|
+
let [e, n] = t.value;
|
|
116
|
+
r.activeTriggerId = e, r.activeTriggerElement = n, o.current = e;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
(r.triggerCount !== void 0 || r.activeTriggerId !== void 0 || r.activeTriggerElement !== void 0) && e.update(r), l && n && queueMicrotask(() => {
|
|
120
|
+
if (e.select("open") && e.select("activeTriggerId") === l && !e.context.triggerElements.getById(l)) {
|
|
121
|
+
let t = a(i);
|
|
122
|
+
e.setOpen(!1, t), t.isCanceled || e.update({
|
|
123
|
+
activeTriggerId: null,
|
|
124
|
+
activeTriggerElement: null
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}, [
|
|
129
|
+
s,
|
|
130
|
+
e,
|
|
17
131
|
c,
|
|
18
|
-
l
|
|
132
|
+
l,
|
|
133
|
+
u,
|
|
134
|
+
n
|
|
19
135
|
]);
|
|
20
136
|
}
|
|
137
|
+
function x(e, t, r) {
|
|
138
|
+
let { mounted: i, setMounted: a, transitionStatus: o } = u(e), s = t.useState("preventUnmountingOnClose"), c = !e && s;
|
|
139
|
+
t.useSyncedValues({
|
|
140
|
+
mounted: i,
|
|
141
|
+
transitionStatus: o,
|
|
142
|
+
preventUnmountingOnClose: c
|
|
143
|
+
});
|
|
144
|
+
let l = n(() => {
|
|
145
|
+
a(!1), t.update({
|
|
146
|
+
activeTriggerId: null,
|
|
147
|
+
activeTriggerElement: null,
|
|
148
|
+
mounted: !1,
|
|
149
|
+
preventUnmountingOnClose: !1
|
|
150
|
+
}), r?.(), t.context.onOpenChangeComplete?.(!1);
|
|
151
|
+
});
|
|
152
|
+
return d({
|
|
153
|
+
enabled: i && !e && !c,
|
|
154
|
+
open: e,
|
|
155
|
+
ref: t.context.popupRef,
|
|
156
|
+
onComplete() {
|
|
157
|
+
e || l();
|
|
158
|
+
}
|
|
159
|
+
}), {
|
|
160
|
+
forceUnmount: l,
|
|
161
|
+
transitionStatus: o
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function S(e, n) {
|
|
165
|
+
e.useSyncedValues(n), r(() => () => {
|
|
166
|
+
e.update({
|
|
167
|
+
activeTriggerProps: t,
|
|
168
|
+
inactiveTriggerProps: t,
|
|
169
|
+
popupProps: t
|
|
170
|
+
});
|
|
171
|
+
}, [e]);
|
|
172
|
+
}
|
|
173
|
+
function C(e, t) {
|
|
174
|
+
r(() => {
|
|
175
|
+
!t && e.state.openMethod !== null && e.set("openMethod", null);
|
|
176
|
+
}, [t, e]), r(() => () => {
|
|
177
|
+
e.state.openMethod !== null && e.set("openMethod", null);
|
|
178
|
+
}, [e]);
|
|
179
|
+
}
|
|
21
180
|
//#endregion
|
|
22
|
-
export {
|
|
181
|
+
export { p as FOCUSABLE_POPUP_PROPS, g as PopupHandleAttachment, m as createDefaultInitialFocus, v as setPopupOpenState, b as useImplicitActiveTrigger, x as useOpenStateTransitions, S as usePopupInteractionProps, h as usePopupRootStore, C as usePopupRootSync, y as useTriggerDataForwarding, _ as useTriggerRegistration };
|
|
23
182
|
|
|
24
183
|
//# sourceMappingURL=index267.js.map
|
package/dist/index267.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index267.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open, false);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AASA,SAAgB,EAAsB,GAAY;CAChD,IAAM,EACJ,aAAU,IACV,SACA,QACA,YAAY,MACV,GACE,IAAa,EAAkB,CAAe,GAC9C,IAA0B,EAAsB,GAAK,GAAM,EAAK;CACtE,EAAM,gBAAgB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAkB,IAAI,gBAAgB;EAE5C,OADA,EAAwB,GAAY,EAAgB,MAAM,SAC7C;GACX,EAAgB,MAAM;EACxB;CACF,GAAG;EAAC;EAAS;EAAM;EAAY;CAAuB,CAAC;AACzD"}
|
|
1
|
+
{"version":3,"file":"index267.js","names":["React","REASONS.none"],"sources":["../../../node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useId } from '@base-ui/utils/useId';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { FOCUSABLE_ATTRIBUTE } from \"../../floating-ui-react/utils/constants.mjs\";\nimport { useFloatingParentNodeId } from \"../../floating-ui-react/components/FloatingTree.mjs\";\nimport { useSyncedFloatingRootContext } from \"../../floating-ui-react/hooks/useSyncedFloatingRootContext.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nexport const FOCUSABLE_POPUP_PROPS = {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n};\n\n/**\n * Returns the default `initialFocus` resolver for a popup. When opened by touch it focuses the\n * popup element itself to prevent the virtual keyboard from opening (required for Android\n * specifically; iOS handles this automatically). Otherwise it falls back to the default behavior.\n */\nexport function createDefaultInitialFocus(popupRef) {\n return interactionType => interactionType === 'touch' ? popupRef.current : true;\n}\n\n/**\n * The subset of a popup handle that a Root needs to bind its store to. Both the real handle classes\n * and any test double satisfy it.\n */\n\n/**\n * Creates and owns a popup store on behalf of a Root part. The store is created exactly once, with\n * controlled props and root state synced separately after creation. Sets up the synced floating\n * root context and returns the store.\n *\n * @param createStore Factory that builds the store. Called exactly once, receiving the floating id\n * and whether the popup is nested inside another floating element, both resolved on the first render.\n * @param treatPopupAsFloatingElement Whether the popup element is passed to Floating UI as the\n * floating element instead of the default positioner.\n */\nexport function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n const store = useRefWithInit(() => createStore(floatingId, nested)).current;\n useSyncedFloatingRootContext({\n popupStore: store,\n treatPopupAsFloatingElement,\n floatingRootContext: store.state.floatingRootContext,\n floatingId,\n nested,\n onOpenChange: store.setOpen\n });\n return store;\n}\n\n/**\n * Attaches a Root's store to a handle for this component's committed lifetime. Popup Roots render\n * it before their interactions and user children so its layout effect runs before descendant layout\n * effects. This lets descendants call the handle during the Root's initial commit without attaching\n * during render, which would leak suspended or abandoned stores. Store subscribers are notified by\n * `attachStore` in this ordinary layout phase, where React permits synchronous updates.\n *\n * Popup Roots must render this component only when a handle is present so handle-less Roots avoid\n * mounting an extra fiber and layout effect.\n */\nexport function PopupHandleAttachment({\n handle,\n store\n}) {\n useIsoLayoutEffect(() => {\n return handle.attachStore(store);\n }, [handle, store]);\n return null;\n}\n\n/**\n * Returns a callback ref that registers/unregisters the trigger element in the store.\n *\n * @param store The Store instance where the trigger should be registered.\n */\nexport function useTriggerRegistration(id, store) {\n // Keep track of the currently registered element to unregister it on unmount or id change.\n const registeredElementIdRef = React.useRef(null);\n const registeredElementRef = React.useRef(null);\n return React.useCallback(element => {\n if (id === undefined) {\n return;\n }\n let shouldSyncTriggerCount = false;\n if (registeredElementIdRef.current !== null) {\n const registeredId = registeredElementIdRef.current;\n const registeredElement = registeredElementRef.current;\n const currentElement = store.context.triggerElements.getById(registeredId);\n if (registeredElement && currentElement === registeredElement) {\n store.context.triggerElements.delete(registeredId);\n shouldSyncTriggerCount = true;\n }\n registeredElementIdRef.current = null;\n registeredElementRef.current = null;\n }\n if (element !== null) {\n registeredElementIdRef.current = id;\n registeredElementRef.current = element;\n store.context.triggerElements.add(id, element);\n shouldSyncTriggerCount = true;\n }\n if (shouldSyncTriggerCount) {\n const triggerCount = store.context.triggerElements.size;\n if (store.select('open') && store.state.triggerCount !== triggerCount) {\n store.set('triggerCount', triggerCount);\n }\n }\n }, [store, id]);\n}\nexport function setPopupOpenState(state, open, trigger, preventUnmountOnClose = false) {\n if (open) {\n // Opening starts a new close cycle, so clear any previous request to keep the popup mounted.\n state.preventUnmountingOnClose = false;\n } else if (preventUnmountOnClose) {\n state.preventUnmountingOnClose = true;\n }\n const triggerId = trigger?.id ?? null;\n\n // If a popup is closing, the `trigger` may be undefined.\n // We want to keep the previous value so that exit animations are played and focus is returned correctly.\n if (triggerId || open) {\n state.activeTriggerId = triggerId;\n state.activeTriggerElement = trigger ?? null;\n }\n}\nexport function attachPreventUnmountOnClose(eventDetails) {\n let preventUnmountOnClose = false;\n eventDetails.preventUnmountOnClose = () => {\n preventUnmountOnClose = true;\n };\n return () => preventUnmountOnClose;\n}\n\n/**\n * Runs the shared open-change sequence for a popup store: notifies `onOpenChange`,\n * honors cancellation, dispatches the floating root change, maps the reason to an\n * `instantType`, and commits the state update (synchronously for hover so\n * `getAnimations()` observes it). Stores supply their own differences via\n * `extraState` (e.g. the last change reason) and `onBeforeDispatch` (e.g. updating\n * inline-rect coordinates).\n */\nexport function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {\n const reason = eventDetails.reason;\n const isHover = reason === REASONS.triggerHover;\n const isFocusOpen = nextOpen && reason === REASONS.triggerFocus;\n const isDismissClose = !nextOpen && (reason === REASONS.triggerPress || reason === REASONS.escapeKey);\n const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);\n store.context.onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n options.onBeforeDispatch?.();\n store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const changeState = () => {\n // Spread `extraState` first so `open` always reflects `nextOpen`, keeping it in\n // sync with the value already passed to `dispatchOpenChange`/`setPopupOpenState`.\n const updatedState = {\n ...options.extraState,\n open: nextOpen\n };\n if (isFocusOpen) {\n updatedState.instantType = 'focus';\n } else if (isDismissClose) {\n updatedState.instantType = 'dismiss';\n } else if (isHover) {\n updatedState.instantType = undefined;\n }\n setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());\n store.update(updatedState);\n };\n if (isHover) {\n // Flush synchronously for hover so `node.getAnimations()` sees the new state.\n ReactDOM.flushSync(changeState);\n } else {\n changeState();\n }\n}\n\n/**\n * Sets up trigger data forwarding to the store.\n *\n * @param triggerId Id of the trigger.\n * @param triggerElementRef Ref for the trigger DOM element.\n * @param store The Store instance managing the popup state.\n * @param stateUpdates An object with state updates to apply when the trigger is active.\n */\nexport function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) {\n const isMountedByThisTrigger = store.useState('isMountedByTrigger', triggerId);\n const baseRegisterTrigger = useTriggerRegistration(triggerId, store);\n\n // Applies trigger-owned state (active-trigger ownership and payload) when the trigger registers.\n // Stable so payload/`stateUpdates` changes do not change the ref identity (which would needlessly\n // churn registration); it reads the latest closure values when invoked.\n const applyTriggerData = useStableCallback(element => {\n const open = store.select('open');\n const activeTriggerId = store.select('activeTriggerId');\n if (activeTriggerId === triggerId) {\n store.update({\n activeTriggerElement: element,\n ...(open ? stateUpdates : null)\n });\n return;\n }\n if (activeTriggerId == null && open) {\n // If a popup is already open, a detached trigger can mount before any active trigger\n // has been established. Claim the first registered trigger so trigger-owned focus\n // management and ARIA relationships work.\n store.update({\n activeTriggerId: triggerId,\n activeTriggerElement: element,\n ...stateUpdates\n });\n }\n });\n\n // Intentionally NOT stable. Its identity is derived from `baseRegisterTrigger`, which is keyed on\n // `[store, id]`, so when a handle-backed trigger's store pointer swaps the merged ref re-fires —\n // unregistering from the previous store and registering into the new one. This lets a detached\n // trigger follow its handle's currently-attached store across attach/detach/remount. (A stable\n // callback would keep its identity and never re-fire on a store swap.)\n const registerTrigger = React.useCallback(element => {\n baseRegisterTrigger(element);\n if (element) {\n applyTriggerData(element);\n }\n }, [baseRegisterTrigger, applyTriggerData]);\n useIsoLayoutEffect(() => {\n if (isMountedByThisTrigger) {\n store.update({\n activeTriggerElement: triggerElementRef.current,\n ...stateUpdates\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);\n return {\n registerTrigger,\n isMountedByThisTrigger\n };\n}\n/**\n * Keeps trigger registration state synchronized while the popup is open.\n *\n * When a popup opens without an explicit trigger id and exactly one trigger is registered, that\n * trigger is claimed as the active trigger. When the active trigger id is still registered but its\n * element changed, the active element is refreshed. When the active trigger id is missing from the\n * registry but the same element is still registered under a different id (e.g. the rendered trigger\n * carries its own DOM `id` that differs from Base UI's internal trigger id), the active id is\n * reassociated to the registered id instead of being treated as lost. When the active trigger\n * unregisters, the default path preserves existing ownership so non-closing popup families do not\n * silently claim a different trigger while staying open.\n *\n * If `closeOnActiveTriggerUnmount` is enabled, unregistering a previously resolved active trigger\n * requests a close after a microtask so a same-tick replacement trigger with the same id can\n * register first. An active trigger id that has not matched a registered trigger yet is treated as\n * pending and does not request a close.\n *\n * This should be called on the Root part.\n *\n * @param store The Store instance managing the popup state.\n * @param options Options for active trigger unmount behavior.\n */\nexport function useImplicitActiveTrigger(store, options = {}) {\n const {\n closeOnActiveTriggerUnmount = false\n } = options;\n // Distinguishes a trigger that unmounted from a new active trigger that has not hydrated yet.\n const resolvedActiveTriggerIdRef = React.useRef(null);\n const open = store.useState('open');\n const reactiveTriggerCount = store.useState('triggerCount');\n // Subscribe to the active trigger id so the reconciliation below reruns when ownership moves to\n // another trigger while the popup stays open (e.g. a focus/hover handoff between triggers).\n const activeTriggerId = store.useState('activeTriggerId');\n // Subscribe to the active trigger element so the reconciliation reruns when a pending active\n // trigger registers in a commit where the trigger count nets out unchanged (registration\n // forwards the element to the store when the registering trigger matches the active id).\n // Without this, the id would never be marked resolved and a later genuine unmount would be\n // misclassified as pending, disabling `closeOnActiveTriggerUnmount`.\n const reactiveActiveTriggerElement = store.useState('activeTriggerElement');\n useIsoLayoutEffect(() => {\n if (!open) {\n resolvedActiveTriggerIdRef.current = null;\n if (store.state.triggerCount !== 0) {\n store.set('triggerCount', 0);\n }\n return;\n }\n const triggerCount = store.context.triggerElements.size;\n const stateUpdates = {};\n if (store.state.triggerCount !== triggerCount) {\n stateUpdates.triggerCount = triggerCount;\n }\n const currentActiveTriggerId = store.select('activeTriggerId');\n let lostActiveTriggerId = null;\n if (currentActiveTriggerId) {\n const activeTriggerElement = store.context.triggerElements.getById(currentActiveTriggerId);\n if (!activeTriggerElement) {\n for (const [triggerId, triggerElement] of store.context.triggerElements.entries()) {\n if (triggerElement === store.state.activeTriggerElement) {\n stateUpdates.activeTriggerId = triggerId;\n stateUpdates.activeTriggerElement = triggerElement;\n resolvedActiveTriggerIdRef.current = triggerId;\n break;\n }\n }\n if (stateUpdates.activeTriggerId === undefined) {\n if (resolvedActiveTriggerIdRef.current === currentActiveTriggerId) {\n lostActiveTriggerId = currentActiveTriggerId;\n } else {\n resolvedActiveTriggerIdRef.current = null;\n }\n }\n } else {\n resolvedActiveTriggerIdRef.current = currentActiveTriggerId;\n if (activeTriggerElement !== store.state.activeTriggerElement) {\n stateUpdates.activeTriggerElement = activeTriggerElement;\n }\n }\n } else {\n resolvedActiveTriggerIdRef.current = null;\n }\n if (!lostActiveTriggerId && !currentActiveTriggerId && triggerCount === 1) {\n const iteratorResult = store.context.triggerElements.entries().next();\n if (!iteratorResult.done) {\n const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;\n stateUpdates.activeTriggerId = implicitTriggerId;\n stateUpdates.activeTriggerElement = implicitTriggerElement;\n resolvedActiveTriggerIdRef.current = implicitTriggerId;\n }\n }\n if (stateUpdates.triggerCount !== undefined || stateUpdates.activeTriggerId !== undefined || stateUpdates.activeTriggerElement !== undefined) {\n store.update(stateUpdates);\n }\n if (lostActiveTriggerId) {\n if (closeOnActiveTriggerUnmount) {\n // Defer so a same-tick replacement trigger with the same id can register first.\n queueMicrotask(() => {\n if (store.select('open') && store.select('activeTriggerId') === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) {\n const eventDetails = createChangeEventDetails(REASONS.none);\n store.setOpen(false, eventDetails);\n // If closing is canceled, keep the previous active trigger ownership for the\n // still-open popup instead of claiming another trigger implicitly.\n if (!eventDetails.isCanceled) {\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null\n });\n }\n }\n });\n }\n }\n }, [open, store, reactiveTriggerCount, activeTriggerId, reactiveActiveTriggerElement, closeOnActiveTriggerUnmount]);\n}\n\n/**\n * Manages the mounted state of the popup.\n * Sets up the transition status listeners and handles unmounting when needed.\n * Updates the `mounted`, `transitionStatus`, and `preventUnmountingOnClose` states in the store.\n *\n * @param open Whether the popup is open.\n * @param store The Store instance managing the popup state.\n * @param onUnmount Optional callback to be called when the popup is unmounted.\n *\n * @returns A function to forcibly unmount the popup.\n */\nexport function useOpenStateTransitions(open, store, onUnmount) {\n const {\n mounted,\n setMounted,\n transitionStatus\n } = useTransitionStatus(open);\n const preventUnmountingOnClose = store.useState('preventUnmountingOnClose');\n // Opening starts a new close cycle. Clear during render so the close-completion hook below\n // reads the synchronized value on the same pass.\n const syncedPreventUnmountingOnClose = open ? false : preventUnmountingOnClose;\n store.useSyncedValues({\n mounted,\n transitionStatus,\n preventUnmountingOnClose: syncedPreventUnmountingOnClose\n });\n const forceUnmount = useStableCallback(() => {\n setMounted(false);\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null,\n mounted: false,\n preventUnmountingOnClose: false\n });\n onUnmount?.();\n store.context.onOpenChangeComplete?.(false);\n });\n useOpenChangeComplete({\n enabled: mounted && !open && !syncedPreventUnmountingOnClose,\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (!open) {\n forceUnmount();\n }\n }\n });\n return {\n forceUnmount,\n transitionStatus\n };\n}\nexport function usePopupInteractionProps(store, statePart) {\n store.useSyncedValues(statePart);\n useIsoLayoutEffect(() => () => {\n store.update({\n activeTriggerProps: EMPTY_OBJECT,\n inactiveTriggerProps: EMPTY_OBJECT,\n popupProps: EMPTY_OBJECT\n });\n }, [store]);\n}\nexport function usePopupRootSync(store, open) {\n useIsoLayoutEffect(() => {\n if (!open && store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [open, store]);\n useIsoLayoutEffect(() => () => {\n if (store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [store]);\n}"],"x_google_ignoreList":[0],"mappings":"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"}
|